Written by John Milan and edited by Richard MacManus. This is the first in a two-part series. Update: Part 2 is now available.

The most insidious thing about global warming is that it's everywhere, but not right in front of you. And really, it has more to do with things disappearing than appearing - things like glaciers, ice shelves and low lying islands. The odd thing is that the progenitor of global warming, the Industrial Revolution, was rooted in making things disappear as well. For example, teams of horses became a steam engine or two.

Though not as pernicious as climatic change, the software environment - admittedly nowhere near as complex, but growing more convoluted every day - is tracking a similar course. Just as odd, the Information Revolution was also rooted in making things disappear. For instance, teams of typists became a shared printer or two. But now newspapers are shrinking, phone and cable companies are mutating and the distance between people is vanishing. In fact, just like the first scientists researching the rise in ocean temperatures, a group has recently been commissioned to study the ramifications of the web.

Windows is leaking, while a Google hurricane forms...

Revolutions have many components, including the seeds of their own destruction. Once the genie escapes from the bottle, he begins enforcing the Law of Unintended Consequences. Ask an industrialist in 1875 if his coal burning plant could change the earth's climate and he would have thought you're from another planet. Ask a venture capitalist a few years ago if operating system hegemony could become an albatross weighing a company down, hindering entry into new markets and emboldening competitors - and he or she would have thought the same.

And yet here we are today. The climate is changing, Windows is leaking and Google is ascending. The Industrial Revolution heralded a leap forward, but it also caused lots of carbon affecting all life. Similarly, the Information Revolution liberated data - but it resulted in lots of programming that has taken on a life of its own. All the highly touted, next generation, advanced features for Vista? Flushed away by the rising tide of complexity and backwards compatibility. The challenges for both revolutions are similar: keep the good, but fix the bad.

It hasn't happened overnight. Rather, its been a trickle - which started the very second that Windows shipped. Water actually started pooling around Windows back in the mid 90s when Netscape offered a portal to a new frontier. Bill Gates - well acquainted with weather in Seattle - recognized the moisture in his foundation, installed an Internet Explorer sump pump and weathered the storm.

Now it's the mid 00s, and it's Google gushing with ideas, cash and optimism. Many observers think a hurricane is forming in Mountain View that threatens to swamp not just Windows, but Redmond's entire empire. Well, forecasting has never been an exact science - and I wouldn't fret for Microsoft quite yet. Sure the vista may be a bit foggy, but Microsoft has a few more resources than anyone else. Even as the tide rises, they already have newer, more sea-worthy vessels well under construction. And Google? They might just miss the boat.

GoogleOS actually fogging the field

The mere mention of a new operating system competing with Microsoft reminds everyone how much fun the old days were. Apple, IBM and Microsoft continually sparred, parried and blocked each other for many years before Windows finally won the battle. It's gotten downright boring since those days, so it's easy to understand the tizzy surrounding even the prospects of another brouhaha. But Google building, releasing and supporting their own OS? I'd sooner believe them walking on water.

Bringing an operating system to market is an extremely poor idea if you want to grow a business. Indeed, recent history has plenty examples of great new operating systems - OS/2, Taligent, BeOS, JavaOS to name some prominent ones - that siphoned off huge amounts of resources and either left the company in ruins or seeking greener pastures. An ill wind blows for any OS leaving the comfy confines of its incubator. And Linux? It's not a business, and therefore not in this article - but I think Microsoft fears Linux a whole lot more than GoogleOS.

First a brief primer on why it's great to own an operating system. In short, it's a lot like owning an industrial age railroad. Railways and trains are like operating systems and applications. Operating systems are the rails themselves. Applications are the trains which, of course, run on the rails. In order for trains to travel on a railway, they must match the railway's gauge. In order for applications to run on operating systems, they must match the OS's API. If a train doesn't match a rail's gauge, or an application doesn't match an OS's API - things don't turn out well.

