For years web developers have struggled with browsers that don't support standards or the latest innovations and that just won't go away. Internet Explorer 6 falls into this category and is the bane of many a web developer's existence. Internet Explorer 6 rolled out in late 2001 and stuck around, essentially unchallenged, until late 2006. Since then we've seen Internet Explorer 7 come and most recently Internet Explorer 8 in late 2008.
Unfortunately Internet Explorer 6 is so firmly entrenched that as of August 2009, it has more market share (13.6%) than Internet Explorer 8 (10.6%) according to W3Schools (other browser tracking sites verify this). Internet Explorer 6 beats out Chrome (7.0%), Safari (3.3%) and Opera (2.1%) combined and is right behind Internet Explorer 7 (15.1%). Reasons for this seemingly intractable position range from IT department policies against upgrades by users, to applications built exclusively for Internet Explorer 6 (precluding an upgrade without a rebuilt), to users on older systems who don't know how, or don't care, to upgrade.
Some sites have taken matters into their own hands. YouTube prompts IE6 users to upgrade to Chrome, IE8 or Firefox. Digg ran a survey of its users to plot out a strategy to deal with IE6. Brighkite tells visitors using IE6 that the site will look terrible and to upgrade. Just search for "IE6 must die" and start to peruse the 1.8 million hits.
Google has taken an ingenious approach to deal with Internet Explorer 6, 7 and 8 and their general lack of standards support. It has found a way to embed Chrome right into IE.
Google has a vested interest in getting this to work — Google would love to get Google Wave and other Google applications up and running on a stable platform, and since Chrome won't have the market share immediately, IE is a reasonable platform to target. The Chromium Blog entry for today explains a bit more:
canvas, to modern CSS/Layout handling, Google Chrome Frame enables these features within IE with no additional coding or testing for different browser versions.
The Google Blog entry for Chrome Frame has the following video embedded with a Google employee (wearing a Threadless t-shirt, I sense a trend) walking viewers through the basics:
To initialize the Webkit-based rendering engine users will need to embed the following meta tag on a page (Google links to the Microsoft article addressing how to use a variation of this tag that tells IE8 to emulate IE7):
meta equiv="X-UA-Compatible" content="chrome=1"
For pages/sites where you cannot modify the meta tags, Chrome Frame allows you to initialize it by pre-pending a URL with
cf:. If you want to visit this site in Chrome Frame, you'd go to
cf:http://evolt.org/. Google provides more information for developers, as well as a client-side detection script for Chrome Frame, at its Developer's Guide.
Testing Chrome Frame on my own site from Internet Explorer 7, I can see that it changed the user agent string by adding "chromeframe." The new user agent string from my IE7 install reads (emphasis added):
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; chromeframe; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8).
Will this truly usher in new life for IE users? If a user cannot install a new version of IE on his/her system, will he/she be allowed to install the plug-in? Will the average user even care? What logic can be written to prompt a user to download this plug-in (outside of the examples they provide)? These and many other questions are still to be answered, but since Chrome Frame was just announced today, it's not unexpected.
Even if a user does go through the trouble of downloading and installing Chrome Frame, developers will need to come up with metrics to determine the market share of this browser-within-a-browser. It may be hard to evaluate whether or not users are taking advantage of its functionality by reviewing your site statistics, at least not without spending time parsing out the "chromeframe" string. Instead developers may be stuck relying on other developers actually implementing the features to see if anyone is using it, and we all know that site statistics from one site aren't necessarily a good indicator of how those numbers will play out on your own site.