Browser Wars: Episode n+1

September 3, 2008 12:03 PM

I suspect that Google’s new web browser, Chrome, is going to have a difficult time gaining significant market share. Which is a pity because the main differentiator of the browser—the process-per-tab model—really deserves to be adopted more widely.

Firefox got where it is today on the three-pronged attack of tabbed browsing, security and standards compliance, on the back of Microsoft's five year hiatus in developing Internet Explorer. Even with that compelling story to tell, eking even a low double-digit market share was a huge accomplishment. What is Chrome's story?

Firstly: if you introduce a beta that is largely interesting to nerds, releasing it only for Windows is a mistake. I know I subscribe to a preponderance of blogs by Mac or Linux users, but even I was surprised by the number of Chrome reviews that mentioned having to run it in a virtual machine, or on the old discarded Windows box in the corner.

Looking down the list of features there are some cool ideas, but none of the user-visible ones seem particularly revolutionary. The dynamic content for newly opened tabs looks great, but it wouldn't be a stretch for that feature to be added to any existing browser. Similarly Omnibox, Google's take on the location bar, is an evolutionary progression from Firefox’s AwesomeBar and David Watanabe’s Inquisitor.

From the Chromium Project’s User Experience documentation:

In the long term, we think of Chromium as a tabbed window manager or shell for the web rather than a browser application. We avoid putting things into our UI in the same way you would hope that Apple and Microsoft would avoid putting things into the standard window frames of applications on their operating systems.

This goal of having the web browser just get out of your way makes a lot of sense. It makes even more sense when you realise that Google would be far more comfortable writing web apps that interface with Chrome in interesting ways than it would adding features to the browser. Google already has Google Bookmarks and Google Web History web applications, why waste space on them in the browser code itself?

(More cynically, divesting regular browser functions to the web gives Google the chance to keep more of your data, and serve you more contextual ads.)

Google has an impressive team on its V8 Javascript VM:

The V8 development team has multiple members of the original Animorphic team; it is headed by Lars Bak, who was the technical lead for both Strongtalk and the HotSpot Java VM (as well as a huge contributor to the original Self VM). I think that you will find that V8 has a lot of the creamy goodness of the Strongtalk and Self VMs, with many big architectural improvements. _(David Griswold on the Strongtalk mailing list, via James Robertson)_

Still, V8 would have been more impressive, perhaps, if it had been made public before the back-to-back introductions of Squirrelfish for WebKit and Tamarin for Firefox. What would have been a breakthrough six months ago today looks more like a dose of Not Invented Here syndrome. That said, Google are releasing V8 as open source, and one assumes any advances it contains will spread to the other free browsers.

Google's stated aim in developing V8 was to provide better performance for today's script-heavy web applications, but also to make possible even more complex Javascript applications in the future. The elephant in the room, as always, is Microsoft. Unless they can improve Internet Explorer far more rapidly than they have so far proved able to, web applications will still have to be developed down to the 80% of web users on that platform for the foreseeable future1

(A more vindictive part of me relishes a growing population of websites that provide a cut-down interface for IE users as revenge against all the “your browser is not supported” pages I've seen in the last ten years.)

Which brings us to the architectural choice that apparently underlies Google's decision to rewrite the web browser from scratch: having an isolated process per tab. The good news is that it's exactly the right design for the problem at hand. The bad news is that the only people who will really care are the engineers. Unless an application is horrendously unstable, offering an alternative that crashes less (or at least crashes less hard) has not historically been an effective way to convincing the masses to switch. For most people, a browser that remembers which tabs you had open before a crash is sufficient; the crash itself is just an excuse to go make a cup of coffee.

1 On the Internet, the foreseeable future tops out at about five years.

5 Comments

Anyone doing any serious work in javascript these days is using a javascript library like dojo, jquery, the yahoo library, prototype+scriptaculous, etc -- libraries that smooth out all the differences between the JS engines and give you a consistent interface. By adding another javascript engine to the mix they've just made it harder for the builders of those libraries.

@Stewart: Aside from issues with IE's dodgy garbage-collection, most of the kind of incompatibilities you are referring to happen at the DOM level, not at the language/interpreter level. Given that Chrome is based on WebKit and presumably uses their DOM, I don't see this as being a huge issue, although obviously it does add one more browser to the testing matrix.

One interesting potential advantage of the move to bytecode-compiled Javascript running in a VM is that browsers could cache a lot of information about well-known libraries. One suggestion I saw is that Chrome could cache pre-compiled well-known versions of JQuery/etc and websites could hint to the browser to use its cached version of a script if possible.

I think Googles approach is spot on - I believe Chrome is designed to run alongside, and then replace, MSIE on corporate networks. The fact that they've targetted Windows first makes me even more sure of this.

Think about it from a large old-school corporate network perspective:

* Firefox is way to extensible and thus very scary for IT managers
* Safari is way too Apple
* Opera has way too little market share

Chrome, on the other hand, is ultra simple to use and is designed for extensive up-time thanks to it's separate processes goodness. It's got virtually no feature bloat so far fewer things can go wrong with it and it's marketed as a web desktop rather than a browser. There's no visible way to install extensions or otherwise break it from the average end-user perspective. I bet there's a whole bunch of lock-down settings that can be set in the registry or something to restrict what URLs and content it can access.

Microsoft are still working on their next shipment of fail - MSIE8 - which will still be several years (a whole geological era in Internet time) behind the other browsers in terms of standards compliance. They believe they can get away with this because they are the dominant browser on corporate networks.... Enter Chrome!

I think Google are giving large corporates exactly what they want in a way that Microsoft cannot yet comprehend. Google have handed large corporates a simple, reliable interface for web applications that runs alongside and doesn't try to compete with their existing internal systems. And it's both free and open source.

Just as SharePoint came along to replace Lotus Notes, I believe Chrome has come along to replace MSIE.

@Guy: Let's hope you are right. I am really into developing modern enterprise web applications, but 95% of our customers are using IE6 (some of them even ignored the most recent patches). Loosing IE entirely would be a dream ;)
Neverthelesse I think it wont happen that soon. There are tons of legacy applications which wont be supported on chrome and probably even more important are the Security / Permission issues. The integration with Windows and IIS allows for dead simple single sign on without any problems for the user. I doubt that it will be that easy with Chrome.

@Maximillian: I agree, IE6 will be around for a long time, I don't think Chrome is intended to replace IE, merely sit alongside it while IE is slowly phased out with Chrome being used to access all the modern stuff. I've posted more verbose thoughts in my blog: http://tinyurl.com/68lvhb

Previously: Prior Art Due Diligence

Next: Hi, I'm a Mac… Beep, beep!