As the robber barons found out, when a railroad achieves critical mass you make a boatload of money. Better yet, once that track is laid it's very difficult to move aside. Like any good robber baron, Microsoft would love for Google to compete on the same field where Microsoft owns all the rails and most of the trains. In fact, that kind of GoogleOS is Microsoft's wildest fantasy come true. Microsoft would be fully capable, and would probably relish the opportunity, of roughing Google up, dragging them through the mud and sending them on their way - just like they did with Sun, Apple, IBM, Netscape, Novell and Digital Research.

What Google wants is new real estate on a higher level - a better location where they can lay their own rails. But while it may look like they've found the best location on the web, Google is in fact still traveling on other peoples rails - Microsoft's, Apple's and Linux's. They do so by offering free train rides on various implementations of the world's most successful virtual machine. But the free ride won't last forever. Google most likely will need another virtual machine to compete and grow. Otherwise, they may face a fate similar to yet another high flyer from the 1990s (see if you can guess who!).

A perfect Virtual Machine storm is breaking Windows

If you can't run on the rails, you can always take to the air. Such a notion probably would have seemed silly to Jay Gould or Leland Stanford - at least until Orville and Wilbur Wright traveled by rail to North Carolina. While Orville and Wilbur might have not have understood the business pitch of Larry and Sergey, they would have recognized kindred spirits riding along the world wide web on someone else's infrastructure.

Consider two classic applications for two platforms. One is more or less owned by Microsoft, the other more or less owned by Google. The apps are familiar to every programmer: 'Hello World' done in C++ and HTML.

In C++:

#include <iostream.h>

int main( int args, char **argv ) {

cout << "Hello World" << endl;

return 0;

}

In HTML:

<HTML>
<BODY>
<P>Hello World</P>
</BODY>
</HTML>

As always, the devil is in the details. What is not shown is the C++ compiler and linker that turns code into executable. Also not shown is the web browser which takes HTML and makes it presentable. And that's really the only difference between these two programs. Of course the ramifications are profound: the C++ application can only run on the operating system it was built for, whereas the HTML application can run on browsers, which in turn run on operating systems. In fact, the browser is really a virtual machine. The world's most successful, widely deployed, virtual machine.

There are two additional properties that add critical value to this virtual machine: 

1) An explicit contract on how to install and uninstall applications; and 

2) An explicit contract on how an application can affect a user's machine. 

These two features have tipped the balance so far that users are willing to put up with a more rudimentary web UI than rich desktop UI.

Google's high tide?

When you visit a web page for the first time, you are installing an application. The HTML page your browser is reading is both a manifest for additional resources (images and graphics, cascading style sheets, javascript and embedded objects) and instructions for how the page should be rendered. Your browser stores as many of these resources as possible on your local disk, in order to start up faster the next time. Better yet, it checks whether these resources need updating on each visit. So why doesn't your IT person freak out when you install HTML pages, like when you install desktop applications? Because of the explicit contract that limits how an HTML application can affect your machine.

Purveyors of C++ applications realized the advantages of HTML applications immediately and even tried to address the manifest issue. But while they could create a download manifest, they couldn't enforce the necessary constraints that make IT people happy. Additionally, the applications they were downloading were much larger than piecemeal HTML pages. Throw in a few security holes and well publicized exploits and it's obvious why HTML web applications are in such favor.

These are the advantages Google enjoys today. However, two fissures exist that will force them to move:

1) Microsoft's ability to use the exact same HTML based strategy (like their current Live initiative); and

2) More threatening is Microsoft leapfrogging the current environment by solving rich application installation/uninstallation and enforcing an acceptable contract regarding what rich apps can do on a user's machine.

Unfortunately for Google, Microsoft is a lot closer to solving these two issues than people think. Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs. And they have a notion. Steve Ballmer himself has started touting the exact strategy they need - Click Once and Run. The final thing they need is a technical solution for .NET - similar to what a little startup in Redwood City, CA has done for Java...

TO BE CONTINUED... Join us for the next installment, when we find out just who this little Redwood City startup is!

Image by Jon Cornforth

Update: Part 2 of this series is now available.