Tuesday, September 2, 2008

Google, the integrated software company

Everyone has been going gaga over Google’s new browser, Chrome. I actually had to work today (teaching classes), so since I’m coming late, let me point to other coverage. The announcement was made in the Google blog, which referenced the Google comic book (officially released on Google books but more readably presented by Blogoscoped).

Om Malik (as is often the case) has an incisive summary of the new software’s features, while Walt Mossberg and the Merc each have a first test drive.

There’s lots of speculation about Chrome being aimed at Firefox rather than Internet Explorer. As of August, market share is 72.2% IE, 19.7% Firefox, 6.4% Safari, and 0.7% Opera and Netscape. (Of the Safari, 0.3% is iPhone, up 58% from July to August). Kara Swisher (of the WSJ-owned site AllThingsD) is skeptical about Google’s chances of winning a browser war:

Google’s in no danger of foundering, given its search business still dominates and quite profitably, of course.

But, for all the halo of that, Google has also never had any other similar true home run with any of the other products it has released so far.
Of course, Chrome is obviously the Android browser, since (as with Android) it’s Google’s browser based on WebKit. Apple already has a browser based on WebKit — it’s called Safari, available for Windows.

While Chrome has more features than Safari, the main difference appears to the new Javascript virtual machine (called V8) from its virtual machine development group in Denmark (replacing SquirrelFish, the most recent WebKit Javascript interpreter). The main difference (according to the comic book) is the multithreaded VM.

Still, why does Google have to go off and make its own browser, given that Apple is already making one? Why not work together? (After all, Google’s CEO is on Apple’s board). Google’s hubris (some would say arrogance) en route to Total World Domination seems to require its go-it-alone strategy, just as with Android it’s calling all the shots and not cooperating with other embedded Linux efforts.

The answer is that this is not about browser wars: this is what strategy professors call “multipoint competition,” in this case over competing hopes for Total World Domination. Microsoft dominated the software industry in the 1990s, and Google is determined to claim that mantle within 5 years.

This means that any software that Microsoft offers Google will eventually offer as well. If it can overcome its hubris, perhaps Google will partner or ally to deliver with other members of the anti-Microsoft camp. I suspect it will always choose weaker partners (like Yahoo or Sun) to keep control rather than strong ones (such as Apple or IBM), at least until that time later this century when it abandons hopes for Total World Domination.

By competing with Microsoft, Google is en route to be a fully integrated software producer, one that happens to deliver more (but not all) of its software as a network service rather than a client-based application. This is a fully integrated stack — from its Android variant of Linux through Chrome to Google-hosted services — rather than the vertical integration of inputs and outputs that characterized 20th century innovation leaders.

Google’s mantra (repeated at the official Chrome intro) is that the browser is not a browser, but a computing platform. This is an update (15 years later) of Sun’s old mantra “the network is the computer.” Unlike with Sun, Google will own both sides of the network used by hundreds of millions (if not billions) of consumers: the client browser, applets that run on the client, and the server stack that delivers those applets and services over the Internet.

Update: It is now clear that Chrome and Android have separate forks of the WebKit open source project, even if someday they may be merged back together.

4 comments:

Anonymous said...

Given g's noticeable lack of success in almost anything other than search I don't know if the threat of world domination by Mt View keeps me up at night :) There is no doubt they're on a strong path to mind share domination, however.

I think this is yet another interesting example of Nathan Myhvrold's saying "software is a gas that will expand to fill all possible cpu cycles and memory" (or something like that). Think about what this thing is - it's virtual machine (VM) on top of VM on top of VM. I find it amazingly ironic that the things meant to save precious system resources (shared memory, re-entrant code) were in the end the root cause of the problem with current browsers. After all, isn't this essentially just a way to run multiple browsers that aren't really a single application with multiple windows? I remember having to look at the original Netscape source when we did a deal with IBM many years ago - it was abhorrent from a systems perspective, with such insanity as hard coded URLs with known bad HTML!

Of course as an old guy I still can't help think that solving operating system issues in an application is inherently bad, but I have to agree with the need to fix the problem. If, as it appears to be happening in the 'cloud computing' world, the browser is becoming the defacto 'thin client', let us please make sure it can walk and chew gum at the same time :)

anonymouse said...

Joel, I'm not sure I buy the simple assertion that Chrome is Android's browser. They certainly share a rendering engine but I think V8 is the defining attribute of Chrome. Just being based on WebKit doesn't make these browsers identical - after all nearly all OS X browsers are based on Webkit. I'd be happy to be wrong but don't think that this technology will be in Android v1 unless Google have been doing some serious footwork.

V8 claims to compile JavaScript to native code - this delivers the huge performance gains but a port to ARM or Dalvik bytecode would be a big effort. I suspect that Google will add Dalvik bytecode support to V8 for Android but I'm not convinced it will be in v1.

anonymouse said...

So, I'm not so clever:

http://code.google.com/p/v8/source/browse/trunk/src/assembler-arm.h

Joel West said...

Anonymouse,

I certainly understand your concern about the simple assertion. However, we have at least one existence proof as to ARM compatibility: WebKit for S60.

Google has preannounced a new vaporware mobile phone platform that it expects to use for years. Its entire strategy is built around minimizing the differences between different client devices, hence its interest in winning adoption of Ajax-capable browsers.

We haven’t seen everything Google is planning, but I would be shocked if over the past three years it deliberately developed a fragmented browser strategy. If Apple can run WebKit on a Mac, Windows and an iPhone, it seems as though Google could also get WebKit running on Windows, Mac, and ARM-based mobile phones.

Similarly, if Google created its Denmark research group 18 months ago, and is still a ways away from shipping V8, I would bet at least one share of Google stock that both the desktop and Android requirements were taken into account when launching the V8 project. This is not rocket science, and clearly Google understands platform architecture (even if it tends to overestimate its ability to dislodge established competitors).

Joel