Monthly Archives: September 2007

Web Analytics: Two Things People Want, But Will Never Get

I’ve been helping a customer try to understand their web statistics. They get reports from AWStats, Google Urchin and Google Analytics. Needless to say, they are confused by different numbers each system gives and want to know which one is right.

People often want the following two things from web statistics:

  1. Some sort of industry benchmark that is a fair comparison to their site so they can tell how their site measures up.
  2. Absolute truth in web statistics instead of approximations and interpretations.

The reality is that they will never get either one.

Page views and visitor sessions are interpretation of what happened on a site. Every analytics package measures these slightly differently.

The only statistics that matter are your own statistics. You have to measure your site consistently, make improvements to the site, and then see if the improvements result in an increase in your key performance indicators.

Think of web analytics like runners measure their personal best times. Day-in and day-out, you’re measuring yourself against your time yesterday and trying to get better. What your competition is doing doesn’t matter nearly as much as improving your own performance.

links for 2007-09-30

MediaTemple’s Lack of GZIP

Update As pointed out in the comments, the html for this site is being delivered as gzip. The css isn’t which is why YSlow is complaining. I need to remember to look to see what YSlow is complaining about before jumping to conclusions. I also have no explanation for why I read their FAQ multiple times and didn’t see the note that they support mod_deflate. So I take it all back. Disregard this entire post.

As those who attended my presentation on site speed know, I recently changed providers for my blog to MediaTemple because I was interested in their scalable grid structure.

Unfortunately, I forgot to check until after I had signed up and moved everything to MediaTemple before I found out that MediaTemple does not support mod_gzip for Apache.

I finally remembered to send them a support request asking if they had it in the plans or if it was just too difficult to implement on a grid server.

Absent good news from their support team, I’m afraid I’m going to have to move to another hosting solution. I love the service and system that MediaTemple has, but I feel like a hypocrite when I talk about site speed when I can’t optimize my own blog. It is frustrating.

At least my web site for our pet friendly vacation rental on the Oregon coast gets a “A” rating on the YSlow plugin. Thank god for small victories.

Repaying Guy Kawasaki — Truemors Site Optimization Analysis

I owe Guy Kawasaki a lot even though I’ve never met him. A month ago, I watched a video where he talked about starting a business to make meaning versus making money. That video came at just the right time for me and led me on a new path in my life.

So I’m very pleased to attempt to repay the debt. Tonight on Twitter, someone commented on Guy Kawasaki’s new adventure Truemors and the fact that the site was slow. Guy replied that they were working on it. I sent Guy Kawasaki a quick note that I thought they needed to turn on gzip, but I was reading my YSlow plugin incorrectly.

So instead of trying to provide feedback via Twitter, I thought I’d write up the things that I think will have the greatest impact for Truemors.

First, let’s look at where the greatest time is spent. Here is a graph showing the download time for Truemors:

truemors-download-small.png
Click image to see full size

The thing to notice about the image is that the html downloads in 2445 milliseconds on my home broadband connection. The total download time is 12,949 milliseconds. This means that the server processing and html download only account for 18% of the total download time.

This is consistent with Yahoo’s 80/20 rule and indicates that the biggest benefit will come from optimizing front-end content.

  • Reduce the Number of HTTP Requests — This appears to be the place with the biggest opportunity for improvement because the Truemors home page makes 79 http requests on an empty cache.

    Keep in mind that browsers will only make two http connections to the same domain at a time. It is because of this two connection limit that most web browsing never reaches the full broadband speeds available.

    To reduce the number of http requests, I would look first at consolidating the javascript files. There are currently 20 javascript files. Javascript files also contain the added determent that the browser will not start transfering any other files until the javascript completes. This effectively reduces the browser to serial downloads for the duration of the javascript downloads. Truemors download graph shows this happening.

    It appears that reducing the number of javascript files will have the largest impact on site speed.

  • Move Javascript to the FooterBrowsers will not render any content below javascript until the javascript has loaded. When a page downloads, one of the things that makes it feel faster is if the page starts rendering first. Because of the number of javascripts in the html head on Truemors, the page remains blank and then snaps into place after a wait. This is a tell-tale sign that progressive rendering is getting blocked by javascript processing.
  • Add expires headers to encourage caching — On the second time the Truemors home page is viewed, it still will download 125k of files and make 64 http requests. Adding expires headers will ensure that files aren’t download unnecessarily and the browser knows that it doesn’t need to check for new files.
  • Test using YSlow and Speed Up Your Site — The YSlow Firefox plugin and the Web Page Analyzer provide free tools for testing the speed.

