Tuesday, September 22nd, 2009

Chrome Frame: Inject Chrome into IE

Category: Browsers, Google

<p>Google has released the long anticipated Chrome Frame. Congrats to Alex Russell for getting this out. He fought browsers to bring us Dojo (with a great team) and now he comes at the problem in another way… from within.

What is Chrome Frame?

Let Alex tell you!

Put this in a page:

  1. <meta http-equiv="X-UA-Compatible" content="chrome=1" />

and if a user comes to it using IE and has the plugin installed, the renderer will be replaced with Chrome.

If you want to help get the plugin installed, then you need to force it via JavaScript

  1. <script type="text/javascript"
  2. src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"> </script>
  3.  
  4. <div id="placeholder"></div>
  5.  
  6.  CFInstall.check({
  7.     node: "placeholder",
  8.     destination: "http://www.waikiki.com"
  9.   });

For testing, if you have it all installed, you can force the renderer via cf:http://gmail.com.

What does this mean?

We have a real problem. IE6 is a pain for Web developers. However, we have to remember that IE was the solution at some point…. we have an issue with getting new versions of the platform out there via browsers.

It will probably take Google a long time to get a large portion of the developers on browsers they want them to be on *cough*, so this is another tactic. The virus.

On one hand I applaud them for taking on the challenge, and I really believe that Alex has a good heart around this.

We do need to really think about what this means though. When is it developer choice, and when is it user choice? Who should control the experience? And, speaking of experience… how is the UX affected when you don’t even know what renderer you are using, and items such as auto-fill just don’t work on certain sites. Can the user override the developer? Will this be released on other browsers e.g. Safari/Firefox/Opera?

There are going to be massive ramifications with Chrome Frame, and we need to have a conversation around them. What are your thoughts?

Related Content:

Posted by Dion Almaer at 4:09 pm
40 Comments

++++-
4.2 rating from 86 votes

40 Comments »

Comments feed TrackBack URI

How long until we are serving up the rendering engine along with the web page? Then you could be 100% sure how a page would look and function for any visitor.

Make the browser a virtual machine that can execute any rendering engine code. Add some caching. Install some of the rendering engines by default.

Doesn’t seem implausible at all really.

Comment by zachstronaut — September 22, 2009

Dion, are you kidding us? This is the BEST idea Google has come up with to fight Microsoft Windows-only Web.

Comment by randomrandom — September 22, 2009

I love how the web is just a loop back on to desktop applications.

Off-topic a bit, but look at tweetdeck.

That being said, this is an impressive innovation and will be very helpful for commercial web applications where IE6 is involved.

Comment by Darkimmortal — September 22, 2009

I hope this will get installed (on Internet Explorer) also when the user installs the Google Chrome browser — the SAME way Microsoft’s proprietary Silverlight gets installed on Firefox when Windows is updated. “Don’t fight your enemy. Fight their strategy.” -Sun Tzu, The Art of War

Comment by randomrandom — September 22, 2009

Okay, let’s put it simply – the developer will be able to hijack part of the user’s page without their explicit awareness (aside from the initial installation of the plugin). This is several hops, skips and a jump over the line of acceptability. Advertise your browser on YouTube, by all means, but don’t try to sneak onto people’s hard-drives by a back door. If a user launches IE (or FF or Op etc), they should get EXACTLY when they expect, bugs and all. If they don’t like it, they can change, it’s THEIR choice, not Google’s (or the web dev’s).

I laugh when people write Micro$oft, but perhaps someone should start coining G666gle as well.

Comment by aaa9999 — September 22, 2009

This is a great idea, but someone on TechCrunch had a seemingly valid point:

“If you don’t have admin rights to install software because your company’s IT department has everything locked down and you can’t upgrade your browser … you still can’t install Chrome Frame.”

@randomrandom

I keep my copy of Windows XP up to date, and Windows Update has never tried to install Silverlight to Firefox. If I visit a Silverlight page in Firefox I’m told I need to download the plguin.

Comment by jlizarraga — September 22, 2009

Why are you guys writing only about IE6? IE8 also doesn’t support Canvas, as well as most modern Open Web technologies.

> we have to remember that IE was the solution at some point…

Dion, ever heard of Netscape? How was IE *the solution at some point*?!

