In 2006, O'Reilly published Cal Henderson's Building Scalable Web Sites, teaching readers what Flickr had learned on its way from small site to cultural icon. Last year, O'Reilly released High Performance Web Sites, Steve Souders' tour de force of fourteen rules for accelerating your web sites while reducing the load they put on your servers. This week, we're releasing Andrew King's Website Optimization. What's the difference between these, and who should buy which?
"Optimization" is a broader term than "High Performance" or "Scalability". While performance is part of an optimized web site, scalability problems are a difficulty that many people would like to have because they suggest (unless you've written incredibly bad code) that you have lots of visitors on your site. Similarly, performance is something that matters more as there are more visitors, and is one aspect of both scalability and optimization. Optimization means making the most out of your site, and includes many techniques which aren't strictly focused on moving data from the server to the browser as efficiently as possible.
Website Optimization starts out with the hard question of "how do I get people to visit my site?" Search engine optimization (SEO) and marketing (SEM) are a key part of that. Next, there's "how do I draw visitors with advertising, and have them actually look?" Optimizing the returns on pay-per-click requires a lot more work than just buying some keywords. Then there's the hard question of "how do I get people who visit my site to actually, um, buy something?" That gets into conversion rate optimization - you want to make sure that people actually use your services once they find your site.
If you're in charge of making sure a site flies for users while minimizing your costs, definitely start with High Performance Web Sites. Its sharp focus on your needs will help you make your operations efficient - efficiently. The Fourteen Rules are concise, easily shared across technical teams, and an effective way to leap forward. It emphasizes the pieces that front-end engineers need to get just right - from the organization of each page, to the organization of the site into pages and servers, to the details of HTTP headers and distributing content across networks.
If you know that you're setting out to build a web site that will draw an audience of millions, Building Scalable Web Sites is a must-have. Its focus on architecture, data integrity, and the challenges of ramping up an application smoothly will help you design and build your application right the first time, minimizing costly changes or worse, collapse.
On the other hand, if you're looking for a broader book on how to make your web site encourage users to do what you want, Website Optimization is probably the right place to start - with High Performance Web Sites as a follow-up when you need that focus on speed and Building Scalable Web Sites as a supplement if you think you might have millions of visitors.
I'll be delighted if some folks end up with all three of these on their bookshelves - depending on your needs, it's possible that you need all of them. But the path you take toward that full bookshelf depends very much on the nature of your projects, and your role within them.