UI and javascript, we make good team

So I sit here, revitalized by the fact that I got to take my first shower in my revamped bathroom.  Granted, the curtain is not new, the rod needs to be replaced, the floor is still plywood, the walls are still cracked plaster and the light/fan is still falling out, but the shower is usable.  We debated over what type of new curtain rod to get, I was worried that the tension rod is going to mess up the tile, but in the end, I’m leaning toward that rather than having to drill and set a permanent rod in.  There’s still time to change my mind though.

Today, I tackle an old project, one that I really enjoyed, even though it took a really long time to do.  Our client Chains and Charms has a pretty cool bracelet builder that we’re revamping to look a little prettier and be more informative.  The problem is, that at the time, there wasn’t much in the way of fancy javascript user interfaces (UI).  There was scriptaculous, interface and yahoo YUI.  All of these were just in the beginning stages of being written, and there also wasn’t a lot of coding help with people trying to figure out new things to do with them.  In any case, using these javascript libraries to create a drag and drop builder was no small task.  It took many weeks to get it done, with an impatient David switching us to Flash and then back when that was taking too long.  Eventually we went with Yahoo UI because it had the most widely used javascript library. 

I took a look at the code yesterday and cringed.  All the AJAX calls are hand written, all the DOM is clumsy.  I debated whether to update the code to my now favorite jQuery and jQuery UI.  So I did, and I got about half way through and cut out a good half of the code and required javascript files.  Now it’s not done, but I think it will be better.  Custom programming in jQuery is so much easier than any other javascript library that I’ve worked with.  I’m sure some of the others since I’ve worked with jQuery are just as good, perhaps better, but at the moment, it’s the best for me, and I don’t really have time to go learning new libraries when most of my work is just standard ColdFusion programming.