An Asset Management System for Lasso Powered Sites
At the 2008 Lasso Developer Conference in Chicago, I presented a paper entitled Server Side Techniques for Client Side Optimization, in which I reviewed the original 13 Rules For Making Web Sites Fast from Yahoo!’s Exceptional Performance Team. These rules quickly became the seminal document on the topic of client side optimization and have since been expanded to include (at the time of this writing) 37 rules across 7 categories. They also became the basis for the performance tests used by the YSlow add-on for Firebug, which is a great tool for evaluating the performance of your site.
The second half of my presentation described an asset management system for Lasso which manages the JavaScript and CSS files used throughout the site, automating many of the aforementioned best practices by handling the concatenation, minification (via YUI Compressor), compression, caching, and integration of JavaScript and CSS files. The system is designed to be adaptable to any Lasso framework or codebase without substantially impacting existing workflows, and can easily be partially or completely disabled for debugging purposes.
Even though some of the convenience features of the system are relatively fresh code, and suffer from at least one minor bug (discovered while helping Tami Williams integrate the system into the LassoFuseBox framework), the core components of this system have now been deployed several times over in production sites and work beautifully together. The following graph displays the average savings in response time, bytes transferred, and total number of requests from one of my code samples:

Video of my presentation (as well as the others) should be available in the near future. In the meantime, now that the conference is over, I am making my paper, code samples, and slides available for download:
Documentation for the individual tags that make up the system is available at tagSwap.net. Be sure to check there for any future updates and/or bug fixes.
The slides can be viewed (and downloaded) via SlideShare:







