Google Chrome Considered Harmful

It appears that Google scored a PR success with their Chrome browser. In short, the promise is a web experience where web pages are allowed to behave more like desktop applications. This is done by boosting the abilities of common web pages in terms of performance, while also allowing ‘plugins’ to enrich the user experience of certain other pages. As it seems, the announcement shot at the heads of people who’ve been holding their breath for the fabled Google Operating System. However in the following text I will demonstrate that Chrome [based on what we are allowed to know] puts strain on the Designer and Developer communities, is not innovative (save for one feature), and copies ideas liberally from Google’s worst enemy.

In order to explain the product, Google has appointed Blogoscoped to create a cartoon story that explains the product. I really feel that the explanations given in it do a disservice to the public, by making them want things that they don’t fully understand. I also feel that if they did, they wouldn’t want them anyway.

My greatest problem with the cartoon strip is that while it’s supposed to explain how Chrome works, it really explains how all major browsers work, implying that these features were invented for Chrome alone.

So I’d like to count pages with you dear reader and comment on what I read.

This is the first fallacy, and it’s being introduced early because it’s fundamental to the rhetoric that follows. Web pages, are fundamentally still html (presentation markup) and javascript (behavioral logic). Javascript especially, while being quite capable, is still several orders of magnitude slower than code running in the OS. Therefore it almost always is used to process the presentation of the application, while the actual processing is done at a web server.

Next up, a figure wonders if it would be great to have a new browser. Apparently, it could be great. On the other hand designers, that will have yet another browser to test their pages against, wouldn’t be delighted. Neither would plugin developers such as Adobe, Sun and Microsoft that would have yet another environment to support for their Flash, Java and Media Player + Silverlight plugins.

Next up an engineer is suggesting that it would be great if every browser page was isolated in a different process. This would mean greater memory consumption, but on the far end better stability and so on. Further along, they suggest that this requires more headstart memory but leads to less memory use further along. This is exactly how tabs work in Internet Explorer 8. Each tab is isolated in a process, it can’t even communicate with other tabs and so on. Furthermore, when a tab crashes, it alone is eradicated, the memory is freed and the tab is rebooted. By chance, Google’s Chrome does the same.

This however flat out leads to greater memory consumption. There is no way that the end overhead is smaller, except if a browser’s javascript engine or a plugin attached to the process is leaking memory. Google is willfully misguiding readers when stating this. There is no way that this would lead to less ‘bloat’. IE8 also uses a lot more memory than IE7 precisely because of this.

As mentioned, Google banks on the idea that browser tabs are leaking memory. Thankfully there is an easy fix for this. Either use IE8, or when loading a demanding web page, do so in a new browser window, which operates on a separate process.

Next up a process manager is suggested. This is indeed a useful idea, and a beneficial one. It remains to be seen if users want their browsers to be as complex an experience as managing their desktop. A big part of the success of the web lies in the idea that there is less management to be done. Google’s idea here is that pages will be very demanding in terms of processing either because the html + javascript combination is so inefficient that it can’t even handle the presentation layer of an application, or because they plan to move more business logic to the user end.

Then the authors suggest that there is extensive automated testing done to ensure that Chrome works with a great deal of web pages. This implies two things: either they want to ensure that it doesn’t crash, or that the browser may introduce rendering or javascript incompatibilities. So Google is deliberately putting it’s weight behind a project that will put even more stress to Designers who are debugging their CSS and Developers that produce popular javascript libraries such as JQuery, Dojo and so on.

The next page explains clearly that Google has indeed modified the webkit renderer and therefore is indeed a new platform that will have to be tested against.

And as expected a new javascript engine to be tested against was also introduced. The idea of using a virtual machine to serve javascript is also used by Microsoft in the Silverlight containers, pushing to massive performance gains. The difference is that Microsoft isn’t pushing this in the browser itself, making it a target for testing in traditional web pages.

As more details get revealed, we are told that the fact that the script engine is fully virtualized and that it uses more memory to keep tabs on how the rest of the memory is used is a good thing. While it is true that this will lead to a more acceptable experience in demanding applications, it’s putting a significant overhead on simpler ones that do basic things.

And then the real intentions are revealed. This is all meant to enable real heavy pages, not benefit the vast majority of use cases. It would be great if we knew the overall percent difference in memory usage on the pages that are tested for rendering conformance.

This is a very bold claim, and incidentally it’s how the Opera browser works. This makes sense initially, however it means a few things:

  • You have to traverse more pixels each time you switch to a page.

  • The only reason why you wouldn’t want the traditional model where buttons effect the active tab is that you want web pages to be able to change the UI to better adapt the user experience. However if you’ve ever been rickrolled, you know you don’t want the web site to have that much control on your experience.

  • Looking at it carefully. The tabs are essentially a taskbar like in Windows. If you add a start menu to the left, you have the Windows Shell, pure and simple.

The omnibox concept exists already in Firefox and IE8 alike. The comic strip suggests that it’s more developed, but the drawing doesn’t reveal anything like that.

Again, similar features exist in Opera and IE8. Opera in fact is identical to this behavior.

Which is exactly how things work in Safari and IE8.

The browser also uses your history to feed the front page. This leaves a gap however. There are many decent sites that are not work safe. Essentially this leaves users either risking their image towards others or loosing convenience by browsing in Incognito mode.

To address the security problems that will inevitably arise (as is correctly pointed out), the concept of sandboxing is introduced. This too is not innovative. Privilege isolation is part of all major browsers, and most of all, part of the ones shipped inside Windows and OSX since the browsers are actually used for many processes intrinsic to these OSes.

