Web Analytics and Site Optimizatiion

Web Analytics

Subscribe to Web Analytics: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Web Analytics: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Web Analytics Authors: echguide, Mehdi Daoudi, Jason Bloomberg, AppDynamics Blog, Julia Chernykh

Related Topics: SOA & WOA Magazine, Open Web Magazine, Web Analytics, Google

Article

Are Page Speed and YSlow Too Static?

Some of the best web performance tools are still largely being run as browser plug-ins

Some of the best web performance tools are still largely being run as browser plug-ins. If those tools can make the leap to becoming real-time and can be made to consider user context, the industry will have something truly powerful on its hands.

Initiatives like Yahoo's YSlow and Google's Page Speed were pioneers that broke new ground in the understanding of web performance. They have both garnered large communities and acted as a catalyst for the Velocity conference. For those who are not familiar with these tools, they are amazing browser plug-ins that evaluate the design of a page as it is being loaded by the browser and then assign a score to that page (YSlow uses a scale from A to F, whereas Page Speed uses a numeric scale from 0 to 100). Both of these tools have, at their heart, a series of scoring rules based on accepted best practices for the design of high performance web pages.

However, these tools suffer from two crippling problems:

  • They operate on an on-demand basis - i.e., they only measure a page when you are actively surfing that page and have enabled the plug-in.
  • They are unable to consider the context of the user base that is accessing the site

Let me take these points one by one.

Real-Time Monitoring
The first thing that I and others wanted was to have the score be continuously monitored and plotted over time. This wish received little attention for quite some time, though, because these speed scores were believed to represent a static state - the design of a page. As such, they were not expected to change over time. Enter Sergey Chernyshev and his creation Show Slow.

Sergey built Show Slow specifically to measure and plot these scores over time. At Velocity 2010, he demonstrated that performance scores tend to decrease over time because attention to best practices falls by the wayside during progressive roll-outs. This was enormously important research, since it clearly demonstrated that no score should ever be considered to be static. What we need now is for the teams at Google and Yahoo to build this continuous monitoring capability into the tools themselves.

By the way, Sergey, if you are reading this, it would be great if Show Slow would highlight the individual performance rules that are most often violated by a particular site so that site owners could prioritize their work. I'm sure that you and your team are already hard at work on such improvements.

Considering the User's Context
The rules being put forward by the makers of these tools are based on well-thought-out approaches to web performance from some of the top thought leaders in the field. It is truly excellent work that was desperately needed. However, none of the rules so far are specific to a user's context.

Every user is operating within a specific context defined by his platform, his connection speed, his ISP and the network quality he will run across when trying to reach a given site. If I want to design a page for optimum performance, I will need to consider the context of the users that will be accessing that page. Maximilliano Firtman made a compelling argument on this perspective as it pertains to mobile users at Velocity 2010, demonstrating that the rules advocated by YSlow and Page Speed would do a poor job of addressing the needs of the mobile user market. However, I believe that there are other segments of the user market that are just as poorly served - those stuck on poor quality networks that offer terrible throughput rates or using very limited platforms. If I knew that my customer base consisted of customers with less-than-optimal systems and access, that knowledge would radically alter my approach to web site design.

How do I rate a page's design? Every request for a page is made by a user within his or her own unique context. For example, out of any given set of requests for a URL, 50% might come from Firefox users on desktop PCs using ComCast. Another 30% might come from iPhones using Safari over AT&T. The remaining 20% might come from student laptops running an obscure version of Opera over a wireless connection at a busy coffee shop that offers choppy access with lots of dropped packets and high round-trip time. The design of a page should take into account whether the end user benefited from that design. In other words, was the design of the content appropriate to the delivery of the content?

YSlow and Page Speed are only able to understand the context of the user that is running the plug-in at that moment. These tools lack the ability to see all of the users that are requesting a given URL and understand the set of contexts that must be satisfied by the page's design. The ultimate goal would be a tool that could assess a "delivery score" for each instance of a page's delivery and then make recommendations, which would include how to improve the page or whether the page should be split into more than one context-appropriate designs. This is almost mandatory for sites that want to be cell-phone friendly, but that spirit has not yet been extended to other segments of users.

Next-Generation Monitoring
The industry needs the next generation of these tools. This new generation would be capable of continuously monitoring all of the traffic at all times and use dynamic rule switching to match the user's context. Every instance of a page load would receive a delivery score according to how well its design met the needs of the end user. By aggregating the scores for a given page and plotting this over time, sites could determine whether new rollouts were killing performance or - more interestingly - whether their customer base was shifting to new platforms or networks that were killing performance. Delivery scores could be weighted during aggregation accordingly to emphasize the importance of specific user segments (e.g., mobile users on iPad) or aggregated by user segment to provide highly targeted performance reports... the applications are endless.

The first hurdle, though, is realizing that these scores need to be more dynamic than they are today. We need to break away from the browser as our measurement point when dealing with this problem.

More Stories By Jonathan Ginter

Jonathan Ginter is the Senior Director of Engineering for the TrueSight product line from Coradiant. Jonathan has 20 years of rich experience as a developer, architect and product manager for a variety of applications, including web-based apps, embedded solutions and command-and-control systems. He contributes frequent articles to Coradiant’s web performance blog.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.