Mozilla fears Chrome Frame, but complaints don’t convince

Google last month launched a new open source project called Chrome Frame, a browser plugin that brings Chrome's powerful HTML renderer and high-speed JavaScript engine to Microsoft's browser. The plugin will allow Internet Explorer users to enjoy next-generation Web applications like Google Wave by providing critical performance improvements and strong support for emerging standards.

Despite the benefits that the plugin offers to end users and the Web development community, other browser vendors have some concerns about the implications. Mozilla and Microsoft have raised some valid questions about potential problems with Chrome Frame, but we're still not convinced that the plugin is a net loss for the Web.

The charge

Mozilla boss Mitchell Baker argues that injecting an alternate rendering engine into IE will create confusion and disrupt the browser's basic functionality in key ways. Even worse, she fears that it will lead to the proliferation of site-specific rendering plugins that will fragment the Web. Mozilla VP of engineering Mike Shaver also expressed concern, citing the multitude of problems created by existing browser plugins. In an interview with ComputerWorld, Shaver expressed concern that Google might even bring Chrome Frame to Firefox.

Mozilla developers have experimented with similar projects in the past with varying levels of earnestness. Mozilla's Screaming Monkey initiative, for example, aimed to provide a plugin for bringing Mozilla's JavaScript engine to Internet Explorer. Mozilla developers have also created an experimental IE plugin that injects Mozilla's implementation of the HTML 5 Canvas element. The Mozilla developer behind that project has suggested that the same technique could eventually be used for other key HTML 5 features such as video.

Although the scope of these plugins is significantly smaller than Chrome Frame, and they would theoretically be less disruptive to browser functionality, they still create many of the same problems and represent an equal contribution to what Baker disapprovingly describes as "browser soup." At what point does the breakage inherent in the plugin model outweigh the advantages of introducing improved support for modern standards-based, open Web features?

Worth worrying about?

I was somewhat puzzled by Shaver's comments about the possibility that Google might bring Chrome Frame to Firefox. He doesn't know if Google will choose to make Chrome Frame available for Firefox users in the future, and Google has done nothing to indicate that it will.

It's hard to imagine why Google would want or need to release Chrome Frame for Firefox, and it's such an improbable scenario that it shouldn't warrant real contemplation. Firefox is a modern browser with support for emerging standards and a reasonably fast JavaScript engine. Chrome's renderer may offer some advantages over Firefox's built-in renderer in a handful of specific contexts, but not to a degree that would necessitate the swap. A point that seems to be getting lost here is that the goal of Chrome Frame is to make Internet Explorer support standards-based features that are already in all other browsers, including Firefox. If Firefox is already conforming with those standards, why would Google need Firefox users to have Chrome Frame?

Shaver is concerned that Google could use Chrome Frame to push its own non-standard features or standards-based features that aren't widely implemented into Firefox and IE, thus creating the risk of Google lock-in by encouraging developers to code to features that aren't available elsewhere. But Google already has a plugin for bringing non-standard Web features to Firefox: Gears.

Gears allows Google to prototype new Web features and make those features accessible in its own Web applications. Google has largely used Gears as a proving ground for features that it wants to introduce as future Web standards. Mozilla has done similar things, like offering plugins for its early implementation of WebGL, which was later moved natively into the browser as it gained multi-vendor support through the standards process.

It's worth noting that Shaver is an enthusiastic supporter of Gears. If Google wants to experimentally introduce new non-standard features in Firefox, it can continue doing so with Gears while using Chrome Frame to push those features into IE along with support for modern Web standards. Mozilla has never objected to Gears even though it exhibits the same sort of problems as Chrome Frame, disrupting IE features such as Web Slices and Accelerators.

Ultimately, I don't disagree with Mozilla's underlying assertion that Chrome Frame breaks certain features of IE in ways that are undesirable. But those issues could potentially be remedied to an extent that would make Chrome Frame a tolerable solution. It's possible to identify where breakage happens and make the user experience more seamless. For example, one of the current problems is that Chrome Frame ignores the user's accessibility font settings; that's fixable.

I also strongly agree with Mozilla's assertion that the Web would be better off if we could encourage users to install a better browser rather than running a better renderer as a plugin. I don't think that the two approaches are mutually exclusive, however. There is no reason why Google can't encourage people to upgrade while providing Chrome Frame as a solution for those few who can't or won't. The plugin could even be helpful as a tool for gradually transitioning users to the full Chrome browser.

Browser vendors are all painfully aware of how plugins can degrade the user experience, so it's understandable that Chrome Frame would face a lot of trepidation. It's certainly worthwhile for Mozilla to be bringing up these issues, and I hope (and suspect) that Google values the feedback.

