Akamai Diversity

The Akamai Blog

Web performance: Why one size doesn't fit all

When considering web performance, it's tempting to think that the user experience on any given site or application will be fairly consistent. The reality? Performance is impacted by different variables and ensuring that all users have the best possible experience requires hard work. For example, a desktop machine running IE 9 over a cable connection will offer a different user experience compared to a Macbook running Safari through public Wi-Fi, and both of those are different from an Android smartphone on 3G. Each has different connectivity characteristics and idiosyncrasies when it comes to rendering content.

It's not easy to ensure that your website performs well in the different situations I've described, and the typical end-user simply doesn't care about how hard it is to ensure stellar performance across the broad spectrum of web experiences. A user hitting your site from a smartphone expects the same great experience as if they were connecting from home or work. This is true despite the fact that each set of circumstances is radically different.

As pages get bigger, our performance expectations get higher
Pages are growing, and they're growing quickly. In the last two years the average web page has gone from about 700 to 1,100 kilobytes, all-in. This is a 57% increase in size.

And user expectations? They're going the other way. In 2006, we were OK with waiting 4 seconds for a page to load. By 2009 we got antsy at 3 seconds. Today we see that a 300 millisecond bump in page load time can lead to revenue impact.

Although we have seen massive growth in the richness of web content, data indicates that users expect pages to load faster than ever before.
Crowded playing field
To make things extra spicy, we've seen an explosion in the number of different browsers in use out in the wild. In the beginning of 2006, 90% of Internet users used one type of browser. Today, to get coverage of 90% of the user-base, we need to look at a minimum of four major browser types. If you want to look at major versions (and you should, because IE 7 performs differently than IE 8 performs differently than, well, you get the picture), the playing field gets heavily fragmented:


And what about connectivity?
Latency and bandwidth drastically impact web performance, and the difference in performance between the fastest and slowest network types is huge.

For our corporate home page alone, we saw an almost 50% difference in load time for users on a DSL connection as compared to users on cable, and an even bigger swing for users on mobile networks:


So what's the situation?
At the intersection of browser, connectivity, and device, we have several distinct performance "situations" we need to be cognizant of. Which situation we're looking at changes the performance equation, and more importantly it changes what can (and should) be done to improve load time and user experience.

Which situations do you need to worry about? Which do you optimize for? Can you improve performance for one user without degrading performance for the others?

These are tough questions to answer, and look to get tougher down the line as current trends continue.

We want it and we want it now!
We all know what it's like to be web content consumers. We flat out expect fast browsing experiences--period! We may know intellectually that squeezing a megabyte of content through a high latency, low bandwidth mobile connection is non-trivial but we just don't care. If a page loads too slowly, we get frustrated. We may hit reload a few times in a row. But most likely, we'll abandon the transaction and go to a competitor's website.

Tailoring a modern, content-rich website to the broad range of performance situations found in the wild is a daunting task, but as the web evolves it is becoming more important than ever.

Web performance is not a one-size-fits-all solution anymore, and our approach to web performance increasingly requires intelligence that reflects this growing need.

Assaf Kremer is a product manager at Akamai