A lot is being made of web performance optimization lately, so much so that it has become an acronym (WPO) and companies are sprouting up offering web performance consulting services. O’Reilly’s Velocity Conference, now in its fourth year, is devoted entirely to web performance issues.
Drupal core itself takes care of some of these issues on its own; for example, aggregating CSS is done to enhance page speed by reducing the number of HTTP requests being made. There is even a Drupal module in development that aims to collectively solve most WPO issues, as well as several modules that try to improve a particular aspect of the web delivery experience.
Learning How To Develop High Performance Web Sites
We're not going to get into technical detail in this post on the implementation of WPO techniques, but there is a lot of good information out there. Steve Souders has been the primary evangelist for web performance for many years (and much of the information in this post is directly indebted to him). He collected the original set of recommendations that formed the foundation for the YSlow tool, available for both Firefox and Chrome.
These recommendations were collected into High Performance Web Sites; this was followed a couple of years later by Even Faster Web Sites, which is the result of further research and input from several other leaders in the field. Both of these books belong on the bookshelf of any serious web developer.
Getting Everyone On Board
Technical issues are only half the problem, however. Some WPO recommendations can be implemented as-you-go, without incurring any costs. Some, however, take time and thought to implement correctly. Others, like using a content distribution network, have infrastructure costs associated with them.
These costs are generally not hard for developers and other technically-oriented people to justify. High performing web sites are cool! Look at how fast that loads, bam!
Unfortunately, technically-oriented people are rarely the ones holding the purse strings. Often a client or organization will want development costs broken down and itemized, and infrastructure is an ongoing expense that the client is well aware of. It can be hard to convince a client that they should spend money to optimize for speed.
This also assumes that this is a new project; imagine telling upper management or a client that your developers are going to spend three months working and deliver no new features. It can be difficult to get people on board with that.
So, you have to sell speed. It doesn't have the immediate stakeholder appeal of, say, rounded corners or Facebook integration. Fortunately, there are more proponents of high performing websites than there used to be, and there are bodies of research that support the idea that speed is important.
Fast Websites Keeps Your Users Coming Back
In 2010 Fred Wilson, a New York-based tech investor, stated:
First and foremost, we believe that speed is more than a feature. Speed is the most important feature. (source)
Numerous studies support the idea that users value speed. Experiments with delaying speed show a decrease in both user satisfaction and site use. A Microsoft study delayed Bing search page returns by different amounts; a delay of 2 seconds resulted in -4.4% click-throughs.
A Yahoo! study which delayed pages by only 400 ms showed a 5-9% drop in full-page traffic. Other studies show that you can make a user wait for about 1 second before their train of thought begins to get interrupted and they lose interest.
Losing users means losing conversions and losing revenue. This assumes that the users even find your site; Google announced in 2010 that they are starting to take site speed into account as a factor when ranking search results. In short, while a client may not think that a 1 second reduction in page speed sounds impressive, they very clearly understand decreases in user numbers and increases in revenue.
Web Performance Optimization Keeps Your Costs Down
While some web performance recommendations require some infrastructure investment, others can directly lower infrastructure costs. Netflix saw a 50% decrease in outgoing network traffic on their website simply by compressing their outgoing HTML.
Setting your site dependencies to cache properly can also result in significantly decreased outgoing traffic. This can directly affect your hosting costs, which is generally something that clients and organizations understand and appreciate.
Saving Money By Making Your Developers Happy
There is also another kind of speed to take into consideration: speed of development time. It is a web development cliche (and was almost literally true until recently) that as a developer you spend 40% of your time making a site, and 60% of your time making it work in IE6.
In his talk at the SF jQuery Conference, Nicholas Zakas showed that for a given period, his team had devoted 40% of its time to issues related to IE6 & 7 even though IE6 & 7 only represented 19% of their traffic. This is not necessarily a good use of anyone's time.
Nicholas pointed out that it might be time to look at how much time we spend trying to get a site to look and function the same everywhere; but, it can be difficult to convince people that it is reasonable for a web site to display differently on different browsers. Ideas of progressive enhancement and graceful degradation can be easier to sell with numbers behind them, however, because the numbers translate directly into tangible costs.
Speed Is Good For Everyone
Web performance is a win for everybody. Web developers like it because web developers like making awesome sites, generally. Users like it because it improves their experience and makes them want to use a site more. And, increasingly, web site owners are coming on board; it's easier all the time to convince them that a fast site is a valuable site to their users and them financially. Fast sites keep users coming back for more.