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.