Modern Software Experience

2009-09-28

Internet Explorer plug-in

Chrome Frame

what is it

Chrome is Google’s web browser. Internet Explorer is Microsoft’s browser. Chrome Frame is a Google plug-in for Internet Explorer, first released on 2009 Sep 22.

Chrome Frame brings Chrome technology to Internet Explorer. It is designed to be used with Internet Explorer 6, 7 and 8 on Windows XP Service Pack 2 and Windows Vista.
Few plug-ins target Internet Explorer version 6 anymore. That Chrome Frame supports this eight year old browser is quite deliberate.

installation

You install Chrome Frame like any other Internet Explorer plug-in. You keep using Internet Explorer as before. That’s all there is to using Chrome Frame. You do not even need to restart Internet Explorer.
The first version does not even have any options for you to consider.

The installation package is fairly small. Once installed, the plug-in downloads all it needs, about 10 MB.
Although it the whole idea feels like one, Chrome Frame is not a hack. It is a well-behaved plug-in that uses Internet Explorer’s official documented interface for so-called Browser Helper Objects (BHOs), and can be managed like any other plug-in.

how to use

Once you’ve installed Chrome Frame, sites may be rendered by Chrome Frame instead of Internet Explorer itself. Sites rendered by Chrome Frame look exactly like they would look in Google Chrome, just inside an Internet Explorer window frame instead of inside Google Chrome. Hence the name Chrome Frame.

The difference between Chrome Frame and plain vanilla Internet Explorer is that sites now look as they do in Google Chrome. The between Chrome Frame and Google Chrome is that the site is shown inside an Internet Explorer window frame.
You get Google Chrome quality rendering of websites within the familiar Internet Explorer window and menus. That is what Google Chrome does.

The web looks best when you use a web browser. Chrome Frame upgrades Internet Explorer to a web browser. Well, almost.

why

The title of the recent Intranet Explorer isn’t a web browser article already says it all. That article makes that fundamental point with an overview of Internet Explorer’s shortcomings as a browser. The Internet Explorer Mini Site discusses some details and links to other sites that provide detailed information on Internet Explorer shortcomings and defects.
Internet Explorer is really Intranet Explorer; it isn’t a web browser, but an intraweb browser.

The web looks best when you use a web browser. Chrome Frame upgrades Internet Explorer to a web browser. Well, almost. With the Chrome Frame plug-in installed, Internet Explorer has the capabilities of a web browser, but it still defaults to doing things the Internet Explorer way.

Chrome Frame is not the first product to slip one browser into another.

not unique

Chrome Frame essentially put Google Chrome inside Internet Explorer; it slips one browser into another. That this remarkable actions has not caused a huge row is because Chrome Frame is not the first product to slip one browser into another. The first product to do so is IE Tab.

IE Tab

IE Tab is a Firefox plug-in. It essentially slides Internet Explorer into Firefox. That is handy for badly designed sites that do not work in a web browser, such as Microsoft’s Windows Update site.

One nice thing about IE Tab is that puts the user in control.
First of all, it informs you which browser is rendering the page. Once it has been installed; it shows either a Firefox or an Internet Explorer logo on the status bar.
Secondly, it let’s you switch between the two; just click that logo to have the same page displayed rendered by the other browser - and if you hold down the Ctrl key while doing that, the page opens in an Internet Explorer window instead.

You rarely need to click that icon to switch manually. IE Tab comes with a small list of sites for which it automatically switch to Internet Explorer rendering, and lets you add your own.

when

The first version of Chrome Frame does not put the user in control. There is no status icon, no easy switch between renderers, no list of sites for which Chrome Frame should automatically switch to Chrome rendering.

Some brief discussion I had with Alex Russell, of the software engineers working on Google Chrome, suggests that the current Chrome Frame team has no intention of providing any user controls or even a status icon. Their are exclusively focused on control for developers; having Chrome Frame render the page when the sites says it should, without even an icon to show that Chrome Frame is doing the rendering.

meta-tag