Still, I'm not convinced that the problems with Chrome Frame outweigh the fragmentation and deleterious effects that legacy versions of Internet Explorer continue to have on the market. Are you?

73 Reader Comments

A point that seems to be getting lost here is that the goal of Chrome Frame is to make Internet Explorer support standards-based features that are already in all other browsers, including Firefox. If Firefox is already conforming with those standards, why would Google need Firefox users to have Chrome Frame?

There'd be no technical reason, of course. But if Google encourages users to install such a plugin, a lot of people will do so.

It depends on whether you think the goal of Chrome Frame is to help users experience a better Web on IE, or whether the goal is to give Google more control over and data about users. The real answer probably lies somewhere on that continuum, but there certainly is some incentive for Google to offer a frame solution for Firefox.

Firefox is a great browser but I get tired of hearing Mozilla people complain about Safari / Webkit / Chrome. Really I think this is more a case of the Mozilla people being upset that they are no longer the one and only popular open source browser. Now they actually have to compete for media attention and programmers where as before they were the only game in town.

They didn't develop it of course, so they're a step removed, but it's still implicitly supported by making it available.

Completely wrong. IT tab is used to display pages that don't work properly on non-IE browsers. Allowing plug-ins is in no way supporting whatever you are implying, regardless of the level of illogical reasoning you use.

Originally posted by Kristofff:Completely wrong. IT tab is used to display pages that don't work properly on non-IE browsers. Allowing plug-ins is in no way supporting whatever you are implying, regardless of the level of illogical reasoning you use.

I was going to ask about IETab, but SeanJW beat me to it. IETab embeds Trident in Firefox's chrome:// protocol. Exactly how is that safe to begin with? For the uninitiated, Trident is the engine behind Internet Explorer. What Google is doing here is no different from what IETab does. I don't hear people whining about injecting Trident into Firefox...

So wait a min.... If you use IEtab in Firefox with Chrome Frame installed in IE8, which rendering engine are you using. If it loads Chrome's rendering engine that totally negates the point of using IETab.

...And LinuxMonkey007, Now you're just being stupid. The point of both plug-ins is EXACTLY the opposite to each other.

I think Mozilla is just mad they didn't have the cojones to do it themselves. They were probably too scared to piss off MS. Its a known fact that IE has been holding progress back, maybe this will force MS to actually support the standards most other browsers already do. Frankly the day I see a web page demanding that users install chrome frame or use another browser is the day I that the internet has finally arrived. I'm freaking tied of seeing pages that only work well in IE and any company putting out pages like that should be ashamed of themselves and their web devs fired.

They didn't develop it of course, so they're a step removed, but it's still implicitly supported by making it available.

Completely wrong. IT tab is used to display pages that don't work properly on non-IE browsers. Allowing plug-ins is in no way supporting whatever you are implying, regardless of the level of illogical reasoning you use.

So you are saying that it is the intent that separates the two? If so, that doesn't really mean much effectively IMHO.

Originally posted by Killwize:...And LinuxMonkey007, Now you're just being stupid. The point of both plug-ins is EXACTLY the opposite to each other.

I'd like an explanation on the idea on how I am being stupid. Perhaps I am too stupid to notice.

All I said is that IETab is no different to Chrome Frame in what they do: they embed a different rendering engine in a web browser. The point of them is different, yes, IETab is designed to make things that are designed for a broken browser work, Chrome Frame is designed to make things that are designed for good browsers work in a broken browser. That does not change the fact that either will embed an external rendering engine in a browser that was not designed to use it.

I can't quite understand how, on weighing the balance of everything, Mozilla could conclude that Chrome Frame is a bad thing. The only kind of potential "fragmentation" of the web that I can see here would be between sites that remain IE-compatible without modern extensions, and those which just say "enough is enough, if you won't get a proper browser you must install this plugin". That kind of fragmentation is surely better than stagnation, which is basically where we're at now.

OK, so Google could create a Chrome Frame for Firefox, but who would use it? There doesn't seem to be a whole lot of point, and there's no evidence yet that Google would use such a thing to push it's own web extensions...that seems highly unlikely to me considering they have Gears. If Google were to pull a stunt like that, they'd probably end up driving people back to Firefox.

I agree with apoclypse, Mozilla are just mad that Google has the balls to do this when they don't, so now they're going to lose some market share. Mozilla just needs to stop whining and build themselves a Gecko Frame plugin! That way it would all become so mix-and-match that the only standards would be the real ones...the difference being that those standards would have majority browser support.

