Thursday, January 29, 2009

Google Chrome Spoofing User Agent at Hotmail

An update to Google’s browser Chrome fixes an issue with Hotmail – by faking which browser it is. The issue was that Hotmail barred the competitor’s browser from entering by checking the user agent. Some sites do so, often without merit and a lot of backfiring, because they think certain browsers can’t cope with their HTML/JavaScript/stylesheets. Not the case with Chrome here, apparently, which now pretends it’s a Safari browser when encountering *.mail.live.com.

(Note some of the Google-owned products do similar things, like the recent YouTube TV program, which didn’t work on desktop browsers. Microsoft back in 2003 was also handling Opera in sub-optimal ways.)

Normally you think of web pages being faster to update than client-side software downloads. In this case though, Chrome updates near-weekly, much faster than Hotmail did. Another illustration that velocity and speed of iteration matter.

That’s a rather naive statement. You think that Hotmail is a web page and you expect a service with hundreds of millions of users and thousands of servers to stop what it’s doing, fix a bug for a browser that the majority of its customers do not use, and spin up an out of band release? We’ve already committed to addressing this issue in our next service release (already started to roll out to the site) which IMHO is an acceptable reaction.

Matt in another comment wrote, “The equivalent code on the Hotmail side would be if (user-agent == Chrome) { render_mode = Safari; } . Hotmail has had months to do this simple change and hasn’t.” Google’s Mark Larson in the Chrome update note writes they’re deploying this new workaround “While the Hotmail team works on a proper fix”.

It’s hard to say for sure if Microsoft was sabotaging competition here. It’s certainly a possibility. Or perhaps they just weren’t prioritizing this fix highly. However, one has to wonder whether an equal fix to, say, a new version of Internet Explorer would have been ranked equally low at Microsoft. On the other hand, it’s also possible that Microsoft wants to do thorough testing for every new browser, and even though Chrome makes use of rendering agent Webkit also used in other browsers, Microsoft may see enough differences to check it in detail.