Googles want web site developers to add a Chrome meta-tag to their pages. That tag basically means use Chrome instead of Internet Explorer. When Chrome Frame encounters that meta-tag, it will automatically switch to Chrome rendering, and render that page as Google Chrome does. If the tag is not there, Chrome Frame lets Internet Explorer render the page.

detection

Of course, Chrome Frame can only decide to render a page if it is installed in the first place. So, most web developers that take advantage of Google Chrome will want to prompt the user to install Chrome Frame, but will only want to prompt if it has not been installed yet.

When installed, Chrome Frame announces it presence by adding the word chromeframe to the so-called user-agent string that identifies the browser, and websites can use that to distinguish between Internet Explorer without Chrome Frame and Internet Explorer with Chrome Frame.

XHTML

One major web standard that Internet Explorer does not support is XHTML. Even the very latest version of Internet Explorer, Internet Explorer version 8 released on 2009 Mar 19, still does not support XHTML.

Web browsers, include Google Chrome, render XHTML just fine. It is no surprise then that Chrome Frame renders it just fine too. As Internet Explorer does not render XHTML, it would be nice if Chrome Frame filled that gap automatically. It does not.

Of course, if it did so automatically, and the future Internet Explorer 9 supports XHTML, it should let Internet Explorer 9 do its thing.
There are various ways to ensure that. The technique used Make Internet Explorer render XTHML works with the Internet Explorer architecture to ensure that it will automatically relinquish to (actually be overwritten by) the first version of Internet Explorer that supports XHTML. Google updates its browser software automatically, and the updated version can take over from Internet Explorer 8 yet let Internet Explorer 9 do its thing. Last but not least, the user could be provided an option.

Turns out, even if the web site includes the meta-tag that says to use Chrome Frame, Internet Explorer still does not show the site. This is a shortcoming of the current meta-tag detection.

forcing Chrome Frame display

You can force rendering of a page by Chrome Fame by prepending the URL with cf:. If you currently try to view this website, http://www.tamurajones.net in Internet Explorer, Internet Explorer fails. This is an XHTML 1.1 site, and Internet Explorer still does not support that. But if you enter cf:http://www.tamurajones.net in the URL box, Chrome Frame takes over to display the site.

This method has two rather annoying shortcomings.
One is that you have type a non-standard URL. You can save it to your bookmarks, but it only works in Internet Explorer with Chrome Frame. Web browsers do not understand the cf: prefix. Even Google Chrome itself does not understand it. So, every time you share the URL, you have to remember to do so without the cf: prefix.

The other rather annoying shortcoming is that Chrome Frame is not smart enough to maintain the cf: prefix when you right-click a link to open another page on the same site in a new tab. When you right-click to open another page, that new page falls back to Internet Explorer rendering.

Chrome Frame is the best Internet Explorer plug-in ever.

upgrade

I encountered a few issues while working with Chrome Frame, and it is not perfect, but it is such a major upgrade of Internet Explorer’s capability that it is still the new must-have plug-in.
Chrome Frame provides capabilities that Internet Explorer still lacks, but are needed to view modern XHTML sites such as this one and (X)HTML5 sites, such as Google Wave.

The biggest design issue with Chrome Frame is that the meta-tag isn’t a preference, but an unconditional command to switch, with no easy way for the user to override that command if the web developer fouled up. That lack of user control is an issue that may make users decide to solve the problem the only way they can; by de-installing the Chrome Frame plug-in.

I hope that as the Chrome Frame product and development team mature they come round to seeing the importance of keeping users in control, and solve this shortcoming by adding a status icon and some dialogs, to make Chrome Frame as easy to use as IE Tab.

Despite some rough edges, the early release of Chrome Frame is already the most useful Internet Explorer ever released. Chrome Frame is the best Internet Explorer plug-in ever.

updates

2009-09-04 Chrome Fix

Andrea Giammarchi has created ChromeFix, a small utility that makes it easy to let Chrome Frame take over all pages and turn that off again.

2013-06-13 Chrome Frame retired

Google has decided to retire Chrome Frame. Support and updates will cease in January of 2014.
Google is now promoting Google Chrome with Legacy Browser Support (LBS).

links

Internet Explorer

Chrome Frame

Firefox IE Tab