Comment by randomrandom — September 22, 2009

@jlizarraga:
Sorry. I was (mistakenly) recalling this news piece:

Microsoft Update Slips In a Firefox Extension
http://tech.slashdot.org/article.pl?sid=09/02/01/2143218

More about that here:
http://www.u-g-h.com/2009/01/30/microsoft-net-framework-35-violates-firefox/

Comment by randomrandom — September 22, 2009

Still, I think Google Chrome installing this plugin for IE makes sense, e.g., for the times when Microsoft tries to revert the default browser to Internet Explorer — Using tricks such as “Express Install”…

Comment by randomrandom — September 22, 2009

> so this is another tactic. The virus.

Bundling IE with Windows is pretty viral too, and Microsoft is getting away with it everywhere (except the EU).

You fight viruses with vaccines.

Comment by randomrandom — September 22, 2009

I think it is good for users to see the faults in browsers. If we just patch with a different browsers rendering engine, then there will be no complaints. Complaints from consumers are what change products.

Comment by fredclown — September 22, 2009

Yet another plugin to deal with… What is the difference between using this and Flash or SilverLight…

Comment by ChiragNirmal — September 22, 2009

@ChiragNirmal:
Google Chrome (WebKit, etc.) is standards-based — standards defined by the W3C, WHATWG and Khronos organizations.

That’s why these technologies belong to the new Open Web — and proprietary (controlled by a single corporation) technologies like Flash and Silverlight don’t belong there.

Comment by randomrandom — September 22, 2009

Google should set an example and use this on google.com, gmail, youtube, maps etc. instead of the ‘Browse faster with Chrome’ nag screen.

This could be coded smarter in a way that you only have to add the javascript file. It could inject the placeholder when the dom is loaded and always perform the check, refreshing the current page. All that’s needed then is a setDestination function you can call before that time. Would make this easier to implement.

Comment by Jadet — September 22, 2009

@Jadet:
Great ideas! You should post them over on the Google Chromium list:
http://groups.google.com/group/chromium-discuss
-
> Google should set an example and use this on google.com, gmail, youtube, maps etc.
-
I think Google will probably do this soon.

Comment by randomrandom — September 22, 2009

Chrome Frame is not so much about ie6, its already dead. Its more about that we can start use html5 today!

Comment by andriijas — September 22, 2009

Ha! I love it! Google is competing directly with Silverlight and fighting for the open web at the same time! Take that, MS!

I hope this becomes ten times as big as Silverlight.

Comment by pianoroy — September 22, 2009

Don’t get over-excited, folks. If the user isn’t smart enough to install another browser, why would they be smart enough to install this plug-in? If someone is inclined to install anything from the Google bundle, wouldn’t they just be likely to use Chrome? This will ensure that MORE people are using a standards-compliant engine, but it still leaves a large portion of folks out.

Comment by brockjudkins — September 22, 2009

This might be a really good idea actually. I’m currently lead on a project where the target audiance is 30-75yr old men. And let me tell you, alot of those people (mostly the > 45 group) still have IE6. Probably because that’s what xp shipped with, and they don’t do automatic updates.

Ie6 will plauge us for sometime. Microsoft supports a browser untill they quit supporting the os it shipped with. XP will be around for a while.

But on the other hand, it does set a bad example for newer developers. It might make them think that there’s no need learn cross browser support, and there’s always the need to know how to support all browsers. Especially if your a lone programmer.

Comment by jaimz — September 22, 2009

This was a good idea last year, and it’s still a good idea. http://commadot.com/browser-possession/

However, I think it should be taken further. Chrome should allow Firefox rendering and even IE6 rendering. Intranet admins want to allow users to upgrade their browsers WITHOUT upgrading the intranet. If they could enter a meta tag to render with IE6, then it would solve their problems. Allow web developers to test their apps in ONE browser and define the rendering engine. We will build much better apps this way. Then you don’t need to worry about “breaking the web” when you upgrade a browser.

Anyone who complains of hijacking…are you serious? What do you think Flash is? It’s a rendering engine that the web developer gets to define.

Cross-browser dev/testing is holding back huge improvements in user experience. Alex, awesome work. I hope the Chrome team takes the concept even further.

Comment by GlenLipka — September 22, 2009

