If the Meebo Bar is slow, hundreds of unforgiving partner websites and hundred of millions of users are affected. However, time spent on optimization is time away from feature development, and if we fall short on feature parity we lose market share to our competitors. As a result, it is crucial that we make good decisions about what and when to optimize. “Building Fast Webapps, Fast” tells stories of good and bad decisions we have made when faced with performance challenges for the Meebo Bar. Interlaced with high level optimization guiding principles, it is intended to be a fast-paced and fun story of how to take ownership of your web product’s performance.
Many developers and entrepreneurs will be at Velocity 2010 because they understand the importance of their web applications to be lightning fast. However, a competitive everyday reality will often force us to prioritize building web applications fast over building fast web applications. Striking a balance between the two is a continuous challenge for any business trying to make it in a crowded web space. Lose yourself in optimization, and your competitors will run circles around your feature set. Build an unscalable architecture, and you will find yourself hitting unexpected brick walls both left and right.
“Hypothesize, Experiment, Optimize” - Who knew smileys could be so slow? Premature optimization is the root of all evil. To avoid deep and dark rabbit holes when optimizing, it helps to have a rigorous methodology for finding and eliminating bottle necks. Start out by hypothesizing what you think is slowing down your web application. Then perform an experiment to show that you were right or wrong. When you are dead certain that you know what the bottleneck is and how to eliminate it you can start the actual optimization. Not a moment before.
“Optimize in Isolation” - Making buddylists with thousands of buddies scroll fast. This one follows as a conjecture to Hypothesize, Experiment, Optimize. When performing your experiments, set up test environments that eliminate as many variables as possible. Recreate the problem on a blank page, and confirm that your optimization strategy works. Once the problem is conceptually solved, integrating the solution into the production code base will be much easier.
“Just In Time Optimization” - Building the Meebo Bar To round it all off, this meta-principle is meant to show that the optimization guidelines apply to you as well as your code. Just In Time Code tells us our code can wait with its work until its necessary – similarly, we as coders and product managers need to not spend time optimizing things that are not a problem. Architecture with foresight can prevent pitfalls down the road. However, you never know what road you end up going down.
We need best practices to guide us along the way of web application optimization. While building the Meebo Bar the simple advice “do less” has come up in many shapes and forms, from making long buddy lists scroll fast to persisting a static UI element with lots of state across page views. Learn the ways in which to do less and take ownership of your web application’s performance, by making good decisions about when and what to optimize
Comments on this page are now closed.
For information on exhibition and sponsorship opportunities at the conference, contact Yvonne Romaine at firstname.lastname@example.org
Download the Velocity Sponsor/Exhibitor Prospectus
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the Velocity Conference bulletin (login required)
View a complete list of Velocity contacts