These are the items that I believe would make the biggest difference. Looking at the Truemors example, I can see one of the disadvantages of my favorite blogging software, WordPress, and its plugin architecture.

All of the plugins are putting their own javascript, images and sometimes even css into the page. These plugins aren’t part of a cohesive vision for the page and add the code to the page where ever they like. It is clear to me that doing things like combining javascript files may require more work because the plugins are responsible for adding them to the page.

I hope Guy Kawasaki and his partners find this information useful. I owe Guy a lot for inspiring me. This post is a small token of my gratitude. Thanks for the video.

links for 2007-09-29

links for 2007-09-27

Great iPhone Development Resources

I’ve been collecting a series of iPhone development articles that may be of interest.

First, Craig Hockenberry has written some great stuff on Furbo.org as well as articles for A List Apart. It seems like it is likely worth subscribing to his Furbo.org site if you are interested in iPhone development. Some of the articles of interest are:

  • Benchmarking in Your Pants An exhaustive testing that shows javascript executes 80 times slower on an iPhone and why this would be much faster with a native SDK instead of a Safari-based SDK
  • Part I and Part II of his A List Apart series called “Put Your Content in My Pocket.” These articles focus on the basics of building content for iPhones.
  • One Line of Code How to make your site look better on an iPhone with only one line of code.
  • Hacking Quicker How to speed up ssh and other services to make hacking the iPhone faster
  • What the iPhone Specs Don’t Tell You Things like the CPU speed

As you can tell, Craig has a ton of great information. He’s been a one-man iPhone publishing house. Some other good resources are:

Amazon Sees Mobile Web as Opportunity

Amazon recently shut TXTReview out of their e-commerce web services. TXTReview provides book and movie reviews via test messaging on mobile devices.

The interesting thing about this story is the clarification that Amazon gave for why they had stopped allowing TXTReview to use their APIs:

We do limit access by some mobile-focused companies to just that service. Its says in our license agreement for that service that developers must first get permission from Amazon Web Services prior to using Amazon ECS in connection with any handheld, mobile, or mobile phone application (see 5.1.4 here) . The reason is that it’s very early days in the mobile space and Amazon.com is still thinking through how to best serve customers who want to use mobile devices to shop on Amazon.com. At this point, we’re being cautious about exposing our catalog data for use in the mobile space.

So unlike most people who take mobile devices for granted, Amazon believes the mobile space is in its infancy. They see opportunity there and are being cautious to not lock themselves in. They see so much possibility there, that they’ve codified this perspective in their terms of service.

This shows more foresight than most companies have on where technology is going and is further evidence that the mobile web is likely to take off in the near future.

Web ‘not path to close friendships’

A couple of weeks ago, I wrote a post where I theorized that social networks were having an impact on our ability to create and keep in contact with many more acquaintances, but don’t redefine our definition of friendship as some have suggested. A study by Sheffield Hallam University has recently been released that says that, “close friends are unlikely to be made through social networking web sites such as Facebook and MySpace.”

The article on the study points out that social networking sites “may be having less impact on people’s social lives than might be expected.” The research shows that people really only have about 5 close friends—the same number that people had before social networking sites—and that those close friends are met face-to-face.

So social networking is about acquaintances more than friends regardless of how many “friend” request you accept. The thing that surprised me most about the research was that people might have actually expected social networking sites to change the dynamics of close friendships.