Tuesday, February 9th, 2010

The Ajax Experience 2009 Wrap-up: Web Compatibility and Performance Testing in a Multi-Browser World

1

Author: Buddy Brewer

Web site: http://www.gomez.com

About: Director of Agent Technology

Hi, I’m Buddy Brewer, Director of Agent Technology at Gomez. I get a lot of perks at my job – working every day with brilliant engineers, discussing web performance with the largest scale sites on the internet – but meeting people at conferences and learning new things from them is always a special treat. I recently attended The Ajax Experience 2009 right in our backyard in Boston, where I co-presented to a packed room with our CTO Imad Mouline. TAE is one of my favorite conferences because of the quality of attendees it draws – smart, passionate developers doing really innovative things on the web. To be honest, presenting there was a bit intimidating because this is not a crowd that is easily impressed. Our session was called “Web Compatibility and Performance Testing in a Multi-Browser World”, and I’m proud of the positive feedback we received.

I’d like to use the rest of this post to share some of the key takeaways that Imad, myself, and contributors from our audience shared during the discussion.  These are actions you can take today to make your site perform and handle better in today’s multi-browser world:

  1. Always know which browsers are visiting your site. Before you can create a cross-browser performance strategy, you need to know what browsers you should focus on. The browsers that hit your servers can vary significantly depending on your site’s audience. You can find this out using your marketing analytics tools or a performance analytics tool. Once you know this, you can tailor your performance strategies to have the maximum impact on your users.
  2. Perform functional testing on all browsers. You may miss critical defects in your own code or in third party components if you only test using one browser. Multi-browser functional testing can create a difficult scaling problem for your test bed because you have to run each test multiple times, but there are tools to help with this.
  3. Re-evaluate your old performance optimizations. Traditional performance optimizations may not be relevant to your audience anymore. Techniques like domain sharding that were clear wins in the IE6 era may not have the same effect now that modern browsers use more connections per hostname.
  4. Focus on client side execution time. Much of the innovation from the newest crop of browsers is in the areas of parsing and script execution speed. There can be significant differences in the performance of Javascript and CSS engines across browsers, so you need to check your performance on all of them.
  5. Look at differences in cache behavior. There are subtle differences in how the popular browsers cache objects, so it’s important to test cache hit ratios across all browsers to make sure you are getting good cache performance across the board. During our session at TAE we shared a case of a site experiencing extremely good caching behaviors in IE, but very poor performance in Firefox and Safari.
  6. Look at object download order on all browsers. This goes to perceived performance – the idea that given two pages with the same download time, the page that loads the most important objects first “feels” faster. While object download orders tend to be similar across browsers, subtle differences may have a significant impact on the perceived performance of your site for a critical set of users. We showed an example of this in our session where the most prominent object on a page was loaded last by a popular browser.

The ongoing challenge we all face is that we have to constantly adapt our performance techniques to stay in sync with changes in user expectations and browser capabilities. I hope these six suggestions provide a start for getting your site to perform well in all the browsers your users use.

I’d love to hear what cross-browser performance tips others have found – please share using the comments box below.

By the way, if you’re interested in checking out the slides Imad and I presented at The Ajax Experience, they are available via Slideshare at http://www.slideshare.net/Gomez_Inc/web-compatibility-and-performance-testing-in-a-multibrowser-world

Comments

One Response to “The Ajax Experience 2009 Wrap-up: Web Compatibility and Performance Testing in a Multi-Browser World”
  1. Shiying Yan says:

    The reason I like linkedin website is there are many nice technical articles like this one. Also this website is one of my favorite, I can always learn a lot about the latest technical skills. Many thanks to the friends on Linkedin who sent me the free training materials and software.

Speak Your Mind

Tell us what you're thinking...