Amazing!

Sounds like the biggest announcement I’ve heard so far this year!!
Don’t get me wrong google guys but the same concept has been launched a while ago by the Mozilla foundation and Adobe with the ScreamingMonkey project, the context was a bit different though as it was not the renderer but the scripting engine (Tamarin).

So what are the plans? Will you be able to embed the V8 engine in IE pretty soon with the renderer?

Think I’m gonna love IE again…

Comment by SleepyCod — September 23, 2009

It’s not a brilliant idea to hack IE, IMO.
As for Silverlight appearing in FF, it seems that I’ve got it in FF by installing it in IE. It was automatically injected into FF, I was kinda “hey what is it doing in my FF?”. Also I haven’t explicitly installed Microsoft .NET Assistant (I even don’t know what assist does it make), WPF and Microsoft DRM plugins into FF.
So Microsoft do care about FF (in quite a weird way :) ) and updates *cough* it, why can’t Google make the same with IE?

Anyways I think neither G nor MS are right in this situation.

Comment by kea — September 23, 2009

I didn’t ready carefully but you get all the chrome stuff, V8, webkit…in IE with that one. I’m blown away these guys move so fast ;)

Comment by SleepyCod — September 23, 2009

I don’t know about everyone else, but I love this.
On the downside anyone who forces use of this may lose clientele, but in a positive aspect this is just another reason for Microsoft to keep improving the Internet Explorer engine.

They have come a long way in the past year, but Internet explorer is nowhere near the expectations of many developers.
I use Firefox myself and I don’t necessarily mind IE7+, but it kills me to see anyone still using IE6!

Comment by ShawnK — September 23, 2009

It’ll stand or fall with how easy it is to roll out in corporate environments. You’re going to need policy integration, centralized deployment and update management (no automatic updates without admins approving them first). This is where firefox has historically been weak, and why it hasn’t managed to put a foot down in enterprise circles.

If chrome frame manages to offer these things, I expect it will get deployed in quite a few places, possibly bringing IE6 down to “ignorable” market share levels, which would be just plain awesome.

Comment by Joeri — September 23, 2009

Although it’s not a new idea (people have been trying to get Gecko to run in Internet Explorer), it’s a nice one. Good to have a way to get SVG, , , CSS3, quick js engine. But I’ll probably only help with homeusers, since large companies will block plugin installs. Even then users need a reason to install them. (as in: their favorite website won’t work without)

But a nice aspect compared to older project like this is the fact that a meta tag can be used to select the renderengine instead of needing an ActiveX object on the page.

These are the Gecko in IE projects I know of:

http://www.iol.ie/~locka/mozilla/control.htm (Mozilla ActiveX control, last version was in 2005 ?)

http://starkravingfinkle.org/blog/2006/12/xule-what-if/ (dec 2006)

As for the idea to have Javascript do layout, some frameworks allready do this (or part of it). The framework we make at our company also lets Javascript do a lot of layout. All screens are defined in XML files in which all components/layout can be set in chars, pixels or parts (and min or max sizes if needed). The Javascript side calculates all needed space and sizes of all components and updates the layout.

Comment by Spellcoder — September 23, 2009

I can’t figure out whether Google Chrome Frame will auto-update. Anybody knows?

Comment by igitur — September 23, 2009

I love Google. Us getting rid of IE without users actually getting rid of IE. BRILLIANT!

Comment by BonoboBoner — September 23, 2009

@randomrandom: Netscape was better than any IE up to IE4, but IE5 was so better than Netscape that I had to switch. IE6 definitely won the browser war. MS disbanded the IE dev team, the Firefox started and took the lead in terms of performances. It was so better than IE6 that I switched to it.

Then came Safari and Chrome and MS started to try to catch up with IE7 and 8. Opera has been a 1-2% browser during all the period which means that either they don’t care about the desktop (they do fairly well on mobile devices) or their technical and marketing strategy is deeply flawed.

Comment by pmontrasio — September 23, 2009

