Google Chrome vs. Internet Explorer 8
They're back! Just when you thought the "browser wars" were over, with the two camps -- Microsoft and Mozilla.org -- settling in for a kind of intransigent détente, along comes Google to stir things up all over again. Clearly Google is unhappy with the current state of browser geopolitics and feels it needs to roll its own in order to ensure a robust base for its myriad hosted applications (e.g. Gmail, Google Docs, etc.)
To that end, Google has designed an almost completely new Web browser. In fact, other than the core rendering engine -- which is based on the open-source WebKit standard of Safari fame -- everything in Google Chrome constitutes a rethinking of how you engineer a browser application. For example, with the current versions of Mozilla Firefox and Internet Explorer, individual Web page tabs are hosted in a single process -- a model that is efficient (in terms of memory and resource consumption) but also prone to catastrophic failures: A single crashed tab can easily take down the entire browser application.
Chrome seeks to eliminate this problem by isolating each tab within its own application process and then leveraging the built in memory protection capabilities of modern, preemptively multitasking operating systems to keep code and data in a failing tab from stomping on other processes. So now, when that buggy Flash applet on your favorite humor site goes belly up, it won't necessarily take down the entire browser -- the processes running in other tabs will keep chugging along.
This is a big deal for Google, which is banking on wider adoption of its hosted application offerings and battling the perception that browsers are unreliable, especially when you start running multiple Web applications in a tabbed format. Nobody wants to trust their line-of-business applications to an unstable environment, so Google hopes that Chrome will provide the kind of robustness that can assuage customers' fears.
Double Stuff Browsers
Of course, few technology ideas are truly original, and the case of the multi-process, tabbed browser is no exception. In fact, Google can't even claim to be the first to market with this model -- Microsoft beat them to the punch by a week when it released its own take on multi-process browsing in the form of Internet Explorer 8 Beta 2.
Like Chrome, IE 8 uses multiple, discrete processes to isolate and protect each tab's contents. However, while Chrome takes a purist approach and literally launches a new process with each opened tab, IE 8 uses more of a hybrid model: It creates multiple instances of the iexplore.exe process but doesn't specifically assign each tab to its own instance. Thus a look at Task Manager under Windows will show an equal or greater number of Chrome instances than running tabs, whereas IE 8 will generate a fewer number of instances -- for example, six copies of iexplore.exe to support 10 discrete tabs -- and share them among the running tabs.
How these two variations on a theme will hold-up in the real world remains to be seen. My take is that Google's purist approach will ultimately prove more robust, but at a cost in terms of resource consumption. In fact, both Chrome and IE 8 stretch the limits of current PC hardware by gobbling up enormous amounts of RAM while saturating the system with lots of concurrent execution threads.
This new development -- browsers chewing-up more memory than their host OS -- is something I documented in my Enterprise Desktop blog earlier this week. At the time, I was shocked by how bloated IE 8 had become, consuming 332MB of RAM to render a simple 10-site/10-tab browsing scenario. Then I evaluated Google's Chrome and my expectations were reset yet again. Not only did the "fresh start" Chrome use nearly as much RAM (324MB) as the legacy-burdened IE 8 during peak browsing loads, it actually "out-bloated" IE 8 over the duration of the test, consuming an average of 267MB versus. IE 8's 211MB (you can read more about these test scenarios at the blog).
Clearly, these are products targeted at the next generation of PC hardware. With nearly 20 percent of a 2GB PC's memory consumed by Web browsing, and with IE 8 spinning more than 170 execution threads on Vista to complete the same aforementioned 10-site scenario (Chrome spins a much more conservative 48 threads), we'll need to rethink our ideas of acceptable minimum system requirements. At the very least, you're going to need multiple processing cores and many gigabytes of RAM to support this new, more demanding take on Web-centric computing.
To be fair, I must mention that both IE 8 and Google Chrome are still in the Beta stages of development. Chrome, in particular, is in its first public test release cycle, while IE 8 is only now being made available in a "feature complete" form (previous IE Betas were notably short on innovation). And it's also important to consider all of the non-architectural changes that these browsers bring to the table -- most notably, enhanced rendering performance and usability.
Lean or Luxurious
Internet Explorer 8 is the "kitchen sink" browser. In addition to carrying forward the legacy of Microsoft's much-maligned ActiveX architecture, IE 8 adds a host of new capabilities including Web Slices, which are sections of a Web page that are isolated and reproduced in a separate, updatable mini-window; Accelerators, which are basically context menu options that activate common Web services such as dictionary lookup or translation; and InPrivate Browsing, aka "porn mode," which lets you surf without leaving behind a browser or search history, cookies, temporary files, and other evidence of where you've been. Microsoft has also revamped the address bar to provide better auto-complete suggestions and expanded the dedicated Search field to include images and other rich media as part of the drop-down results set.
Google Chrome is definitely from the "less is more" school. The browser's UI is Spartan compared to IE 8's and has no dedicated Search box, instead combining search and auto-complete suggestions as part of a single, unified address superbox. New tabs open to reveal thumbnail views of frequently visited sites (IE 8 offers a similar view but focuses on recently closed tabs) and can be dragged into, out of, and between Chrome windows, allowing you to isolate, combine, and reorganize tabs on the fly (something you really need to experience first-hand to appreciate). And in a sign of the times, Chrome features its own take on "porn mode" (dubbed Incognito), where cookies and history data are deleted as soon as the tab is closed.
Overall, both IE 8 Beta 2 and the Chrome Beta look like compelling options. Each pushes the boundaries of Web application robustness while consuming gobs of resources and generally ignoring legacy hardware (i.e., systems more than 18 months old). Chrome will no doubt receive most of the attention, if for no other reason than it's from Google and thus "newer" and "cooler" than IE (not to mention, potentially more stable). However, I wouldn't count Microsoft out quite yet. The company still has the upper hand in overall browser share, and if nothing else, IE 8 is designed to appeal to Microsoft's user base by extending and enhancing what they already know. And, of course, IE 8 will eventually ship as part of the next Windows, a fact that virtually guarantees Microsoft's influence will continue to be felt in the next phase of the Web's evolution.