Home :: Articles :: Google Chrome for Internet Explorer

Google Chrome for Internet Explorer

Sep-22-2009

evolt.org This article was originally posted on evolt.org, an online resource for web developers, maintained by web developers. I have granted evolt.org the right to use this article on their web site, and they are the only entity with the right to reproduce it.

A Brief History of Time Spent on IE

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.

So for nearly 8 years we've struggled with an outdated browser, only being replaced by updated versions of Internet Explorer that take moderate steps toward enhanced standards support, such as CSS level 2, HTML5, enhanced JavaScript support, and just better stability overall.

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 Chrome Frame

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 Chrome Frame is an open-source plug-in for Internet Explorer versions 6, 7 and 8 that essentially embeds an instance of Google Chrome into Internet Explorer. Doing this will allow users surfing in IE with this plug-in to take advantage of HTML5 elements not yet supported in IE and also leverage Chrome's faster JavaScript engine. This is currently an "early-stage" release and intended for developers and testing, so there is no guessing how well it might work on your platform.

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:

With Google Chrome Frame, developers can now take advantage of the latest open web technologies, even in Internet Explorer. From a faster Javascript engine, to support for current web technologies like HTML5's offline capabilities and 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:

Making It Go...

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 my site in Chrome Frame, you'd go to cf:http://adrianroselli.com/. 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).

So What Now?

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.