From the developer point of view, is great, but from the normal user point of view, believe me, they don’t give a sh*t. They hardly find the R letter on the keyboard, do you think they are able to make any difference between IE and FF ? And for the other users, more advanced that uses their computers all day long, but not for developing, like writers, designers, etc – do you really they care? They don’t , they reinstall windows every 3 month, they clean up the viruses every week, and they open IE each time they are getting in the net. What about the big corporations? – yesterday Vodafone, sent to their servers all my personal data using guess what: IE6…
A plugin is hard to implement it in the real world – not our geeky world – maybe if we would be able to do something like FLash does – “Do u wanna see this – install this”.
But this will break all the accessibility rules, and make you loose part of the visitors( most of them ), so again is not a solution. I donno.

Comment by rborn — September 23, 2009

I’m really pleased that Google are doing this, and thinking of ways of enhancing the web for users of older browsers. However, I have a couple of concerns:

Firstly, when most IE6/7 users don’t upgrade their browser because they are either ignorant to the fact that they are running an old browser (or simply don’t care) or don’t have administrative rights to the machine what is to say that they are going to install an additional plug-in such as Chrome Frame.

Secondly, I am worried that this is going to muddy the water around these lower-end browsers. “I don’t need to upgrade, Chrome Frame works just fine” and cause confusion amongst the less savvy users.

Still, it’ll be interesting to see how this develops. As zachstronaut says, maybe this will lead the way for the detached rendering engine—serving, or at least switching, the engine to your specification.

Comment by samuelcotterall — September 23, 2009

What does this mean for JavaScript code that detects the browser version? Will it say Chrome or IE? If it says Chrome, then corporate apps could break, but if it says IE, some code that relies on things like Canvas & SVG might refuse to run

Another reason to use feature detection I guess.

Comment by sos — September 23, 2009

When looking at the “stuck in IE6″ issue, it’s important NOT to seek a 100% solution. There are some people that will never upgrade until they replace their PC. But a large segment of the IE6 population is there because of legacy (corp) web apps. Chrome Frame is a solution for these users. More importantly, it’s a solution that their IT departments can support – force IE6 on everyone’s PC for the legacy app, but install Chrome Frame so other web sites can take advantage of HTML5, faster performance, etc.

Comment by souders — September 23, 2009

A quote from Charles Miller (from Simon Willison’s Weblog):
“Ask browser users, and they’ll tell you the overwhelming reason why they can’t upgrade to a more modern, standards-compliant browser is because their work won’t let them. Ask IT departments why this is the case and they’ll point to the six- to seven-figure costs of upgrading turn-of-the-century Intranets written to work in, and only in, Internet Explorer 6. Google have provided a way for websites to opt out of IE6 (and even IE7) support without requiring enterprise-wide, Intranet-breaking browser upgrades.”
- Charles Miller

Comment by randomrandom — September 23, 2009

Let’s be realistic though, enterprises could always deploy firefox alongside IE6, and place shortcuts on the desktop launching IE6 only for those legacy intranet apps. That they don’t is probably because firefox is too hard to deploy in corporate environments. Chrome frame, as it exists right now, is no better. I see this plugin having a lot of potential, because it can be deployed without user retraining, but to realize that potential it will need to be easy to manage centrally.

Comment by Joeri — September 23, 2009

OK, so I’m answering my own question. Browser detection with Google Frame enabled on a site tells you that it’s Chrome, version 4 currently.

Comment by sos — September 24, 2009

This is *seriously* awesome!

We’ve just stopped supporting IE6 on http://www.soccerway.com and i will definately plug this in the dev team. Die IE6 Die!

Comment by SchizoDuckie — September 24, 2009

@Alex Russell
If this works, I must congratulate you on basically single-handed having upgraded the entire web and saved our souls!
.
GREAT news…!

Comment by ThomasHansen — September 26, 2009

I feel like a little dorky kid on Christmas morning. Still, I don’t think this is a cure-all or something to get upset about. I think it needs to be thought of a lot like Flash. IE users install Flash almost universally. They have no idea what Flash does. I’m sure when prompted for Silverlight, they install that, too. I’m not going to sit here and claim that Chrome will get 95% install rate, but this allows web standards to reach a lot of that audience that doesn’t understand what it means to either install flash or install a new browser.

i’m currently building a site that will have a relatively mac-ish audience, so this just makes me feel even more empowered to implement some CSS3 and not worry about IE.

Comment by sfaok — October 6, 2009

Leave a comment

You must be logged in to post a comment.