Dreamland here, but my ultimate browser would be Chrome (Javascript speed, multi-process tabs) with Firefox's extensions. Whether we get to that quicker with a "Chrome frame" for Firefox, or Chrome's extensions actually taking off.. who knows.

Any article which references Mitchell Baker's post ought to mention that it was complete hogwash. He basically made two points:

1) Chrome Frame will make the user experience worse because certain sites will have different remembered passwords, cookies and history and the cause of this will be completely obscure to all but the most technically adept.2) Some vague FUD about "browser soup".

As you can see, only one of these is a real point... and it would be a good one... but it just isn't true! Chrome Frame uses the IE passwords, etc.

Originally posted by kobolds:I don't get it . why google want to waste time to do such things

Billions and billions of dollars are at stake.

I routinely refrain from adding advanced new features to some of my own web apps because they run too slowly in IE.

Microsoft has a vested interest in keeping JavaScript slow, so that online applications cannot be fast and compete with their desktop apps.

With a fast enough Javascirpt (or other future standard script impl) and improving web standards, Google will be able to offer an online version competitor to, for example, Microsoft Project (a $1B/year revenue MS product). In addition to the direct revenue loss, people who switch to Google's (or another company's) online version are then less compelled to stick with windows as an OS.

Google undoubtedly has apps in development right now (in addition to Wave) that just run too slowly on IE.

I still want to know what these "key areas" are when it comes to breakage. They always say there are "key areas" that will suffer, or that "user experience" will "degrade". But they never do specify in what way. I think they're trying to cover their asses with bullshit to tide people over when it comes to news.

Originally posted by theseum:Also I would like to add that I don't understand why people are so worked up about a concept that is so obviously doomed.

this depends on what google tries to do with it. ie if google wave is so game changing for email, that it pretty much starts to replace email and instant messaging, then yeah, i could see people downloading a plugin to use it.

I don't think people realize how "evil" this is as a software development precedent. Company A doesn't like Company B's product so they inject their (company A's) product functionality into it. What could possibly go wrong with that?

It's funny, if this were the other way around or in a different context (say the web itself) then people would be breaking out their pitchforks and torches to go on a witch hunt. For instance if I write a plugin to replace all of Arstechnica's ads with my own, how well would that be received? If MS creates a plugin for IE8 that replaces google.com with the BING search engine because they didn't like the functionality or look of google.com how do you think that would go over?

The only reason the blogs and the general public don't see this as a problem is because everyone wants to move the web forward and IE6 is a major sticking point; but that doesn't make Google's approach right. In addition, Google still seems to hold some "we do no evil" halo around their head and is seen as the underdog to the monopolistic Microsoft software machine. It's rather ironic, and I don't know how long it's going to take for people to realize, but Google is the monopoly of the web.

Furthermore, from a web development standpoint there are some serious issues with this approach and first and foremost is security. What we don't want is people running around with a fairly insecure IE6 believing "it's ok" because they have Chrome Frame (CF) installed; that simply doesn't help anyone.

Secondly, now my company has to field tech support issues about why feature X works on this CF enabled site and why it doesn't work on our proper IE6 site when we spent the extra time and money to care for those users. We neither asked for or wanted that burden, and, in fact, have that problem solved : if you want more features, upgrade your browser. As far as I know the incentive approach has never failed any modern business to this date.

Third, I now have to lock myself into supporting a plugin which may or may not be upgraded on any sort of reasonable schedule when I really should just be supporting web standards in the first place.

As I said on another forum, if Google really wanted to help the web move forward they should have put their vast resources to bringing OGG Theora up to speed and their excellent legal team into figuring out the patent issues for the codec to get it accepted into HTML5. That would have helped everyone, no question about that.

Originally posted by theseum:Also I would like to add that I don't understand why people are so worked up about a concept that is so obviously doomed.

Chrome Frame makes a lot of sense if you think of it as an enterprise tool rather than something end users would worry about.

For IT departments mired on IE, they now have something which will allow them to gradually transition to modern web technologies -- without having to upgrade everything in one shot, or forcing users to use two different browsers. For vendors developing corporate applications (e.g. Google Wave), they can save tons of development time by not hacking in downlevel IE support. Even for simple CSS2 sites with no advanced Javascript, this is useful.

Google provided something Microsoft was unwilling to - a roadmap off of IE6.

I think a major point that people are missing here is that the Frame uses the native renderer unless explicitly requested/specified by the site being visited. So, for Frame to be engaged you have to have the client with the plugin installed AND the server sending the appropriate trigger metatag. That might change, but for now it seems like a benign way for google to realistically be able to push it's webapps.

