Today, Google announced on their blog that they are working on a OS based on their Chrome browser and Linux. The blogosphere has been expecting this announcement for a couple of years now. It’s been pretty obvious that Google was positioning itself to compete against all of Microsoft’s core products, adding first Google Apps to compete with Office and then Google Chrome to compete against Internet Explorer. A Google OS is the final piece, taking on Windows.
I find it amusing the excitement that a Google OS generates. It seems to speak more to a dislike of Microsoft than to an excitement about Google. After all, if Google is successful, it will be in a more dominant position than Microsoft ever was, controlling the operating system, productivity applications, email and search (which effectively controls the Internet). That doesn’t sound like a particularly desirable outcome. We all know monopolies tend to stagnate. After all, it took FireFox to drive Microsoft to improve Internet Explorer, Java to drive Microsoft to scrap COM and now Google Apps to drive Microsoft to update Office. I would hate to see Google replace Microsoft as another monopoly.
On the other hand, operating systems are a bit of a special case. Having a single dominant operating system leads to innovation at the next layer. OpenSpan only has to develop for Windows currently, which lowers our costs and allows us to focus more effectively. Standards are supposed to alleviate this problem, but standards are equally problematic. I was a web developer when Netscape and Internet Explorer both rolled out their own implementations of HTML 4.0. Having to develop cross-browser scripting code was an absolute pain in the ass. I’ve had similar experiences dealing with different Java server environments, each with their own little quirks. “Write once, run anywhere,” usually means “Write once, debug everywhere.” Moreover, standards tend to be produced slowly and are very rarely perfect. Browser and JVM creators are notorious for jumping the gun and rolling out versions that are compliant with an interim standard, but not the final standard. They are also notorious for rolling out innovations that are not compatible with other browser or JVM implementations. Developers are constantly presented with the choice of targeting the lowest common denominator and sacrificing functionality, targeting a specific implementation and sacrificing market share, or targeting multiple implementations and sacrificing time and money.
Of course, Google will argue that they will not be dominant or monopolistic, because the Chrome OS is designed to bring web applications to the desktop. Here’s Google’s description of the Chrome OS architecture:
“The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel. For application developers, the web is the platform. All web-based applications will automatically work and new applications can be written using your favorite web technologies.”
Google’s statement reminds me of the Palm webOS (on the Pre), which allows you to build softphone apps that use web technologies. These local apps are built with HTML and javascript, but they still rely on webOS services to interact with the local system. Is this how the Google Chrome OS will work? Or will the Chrome OS only allow users to interact with applications in the cloud, ie. no local storage, etc.? Most likely, the Chrome OS will do both, and some applications will be compatible with Windows, Mac and Linux and some will not.
If Google wants to demonstrate a commitment to open standards, it could roll out a Chrome OS virtualization layer to run applications on Windows. This would actually be a pretty smart strategy, extending the reach of the OS while deflecting potential criticism. Likewise, to gain widespread adoption, providing a Windows virtualization layer to run Windows applications on the Chrome OS will be required. Ultimately, virtualization may make much of this mute, particularly if we move from machine virtualization to OS virtualization (thus eliminating the need for OS licenses). It will also be interesting to see if Google open sources the entire Chrome OS. The Chrome browser is mostly open source (as Chromium), although Google does add some small functionality (mainly branding) on top of the open source implementation.
The most fascinating aspect of this will be Microsoft’s eventual response if Google is successful. Right now, Google’s search revenue funds free applications like Google Apps, Chrome and the Chrome OS. Google is going to need to make money off of these eventually, as I’m guessing most people don’t want advertising on their desktop. In the meantime, however, being free is a really big competitive advantage for Google. Will Microsoft eventually be forced to make Windows free as well? Will Microsoft have to move more aggressively to a cloud model to compete? Whatever happens, Google has succeeded in making the desktop market interesting for the first time in a long time, and it hasn’t even released anything yet.
Today or tomorrow I’ll follow up this post with some thoughts on how the changing OS market impacts OpenSpan and provide some insights on how our architecture is already positioned for the post-Windows world.
Comments on this entry are closed.