Performance Calendar

It’s almost New Year’s Day – a time to reflect on the year that has passed and envision what lies ahead. And since this is the Performance Calendar the topic at hand is web performance. Here’s my look back at 2010 and predictions for 2011.

Website owners have been adopting performance best practices (gradually) for several years. WPO startups have arrived to facilitate this adoption. Today there are a number of companies from which speed-searching website owners can choose:

Many of these companies are offering web acceleration as a cloud service. This makes it easy for clients to adopt (just make a DNS change) and opens the door to other optimization services. I’ll be watching the adoption of this service model.

In addition to the commercial services offered from WPO startups, there are many popular open source alternatives. For web acceleration mod_pagespeed was recently announced. Particular attention must be paid to the two workhorses of open source WPO: WebPagetest and Show Slow.

With website owners adopting performance best practices, attention in 2010 shifted to third party snippets (ads, widgets, and analytics). I wrote a series of blog posts called P3PC that kicked things off by reviewing some popular widgets. The focus on third party performance is important as web apps increase in complexity with these external dependencies. We’re already seeing improvements such as the Google Analytics async snippet, plans to do the same for Google AdSense, and an optimized Meebo Bar.

2011

When it comes to measuring performance, the W3C Web Performance Working Group is planning on following up on the Navigation Timing specification with specifications for resource timing and user timing (for custom events). These are needed, but even when all three specifications are completed and implemented we’ll still need the ability to measure some of the most important parts of page performance such as JavaScript execution and rendering. The challenge is measuring these low-level processes in a way that is comparable across browsers without introducing an observer effect. In addition to visibility into the internal browser processes, we’re also going to need to measure the browser in terms of CPU and memory consumption.

Overall web performance is primarily measured relative to the window load event, but we all know this is a poor substitute for what we truly want to measure: the user’s perception of page speed. I’ve talked to people who have worked on alternative measures of perceived page performance including above-the-fold rendering time, time to user action (scroll, click, etc.), and time to complete a task. As web apps become more complex it’s important to have better instrumentation in the browser coupled with a better definition of what to measure.

Performance continued to be a primary focus for browser vendors through 2010. But the true impact of many advances was clouded by the lack of relevant benchmarks. The Velocity presentation on JSMeter does a great job of highlighting how current benchmarks don’t measure what’s important for real websites. Most people agree that today’s benchmarks are lacking real world relevance. Development of better benchmarks will allow browser vendors to focus on what matters the most and users will be able to pick browsers that perform the best for them.

The biggest web performance area for growth in 2011 is mobile. Just a few days ago pcapperf was announced. This is the first tool I’m aware of that gives developers the ability to generate accurate (non-proxy) HTTP waterfall charts from mobile browsers. But this is just the start – we still need the ability to profile JavaScript, rendering, connection reuse, etc. on mobile browsers just as we do for desktop web development.

And last but not least: ads. There are two main parts to ads: the ad framework (owned by DoubleClick, etc.) and the ad content (owned by the creative agency). I hope to see focus from the major ad networks on their frameworks, and was pleased to see Google AdSense announce their work in this area and a proposed approach from Kyle Scholz. We need to get all the ad frameworks to rollout better (asynchronous) snippets for delivering ads. It’s going to be a harder job to reach the larger number of creative agencies out there. Depending on how the ad framework is implemented, publisher content and ad content could be decoupled so one doesn’t affect the other.

What’s on your list?

That’s my summary of this year in web performance. The highlights of 2010 for me were the emergence of WPO as an industry, establishment of the W3C Web Performance Working Group, strength of open source tools, adoption of the HAR format, and increased awareness of the impact of third party content. In 2011 I’m looking forward to better browser benchmarks and instrumentation, mobile tools and best practices, and faster ads. But the list is much longer than this blog post – I didn’t even mention separation of script downloading and execution, HTML5 pros and cons, improvements to browser caching, and TCP and SSL optimizations. What did you think was important in 2010 and where will the big gains come from in 2011? I think we’ll agree on one thing – the only direction to go in is faster.