Finally finished and checked-in the big javascript overhaul I've been toiling away on for the past 3 months.
- removed jQuery, Mootools, and YUI frameworks
- rewrote everything in Google Closure
Why did I bother? Two reasons: First, I needed Closure's vector-graphics module for an upcoming project I have in mind (super photo-tagging). Second, if you prepare your code properly, you can use Google's javascript compiler, which renames all the variables to be smaller, rewrites your code to be leaner and more efficient, and most importantly, strips out any code that is never called. Before I did all this, shmax.com would load about 1.5mb of javascript on a clean cache. Now, we're down to 345k. That's a 73% reduction, which doesn't suck.
Along the way, I had to rewrite everything ( as well as build a brand-new lightbox feature from scratch), so there will be some bugs and side effects. Several have already been reported and fixed, and there are a few I haven't been able to fix yet:
- the "photo picker" widgets on the record update pages have gone screwy
- you now have to click on the little white arrows up in the top navigation bar to make the submenus appear. This isn't really a bug so much as a half-baked feature. We'll have to decide if it was better the old way, or if this functionality makes more sense (modern wisdom suggests that hover-driven menus are bad, because of touch devices). If the latter, then I'll try to dress it up a bit better.
Anyway, keep an eye out for bugs, and be sure to report them as you see 'em.