Mozilla

Browser Soup and Chrome Frame

September 28th, 2009

Last week Google released a new product in the browser space called “Chrome Frame.” Chrome Frame aggressively address a serious pain point for Web developers. However, the overall effects of Chrome Frame are undesirable. I predict positive results will not be enduring and — to the extent it is adopted — Chrome Frame will end in growing fragmentation and loss of control for most of us, including Web developers. Here’s why.

The Chrome Frame plugin is essentially a browser-within-a-browser. Chrome Frame inserts an alternative “rendering engine” into your browser, and allows websites to determine which rendering engine you end up using. (The “Why Chrome Frame” section below has a slightly longer description of the problems developers face and of Chrome Frame, for those not so familiar with browser technology.)

Chrome Frame and Loss of Control

Once your browser has fragmented into multiple rendering engines, it’s very hard to manage information across websites. Some information will be managable from the browser you use and some information from Chrome Frame. If the Smart Location Bar in the “browser” doesn’t show the sites you’re trying to return to, then you need to find a way to open Chrome Frame and search there. Your “browser” can no longer aggregate information for you across websites. This defeats one of the most important ways in which a browser can help people manage their experience.

For many people Chrome Frame will make the Web even more unknowable and confusing. Image you download Chrome Frame. You go to a website. What rendering engine do you end up using? That depends on the website now, not on you. And if you end up at a website that makes use of the Chrome Frame, the treatment of your passwords, security settings, personalization all the other things one sets in a browser is suddenly unknown. Will sites you tag or bookmark while browsing with one rendering engine show up in the other? Because the various parts of the browser are no longer connected, actions that have one result in the browser you think you’re using won’t have the same result in the Chrome browser-within-a-browser.

Getting different results will be awkward even for those of us who understand clearly what is going on. Then imagine someone who isn’t immersed in browser technology. Imagine trying to explain to a neighbor that one day he went to a website, clicked on a button to “add Web capabilities to your browser,” ended up with a duplicate “rendering” technology that surfaces and disappears based on website controls, and this now means that the search bar, location bar and other basic UI elements will work in different ways at different times. This affects individuals directly, and Web developers indirectly. It doesn’t help Web developers if basic ways of interacting with the site be
come awkward, for example if I don’t know where my password was stored and how to access it.

Chrome Frame and Fragmentation

Google is not the only website developer that would find this idea useful. Google is providing the set of features it believes are helpful for making powerful websites. Other websites will have browser features they would find useful for their applications. Imagine having the Google browser-within-a-browser for some sites, the Facebook browser-within-a-browser for Facebook Connect sites, the Apple variant for iTunes, the mobile-carrier variant for your mobile sites — all injected into a single piece of software the user thinks of as his or her “browser.” Each browser-within-a-browser variant will have its own feature set, its own quirks, and its own security problems.

The result is a sort of browser-soup, where a given user action serves up some sort of response, but it’s not clear what the result will be: are my passwords and history stored in chrome frame? Some other variant? In what I think of as “my” browser? This makes the Web less knowable, less understandable, and certainly less manageable.

Why Chrome Frame?

Web developers and website applications face a painful and seemingly never-ending problem: wanting to implement capabilities that some browsers don’t support. The degree of pain this causes is high. Imagine trying to cook a really fine meal with an oven that can’t get above 250 degrees F. In some cases it’s just impossible, in other cases it requires rearranging ingredients, cooking time and the order of preparation. Web developers go through this regularly.

One way of fixing this is to get people to use a new browser. This is effective, but hard. Mozilla Firefox has reached some 300 million people, but hundreds of millions more continue to use the browser that came on the machine they bought, sometimes years ago. Google began offering its own browser — “Chrome” — a year or so ago, but this has yet to gain significant traction. This week Google offered a different solution — a version of Chrome repackaged as a plugin for IE.

For those not familiar with the ins-and-outs of browser architecture, you can think of a browser as having two essential parts. One part we humans don’t see — it’s the part that “speaks” computer languages and talks with Web servers. This is often called the “platform” or the “rendering engine.” The other part is the set of things that human beings see and interact with, which is often called the “front-end” or the “application layer.” The application layer includes the basic browser user interface — the window around content, the buttons, menu items, search box, etc. It also includes parts of the browser that appear based on what you are doing — the dialog boxes, the download manager, the password manager, the security warnings and the other messages.