This could not be more true. It is however also misleading. This is clearly aimed at Flash’s architecture where the main Flash process which runs with almost driver-like privileges serves all the instances of the plugin. This however is done to reduce memory consumption. Instead of replicating all the t0 overhead, Adobe’s engineers chose to reuse the memory at hand. With all it’s drawbacks, the decision is clearly the correct one.

Protecting users from phishing sites is done using the same black list that Mozilla already uses. The same kind of service also existed in IE7 and Opera.

Overall, I’d also like to point out that the entire comic has a clear marketing flair to it, targeted at making users want something they aren’t sure they would. The little technical accuracy in it is also designed to arm the hands of less savvy tech writers with an existing bias for Google’s ventures. Throughout the strip, Google employees appear as whitecoats or apprentice magicians, pushing quotes that don’t stand to scrutiny. There is also a great deal of self appraise and flattery. There is a bit of goodwill, where the characters recognize that they have adopted ideas from others, but these pieces are always downplayed and secondary.

If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.


  1. 2008-09-03 3:47 pm
    • 2008-09-03 3:54 pm
      • 2008-09-03 5:26 pm
    • 2008-09-03 4:14 pm
      • 2008-09-03 4:32 pm
        • 2008-09-03 6:41 pm
          • 2008-09-03 6:47 pm
      • 2008-09-03 4:32 pm
      • 2008-09-03 4:36 pm
        • 2008-09-03 4:50 pm
      • 2008-09-03 8:39 pm
    • 2008-09-03 10:07 pm
  2. 2008-09-03 3:49 pm
    • 2008-09-03 4:38 pm
      • 2008-09-03 4:41 pm
      • 2008-09-03 8:00 pm
      • 2008-09-03 8:20 pm
    • 2008-09-03 8:56 pm
      • 2008-09-03 9:42 pm
        • 2008-09-07 12:40 am
  3. 2008-09-03 3:51 pm
  4. 2008-09-03 3:52 pm
    • 2008-09-03 4:38 pm
    • 2008-09-03 4:40 pm
      • 2008-09-03 5:20 pm
    • 2008-09-03 5:55 pm
  5. 2008-09-03 3:54 pm
    • 2008-09-03 4:30 pm
      • 2008-09-03 4:40 pm
  6. 2008-09-03 4:03 pm
  7. 2008-09-03 4:05 pm
    • 2008-09-03 9:02 pm
  8. 2008-09-03 4:08 pm
  9. 2008-09-03 4:09 pm
    • 2008-09-03 5:48 pm
    • 2008-09-07 9:56 pm
  10. 2008-09-03 4:13 pm
    • 2008-09-03 4:30 pm
      • 2008-09-03 9:08 pm
  11. 2008-09-03 4:17 pm
  12. 2008-09-03 4:26 pm
    • 2008-09-03 9:11 pm
  13. 2008-09-03 4:33 pm
    • 2008-09-03 7:09 pm
    • 2008-09-03 8:33 pm
  14. 2008-09-03 4:33 pm
  15. 2008-09-03 4:40 pm
    • 2008-09-03 4:51 pm
  16. 2008-09-03 4:40 pm
    • 2008-09-03 4:50 pm
      • 2008-09-03 6:15 pm
  17. 2008-09-03 4:40 pm
    • 2008-09-03 4:46 pm
      • 2008-09-03 4:56 pm
        • 2008-09-03 5:04 pm
      • 2008-09-03 6:25 pm
  18. 2008-09-03 4:56 pm
  19. 2008-09-03 4:59 pm
  20. 2008-09-03 5:01 pm
    • 2008-09-03 5:06 pm
    • 2008-09-03 5:53 pm
  21. 2008-09-03 5:06 pm
  22. 2008-09-03 5:08 pm
  23. 2008-09-03 5:23 pm
  24. 2008-09-03 5:37 pm
  25. 2008-09-03 5:56 pm
  26. 2008-09-03 5:59 pm
    • 2008-09-03 6:12 pm
    • 2008-09-03 6:36 pm
      • 2008-09-03 7:29 pm
      • 2008-09-03 8:20 pm
  27. 2008-09-03 5:59 pm
  28. 2008-09-03 6:28 pm
    • 2008-09-03 7:00 pm
      • 2008-09-03 8:33 pm
        • 2008-09-03 9:59 pm
  29. 2008-09-03 6:36 pm
  30. 2008-09-03 6:44 pm
  31. 2008-09-03 6:53 pm
  32. 2008-09-03 7:01 pm
    • 2008-09-05 10:24 am
  33. 2008-09-03 7:09 pm
  34. 2008-09-03 7:13 pm
  35. 2008-09-03 7:41 pm
    • 2008-09-03 8:46 pm
  36. 2008-09-03 7:42 pm
  37. 2008-09-03 8:01 pm
  38. 2008-09-03 8:13 pm
  39. 2008-09-03 8:41 pm
  40. 2008-09-03 8:53 pm
  41. 2008-09-03 9:53 pm
  42. 2008-09-03 11:45 pm
  43. 2008-09-04 12:31 am
  44. 2008-09-04 5:56 am
  45. 2008-09-04 6:56 am
    • 2008-09-04 12:28 pm
  46. 2008-09-04 8:35 am
    • 2008-09-04 2:07 pm
  47. 2008-09-04 3:48 pm
  48. 2008-09-04 6:45 pm
  49. 2008-09-04 8:22 pm
  50. 2008-09-05 12:10 am
  51. 2008-09-05 5:47 am
  52. 2008-09-05 5:52 am
    • 2008-09-05 10:22 am
  53. 2008-09-05 10:15 am