Google provided something Microsoft was unwilling to - a roadmap off of IE6.

MS would luuuuuuuv to get everyone off IE6. The holdouts these days are almost purely corporations still running XP and who can't or won't upgrade. Win7 and XP Mode is MS telling these corporate troglodytes that there are no more excuses: If XP+IE6 compatibility is that important, well it's built right in, but IE8 is along for the ride like it or not, so you may as well start integrating that too.

Originally posted by theseum:Also I would like to add that I don't understand why people are so worked up about a concept that is so obviously doomed.

Chrome Frame makes a lot of sense if you think of it as an enterprise tool rather than something end users would worry about.

For IT departments mired on IE, they now have something which will allow them to gradually transition to modern web technologies -- without having to upgrade everything in one shot, or forcing users to use two different browsers. For vendors developing corporate applications (e.g. Google Wave), they can save tons of development time by not hacking in downlevel IE support. Even for simple CSS2 sites with no advanced Javascript, this is useful.

Google provided something Microsoft was unwilling to - a roadmap off of IE6.

...and you think an enterprise can't install Chrome side-by-side with IE, if they wanted any such functionality?

Originally posted by smartalco:As a web dev, I don't really care what the motive, the less marketshare IE6/Trident has, the better.

With this plugin you don't have to care about the marketshare of IE.You can just ignore Trident and develop only for WebKit/Gecko and then, instead of hacking the code to make it work on IE, just add the specific Chrome Frame tag and the piece of code to prompt the user for plugin installation and voilà

IMHO Mozilla is scared about this plugin simply because actually if a developer won't loose time for IE, he/she simply recommend the user to install another browser, tipically Firefox.But now the developer can simply add the code for the plugin instead of trying to convince the user to switch completely to another browser for a better user experience.

Before we all carry on with our usual hyperbole and conjecture, can I raise a couple of important facts. Google Chrome Frame does not "replace" MSHTML.dll (Trident), which remains the "default" engine. A designer/developer must put this line of code,

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

in the head section of the page markup to use Chrome Frame as the HTML renderer.

Mozilla fears Google. Which it should. Since its release, Chrome has improved by so much that Firefox appears to be stationary. Hasn't it occurred to them that Chrome should have been what Firefox should transform into when they tossed Mozilla suite into the fire?

I still use Firefox at home, but in the office where NTLMv2 authentication is needed, Chrome Dev Channel rules (while IE8 sucks monkey balls on 512MB RAM).

Once Chrome gains the ability to read RSS feeds and gets extensions, Firefox has nothing left that is superior to it.

The only way you're going to finally get people off using legacy versions of IE is to stop supporting them. They get an "upgrade your browser" page, and that's it. Stop wasting effort to support this laziness.

Originally posted by GenericAnimeBoy:The only way you're going to finally get people off using legacy versions of IE is to stop supporting them. They get an "upgrade your browser" page, and that's it. Stop wasting effort to support this laziness.

You're right, but imo you're missing the point of that plugin.With google Chrome Frame you are NOT supporting legacy stuff like IE6, instead you are supporting ONLY newer engines like WebKit (or Gecko which is standard compliant too).In other words, with Google Frame you can forget about Trident, developing only in standard ways with WebKit BUT instead of trying to force people to switch browser, which sometimes is not possible or simply people don't want to change interface, you simply prompt them with plugin installation (like flash or silverlight) and than they can view your site.So no more Trident specific crap in the code, no more Trident specific support, only the ability to maintain IE as a shell for WebKit+V8 engine.

All the talk about this transitioning people away from IE 6 is missing an important point. Corporations stick with IE 6 because their internal web apps only work on IE 6. Chrome Frame does nothing to fix this problem.In that sense, the IE tab extension for Firefox is much more useful. I use it in Firefox so that I can still use our internal web applications without having to fire up IE 6.

Originally posted by wjousts:All the talk about this transitioning people away from IE 6 is missing an important point. Corporations stick with IE 6 because their internal web apps only work on IE 6. Chrome Frame does nothing to fix this problem.In that sense, the IE tab extension for Firefox is much more useful. I use it in Firefox so that I can still use our internal web applications without having to fire up IE 6.

You are correct to say that Chrome Frame doesn't help with existing legacy infrastructure (whole other argument—greedy bean counters or lazy IT not maintaining software), but and this is important to understand, Chrome Frame does not replace the Trident (MSHTML.dll) rendering engine. The idea is simple. The developer/designer adds this line of code to a page:

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

which tells IE to switch to Chrome Frame if it is present. Obviously, legacy web apps will not be affected andwill continue to be rendered by Trident, as will external pages that do not have the above code in them.