The Pros and Cons of a Partial Web Feature Rollout

When TechCrunch’s article about new Google Analytics features  http://www.techcrunch.com/2009/12/07/google-analytics-gets-an-upgrade-with-annotations-new-api-and-more/ came across my RSS feed, with interest I logged into the Geeks on Coffee Google Analytics account. We just did some testing at work, and I wanted to put in the annotation that the traffic spike we had that day was related to that testing. Sadly, the option to add annotations was nowhere to be found. Was I surprised? Not really.. this is typical practice for sites of this size. It does, however, raise an interesting question: Is the loss of hype-capitilization worth the ease-of-support caused by this rollout practice? What I mean is this: I see a blog post about a new Gmail feature. I log in to Gmail to see how much it is going to change my life. I don’t yet have access to the feature. I forget all about it, and go on with my previous, featureless life. Unless I see another blog post about it, the odds are pretty good that I will forget all about it.

Despite being a developer, website support is the thing I seem to spend a depressing large chunk of time doing. My company is not Google, by any stretch of the imagination, and our rollouts and feature additions are not nearly as monumental, but even on our scale, we couldn’t get away with doing incremented rollouts. Every few months we get one user looking over the shoulder of another whose account has different access, and the one with less features emails requesting the cool stuff the other has.

It also seems to me that managing different cuts of the code for different user groups would be tediously over-complicated. I understand there are some benefits to it (a limited test group makes it easier to fix bugs that made it to production) but keeping track of the different paths seems like it would be more trouble than it is worth.

As for the Google Analytics changes, the annotations certainly look like they will be the most interesting for me.. GeeksOnCoffee still doesn’t get enough traffic to warrant using the advanced analytical features.. I wonder how long it will be before somebody figures out how to automate creating annotations for various things (each time a new article is posted, each time a referring link is posted to reddit, etc). For a small blogger, that level of automation would be useful.

Trackback URL

One Comment on "The Pros and Cons of a Partial Web Feature Rollout"

  1. Andrew
    Paul
    03/01/2010 at 3:20 am Permalink

    It occurs to me that Google may not be “managing different cuts of the code for different user groups” as such. It seems rather more likely that they’re seeding changes to a few servers (or server clusters) up front, and then pushing them onto the rest of the machines as an ongoing maintenance / rolling update sort of deal. Different users reside in different server groups, so they see updates at different times. In that case, “cut” management is happening on a per-machine, rather than per user, basis, which is rather easier.

    (I’m assuming that Google maps users to servers in some way, presumably with a primary cluster, a hot backup, and an emergency data backup in the Bahamas. That would seem to be a reasonable strategy from a response-time perspective, allowing the big clients to be grouped with small ones for load balancing, or for servers to be geographically optimized. This is not unlike the way Facebook used to cluster servers by university network. Also note that Microsoft does the same thing with Hotmail, they just roll changes less frequently.)

    Under the above assumption, Google can offline a primary cluster (swapping in the hot backup), run the update, online the primary, and repeat without adversely affecting overall availability. Rolling out in waves also allows allows them to catch scalability/functionality bugs. So, on the one hand you have the “can you switch me to the new stuff” email, and on the other you get either the “hey, why can’t I access the system” or the “hey, the software’s buggy” email. I suspect the Suits would rather send the former type of email than the latter, assuming it is made clear that they can’t say “but I always want it new and right”.

    As to annotation, I wonder if it would be more beneficial to integrate automatic annotation into Analytics, or to provide a convenient way to automagically extract raw data from Analytics ala the Twitter API. The latter seems like a more general solution to the problem of doing site-specific data processing / rendering, and would be rather more “Web 2.0″ or “Social Web” or whatever the right buzzword is. Being able to do easy raw data extraction would also provide the opportunity to do fun things like displaying stats in the site dashboard or on the pages themselves when viewed by an admin without needing to further mod Analytics itself to support those features.

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to Comments