Chrome Frame breaks this connection by inserting a separate rendering engine into your browser, and allowing websites to determine which rendering engine you end up using. If you download Chrome Frame you see the basic front end of your previous browser, but websites cause your browser to toggle back and forth between the rendering engine of Chrome and the rendering engine of the browser you selected. The application layer of your browser and the platform part of your browser are no longer connected.

At first glance this looks like it might be a useful option, offering immediate convenience to website developers in alleviating a very real pain. But a deeper look reveals significant negative repercussions.

0

43 comments for “Browser Soup and Chrome Frame”

  1. 1

    Pingback from Toni Hermoso Pulido (toniher) 's status on Tuesday, 29-Sep-09 06:58:17 UTC - Identi.ca

    [...] http://blog.lizardwrangler.com/2009/09/28/browser-soup-and-chrome-frame/ a few seconds ago from IdentiFox [...]

  2. 2

    Pingback from Glyn Moody (glynmoody) 's status on Tuesday, 29-Sep-09 08:23:34 UTC - Identi.ca

    [...] http://blog.lizardwrangler.com/2009/09/28/browser-soup-and-chrome-frame/ a few seconds ago from Gwibber [...]

  3. 3

    Pingback from Alix Cazenave (alxc) 's status on Tuesday, 29-Sep-09 08:29:23 UTC - Identi.ca

    [...] http://blog.lizardwrangler.com/2009/09/28/browser-soup-and-chrome-frame/ a few seconds ago from IdentiFox [...]

  4. 4

    Pingback from Tim Anderson’s ITWriting - Tech writing blog » Hands On with Google Chrome Frame

    [...] see also Browser Soup and Chrome Frame by Mozilla’s Mitchell Baker, who does a good job of explaining why this is a bad idea – though [...]

  5. 5

    Lennie said on September 29th, 2009 at 1:32 am:

    This can only be a real success if Google Chrome Frame uses the settings, popups, etc. from IE. But I don’t think a plugin is allowed to do all that.

    On the other hand I fully agree and understand the why.

  6. 6

    RichB said on September 29th, 2009 at 4:33 am:

    Mitchell, this is ill-informed comment which is surprising given how much community spelunking has been done on Chrome Frame. For example:

    “Something that surprised me is that Chrome Frame continues to use IE’s underlying architecture for non-rendering features, like cookies, history and remembering passwords.”
    http://jimray.tumblr.com/post/194793633/more-technical-details-about-google-chrome-frame

    At the end of the day, Chrome Frame is very similar to IE8′s triple rendering engine Quirks/IE7Standards/IE8Standards – three significantly different rendering engines. If you squint a bit, it is even reminiscent of Gecko’s Quirks/AlmostStandards/Standards renderer.

  7. 7

    Jordan said on September 29th, 2009 at 7:21 am:

    I think the crucial part of this and where your concerns lie is not the idea of enhancing IE by embedding other part but rather where the line should be of how much needs to stay IE. Mozilla itself has done experimenting here, in Javascript (https://wiki.mozilla.org/Tamarin:ScreamingMonkey), Canvas (http://blog.vlad1.com/2008/07/30/no-browser-left-behind/), and more. Plus what web developers can already do with things like JQuery, ExCanvas, and others libraries using JavaScript.

    Chrome Frame does not include Chrome’s net stack, which is an interesting decision that means that IE’s cookies and a number of other features do not need to be “faked”. They will have to play catch up to whenever IE introduces a new feature, but that’s not a huge deal.

    I think anything in this field is bound to fail, since sites use UA detection instead of feature detection. So a site that does IF ie THEN activex would fail in Chrome Frame since Chrome uses NPAPI, not ActiveX.

    So overall, I think you have the right overall end conclusion but for some of the wrong reasons (the fragmentation argument is right on, the technical ones are not – and technical problems ca be overcome, especially by the engineers as good as the ones at Google).

  8. 8

    Johnny said on September 29th, 2009 at 7:41 am:

    If you look at Chrome Frame’s “Getting Started Guide”, at http://code.google.com/chrome/chromeframe/developers_guide.html , you’ll see that they’re fully aware of its current limitations:

    * Printing is not yet implemented.
    * Downloads initiated from Google Chrome Frame are downloaded, but neither the Google Chrome nor the host browser UI is displayed.

    It’d be wise not to jump the gun and let them fix their early-stage plugin.

  9. 9

    David Naylor said on September 29th, 2009 at 9:15 am:

    The big problem with Chrome Frame:
    http://davidnaylor.org/blog/2009/09/problem-with-google-chrome-frame.html

  10. 10

    Olivier said on September 29th, 2009 at 3:01 pm:

    You should do a Firefox Frame. You even should have thought of it first, you had more time.

    It’s a very nice way to embrace and extend IE, and smoothly transition to a better browser.

    I don’t care about about which rendering engine I’m using, as long as it works. I’m actually quite happy with a web site choosing which it wants, based on which will work best. I’m fairly sure I can control passwords, security settings, bookmarks …. either in Chrome Frame or in IE if Chrome uses IE’s setting… why the FUD ? Jealous much ?

    I agree that multiplying rendering engines for each site would be too much, but I don’t mind it when it’s not site-specific, but rendering-engine specific. You should brush up on the slippery-slope fallacy, your argument is not only weak, but makes you look foolish.

    I just wish you and Opera would stop whining and get to work. MS -and you- already include multiple rendering engines in their recent browsers, so …

  11. 11

    Steven said on September 29th, 2009 at 6:05 pm:

    “Mozilla is working on a much more ambitious initiative called Screaming Monkey [mozilla.org] that will make it possible to plug Mozilla’s entire next-generation JavaScript engine directly into Microsoft’s web browser. If these plugins gain widespread acceptance, it will empower web developers and give them the ability to target web standards and not have to compensate as much for Internet Explorer’s broken behavior”

    http://arstechnica.com/software/news/2008/08/mozilla-drags-ie-into-the-future-with-canvas-element-plugin.ars

  12. 12

    MarkT said on September 29th, 2009 at 6:28 pm:

    http://www.savarese.com/software/svgplugin/

    An alternative Firefox 3.5 engine plugin.

  13. 13

    handbags sky said on September 29th, 2009 at 7:03 pm:

    a very good websit:www.handbagssky.com

  14. 14

    handbags sky said on September 29th, 2009 at 7:08 pm:

    /wish you everything is well. ●

    — I would like to introduce a wonderful web-si-te to you…//// http://www.handbagssky.com

    –■They 0ffer Al1 kinds 0f handbag products ,they are planning to 1ower the prices reat1y in 0rder to adapt to the globa1 economic crisis, so that they can expand their 0verseas market!
    I have bought a gps,It is really nice, I’m very satisfied with their items services.

    ⊙ Have a good day/■

    ◆ Best regards●

  15. 15

    Peter said on September 29th, 2009 at 7:37 pm:

    I suspect that with CF, Google are preempting Microsoft seriously pushing Silverlight as the future of web-apps. Silverlight could, if it gains traction, become the Facebook/Apple/company-specific browser you warn of above, but here of course, the threat it very real not least because Win7 will presumably ship with Silverlight and consequently increase it’s market share. In that sense, Microsoft has nothing to worry about with “alternative” browsers taking share from IE since they [could] control an important propriety component.

    If Google had not produced CF, they could find it difficult to compete with Microsofts Silverlight powered web-apps since they’d effectively have to either run with Silverlight, or work with the lowest common denominator… which is… IE! Instead, CF presents very few issues to web developers; we can ignore it and continue as we are, in which case IE uses it’s native renderer, or we can choose to take advantage of the WebKit renderer, which is, happily, standards compliant.

  16. 16

    Pingback from Post Chrome Frame, fear seen in Mozilla! at indiWiz.com

    [...] one of the Mozilla’s top brass, Mitchell Baker, has taken the second route. Excerpting from her blog entry: For many people Chrome Frame will make the web even more unknowable and confusing. Image you [...]

  17. 17

    Martijn Vos said on September 30th, 2009 at 3:28 am:

    As Steven has already pointed out: how is Chrome Frame different from Screaming Monkey? And how does Mozilla’s Canvas Element Plugin fit into this? Doesn’t that create a completely new hybrid rendering engine, thereby really adding to the Browser Soup? (Unlike CF, which is exactly the same as an already existing browser, just made more easily availlable to users who are stuck with using IE for some outdated websites.)

    This blog sounds like the pinacle of hypocrisy to me. You’re doing exactly the same thing (possibly even moreso). Google just beat you to the punch, and Google has a lot of really popular websites that will help the widespread acceptance of this plugin.

  18. 18

    Weltreiselust said on September 30th, 2009 at 4:42 am:

    As a Webdev I understand that it can be a Pain in the a’* to tell the browser which engine I’d like. But if you think about it, it might spare me the time to test 20 browsers in my quality dashboard just to see that a headline moves two pixels to the right when using IE 6.whatever and not in IE 7….

  19. 19

    temper said on September 30th, 2009 at 5:22 am:

    i dont see any problem. its still beta – google developers are not stupid and will think about what they are doing. *and* its needed, if you try to write an web-api which has some features, you soon will find all browsers – exept webkit-based – are way too slow (firefox actually has the slowest rendering engine of all current browsers). after all, i dont think its for “simple” websites, its just a good way to make webapps run fast.

  20. 20

    Jean-Philippe said on September 30th, 2009 at 6:18 am:

    I see your point but don’t you think that the conformance to web standards that Chrome frame brings will help more than it harm ? After all, who care what browsing engine is used ? The conformance to web standards is the ultimate need and Chrome Frame will really help in that sense.

  21. 21

    Pingback from IE-Plugin unter Beschuss: Mozilla kritisiert Google Chrome Frame - WinBoard - Die Windows Community

    [...] [...]

  22. 22

    Pingback from Osss.cn 开源社区 » Mozilla支持Microsoft对Chrome Frame的批评

    [...] Mozilla的主席Mitchell Baker在她的博客文章中对这个话题保持了相似的观点。使用Frame将影响web标准,以及Google对统一所做的努力,在一个浏览器中加入另一个浏览器将导致更大的破裂。Baker指出,用户将在他们以前使用的浏览器中失去控制。结果将类似于‘browser suop’,用户不知道将发生什么事情,例如,用户不知道是在Chroem中还是在IE保存了他们的密码和记录。 [...]

  23. 23

    Pingback from Mozilla has no Chrome Frame love « Nitin Katkam

    [...] Foundation and former Mozilla CEO, criticizes Chrome Frame for causing what will end up as a “browser soup“. Baker views the situation from a web developer’s perspective – web developers now [...]

  24. 24

    Mitchell Baker said on September 30th, 2009 at 8:59 am:

    Olivier: it’s not that we can’t or don’t think of such things. We think of lots of things that we don’t do.

    Martijn, Steven: screaming monkey was a similar idea we explored for a while. As i said to olivier above, we think of lots of things. Some we explore, some we drop right away.

    Jean-Philippe: the idea of getting modern capabilities to people who won’t consciously choose a browser with them is indeed the point. It’s an interesting point whether Chrome Frame now and in the future really is an HTML 5 plugin, or whether it includes things (and ways of imlementing) things that are proposed by Google as standards but not agreed on — i think offline is like this now (or so I’m told, but I haven’t double-checked)

  25. 25

    hmb said on September 30th, 2009 at 9:58 am:

    The problem is the IE. Most designer are using Flash for any fancy stuff.
    Then the surfer uses the flash-engine but IE (or any other browser.)
    The same is true for chrome-frame. But it is at least HTML.

  26. 26

    orlando said on September 30th, 2009 at 6:04 pm:

    Let me suggest the Mozilla team this:

    don’t worry about Google Chrome; concentrate on fixing the big bugs of Firefox and try to re-engineer it to become a modern browser ( for example: one process per tab feature; sandboxing; start-up performance; fix the annoying +3 year old printing bugs; etc, etc )

  27. 27

    Sam Millie said on September 30th, 2009 at 11:08 pm:

    I thought IETab (a plugin to use IE rendering engine in FF) was there for years. Yet, nobody complained or did Mozilla pull it off their add-on site.

    Now why complaining CF?

    Facebook-browser-in-a-browser? How can a FUD more than this! We all know it’s almost a mission impossible to enter in the browser market. Even for GOOG, they are unable to gain a significant market share. Who else are interested in burning cash?

  28. 28

    Pingback from Google Chrome Frame brews ‘browser soup’

    [...] fact, she says on her blog, Lizard Wrangling, it amounts to “browser soup”, predicting it’ll, “end in growing [...]

  29. 29

    Pingback from Mozilla: “La extensión de Google para IE es una sopa” – ElPlog.com - V3.7

    [...] de Mozilla Foundation, lamentó la decisión de Google de insertar Chrome en el navegador IE. En su blog personal, Baker indica que el efecto general de Chrome Frame es “indeseable”, agregando que los [...]

  30. 30

    Pingback from Mozilla krytykuje Chrome Frame | OpenZone.pl

    [...] stanowisko zabrała prezes Fundacji Mozilla Mitchell Baker, nazywając Chrome Frame “zupą z przeglądarek”. Twierdzi ona, że wtyczka ta doprowadzi do utraty kontroli nad przeglądarką. “Gdy w [...]

  31. 31

    Pingback from Mozilla抨击Chrome Frame是“把浏览器搞乱” « 每日IT新闻,最新IT资讯,聚合多站点消息,保证你与世界同步

    [...] Baker在博客上称: “Chrome [...]

  32. 32

    Pingback from PC Helps Online » Tech Babble Round-Up: Ill-Tempered Edition

    [...] many people,” Baker wrote in her blog, “Chrome Frame will make the web even more unknowable and [...]

  33. 33

    Pingback from Mozilla ก็ไม่ชอบ Google Chrome Frame | ข่าวไอที ข่าวเกมส์ ข่าวคอมพิวเตอร์ บทความคอมพิวเตอร์ เกมส์ เทคโนโลยี

    [...] : บล็อกของ Mitchell Baker และบล็อกของ Mike [...]

  34. 34

    Richard Fink said on October 3rd, 2009 at 7:01 pm:

    @sam millie
    IE Tab is a completely different animal than Chrome Frame. There’s no equivalency. With IE Tab, the user is completely aware that the Internet Explorer rendering engine (whichever version happens to be installed) is being used to render content in a single tab. It happens by special arrangement and special request.
    Chrome Frame – what it does and when – is hidden from the average user. Once installed, it can be triggered by the developer, not the browser user, who is almost certainly not aware of what is going on.
    Let’s call Chrome Frame what it is: a Trojan Horse. And I’m glad to hear folks from Mozilla speaking up.

  35. 35

    Pingback from Just Browsing » In Defense of Chrome Frame

    [...] like Mitchell Baker and Mike Shaver have expressed their own reservations. In a blog post, Mitchell speculates that Chrome Frame may degrade the user’s browsing [...]

  36. 36

    Pingback from IT Crate Tutorial and Articles » Blog Archive » Why Google Chrome Frame Makes Mozilla Firefox Folks Uneasy

    [...] Baker worried that once a Web browser has fragmented into multiple rendering engines, it’s very hard to manage information across Websites. Chrome Frame, she said, will make the Web even more unknowable and confusing. Baker noted: [...]

  37. 37

    dl said on October 5th, 2009 at 4:56 am:

    sure seems to me that for all the good that Google has done and arguments for and against… this post says to me more than anything the heart of Mozilla is in a great place to become the great leveler in all of this and hold true to it’s mission. admirable.

  38. 38

    mostiwant said on October 6th, 2009 at 10:51 pm:

    i like chrome and firefox

  39. 39

    libertyguy said on October 8th, 2009 at 1:35 pm:

    yeah… why freedom, or liberty ?
    inter-operability isn’t te solution…
    windows should only run internet explorer… and internet explorer should only run internet explorer…
    factorisation inter-operability isn’t a solution.. why let the user plug, or choice… he is just dollars !

    so in the next windows : we don’t want that microsoft use his internet explorer!
    and we don’t want that google be inter-operable with internet explorer!
    so everybody : put firefox on your mbr : that is the finality of life !

  40. 40

    Qwertweb said on October 9th, 2009 at 6:17 am:

    gosh ,i love firefox ,
    and google have enabled frame code for ie , but y not firefox ?
    i suppose its already there !

  41. 41

    Joshua Issac said on October 9th, 2009 at 9:49 am:

    For those who are interested, Mozilla’s XULRunner can be used as a Gecko rendering engine inside Internet Explorer, although it is meant to be used as a standalone program. This way, you can view Firefox-only sites, which seem to become more and more common on the web (back the the Netscape days).

  42. 42

    Pingback from RSS For Gadgets » IE6: the browser that won’t die

    [...] websites specify a different rendering engine – one that benefits Google – inside IE. “At first glance this looks like it might be a useful option,” wrote Mozilla chairman Mitchell Baker in a blog post, “but a deeper look reveals [...]

  43. 43

    Pingback from IE6: the browser that won’t die | World News

    [...] websites specify a different rendering engine – one that benefits Google – inside IE. “At first glance this looks like it might be a useful option,” wrote Mozilla chairman Mitchell Baker in a blog post, “but a deeper look reveals [...]

Skip past the sidebar