Sunday, March 9, 2008

The demon in the details

The group has mostly been rushing the project for all of today. I spent most of my time making the edit page more useable, but when you start thinking about usability and curbing the user's ability to screw up the system, it ends up being a lot of work. Moreover, sometimes, you might hit your head against a wall for hours trying to think of a solution to make a site look better, more accessible... but it never seems to work out exactly the way you want it to. It kind of nags at the back of your mind that it can be better, but you don't know what can make it better.

Outside libraries that other people have provided are nice, things like prototype, scriptaculous... etc.. but the problem with javascript being able to tie everything in together is that you end up reusing common method names or variables... and sometimes it just doesn't work because you didn't write it yourself. Since I've been in C.S. a while, I've gotten used to knowing every inch of my code like the back of my hand. Magic makes me nervous and 'trust me the library does it' makes me nervous because -from experience- they never really do what you think they do. I do find ruby to be a nice language, but I admit there's still enough magic going on in it that I still feel nervous working with it. I don't regret learning it, because I'm sure if one day I need to make a website on the fly, I know that ruby can do the job. But for long term, large company, enterprise projects, I'm not so sure if ruby will be suitable. Either way, I always enjoy learning new things, and I've realized that getting ruby to work locally is much easier than playing around with php and apache for hours without any results.

Polishing is one of those things in a project that always drives me crazy. Not because I hate it, but because I'm kind of OCD about it, even if it's fine, I can't let it go, I don't know when or how to stop and sometimes I just burn out until the last minute before a turnin. I enjoy building things and working with the project, but I always have places to nitpick and I think everyone can see the flaws that I do, but usually they don't... usually they aren't even flaws at all, and maybe it's all the product of a very exhausted, not entirely sane mind at the end of the day.

Monday, March 3, 2008

Cogs121

Oh man, I was so caught up in the project that I completely forgot that I had to blog about it. So, at the moment, we've got a lot of application on the server side properly storing/editing/deleting information. I've been making user interface adjustments for readability and general ease of use. So far, we're kind of stuck on how to make setting times/hours for hours of operation easier. But so far, no luck. Making it all nice and hands with analog clocks and slide bars seemed like a good idea, until we realized that generally people aren't very accurate when it comes to setting those things -Even on real clocks. So far, we're just going to have a slide select option sort of input, it seems like the least prone to error. I have to work on handling situations where the store's hours exceed midnight without having to deal with some nonsense having to mess with actual days of the week. I was thinking about a past midnight option button, but Marc thinks it's a bit awkward, like you're telling the user they have to think about how it's going to be past midnight. So, we're back to brainstorming. Hopefully something will come up, Microsoft's way of inserting typed input with up down keys is an options, but I know that Marc has a bit of disdain associated with anything Microsoft... yeah, but really, can you blame him? Anyways, the interface stuff is really fun, I actually wished my job was doing this instead of dealing with nonsense C# code and .Net. Someone needs to start telling small businesses to stop believing that Microsoft will just magically take care of everything. Because seriously php or ruby would have save them so much time and money.

Speaking of ruby, it's pretty cool because of all the classes that are already built in, although their 'magic' links make me a bit nervous, when I first looked at it, I spent an hour and a half trying to find out where the path had been set. It wasn't until later I realized that it had been created statically 'in' the system. probably using a special command... I'm not sure if I really want to know. Besides that little bump in the road, it has generally been pretty good. We're pretty close to being on schedule due to Marc's mad skillz with ruby. This is nice, knowing someone that is really competent is working in the same group as you, at least I'm not going to pull 3000 lines of code in 3 days like that disastrous fiasco in my web server class. Sometimes you get lucky and you get good group dynamics, sometimes you don't... I really wish more of the former happened to me while at UCSD. It would have saved a lot of sleepless weeks.