As the oft-repeated story goes, in the latter half of the 1990s, Netscape co-founder Mark Andreessen boasted that Netscape would reduce Microsoft Windows to “a set of poorly debugged device drivers.” What he meant, of course, was that software development would move from native operating system applications to the web. The web browser would become the new software platform and the underlying operating system would be relegated to providing basic services like device support.
Although Andreessen may have been overly optimistic about the time frame in which software would move from the desktop to the webtop, announcements this past week — from two of computing’s fiercest competitors — may indicate we’re finally on the verge of Andreessen’s vision becoming reality.
On Friday, July 10, Microsoft launched version 3 of its Silverlight platform, Microsoft’s answer to Adobe Systems’ Flash. Like Flash, Silverlight is a browser-based plug-in for delivering high quality video and rich interactive applications over the web. Silverlight 3 includes, in the words of Microsoft corporate vice president Scott Guthrie, “a ton of new … features” for software application development and enhanced user experience. Included in the list of the new capabilities available with Silverlight 3 is “out of browser support.” With Silverlight 3, Microsoft joins Google’s Gears, the Mozilla Project’s Prism, and Adobe Systems’ AIR in moving the web experience beyond the confines of the browser.
Earlier this week, Google announced — or rather, released a few tantalizing hints about — the company’s planned Chrome Operating System. Although the details are scarce, Google’s intent seems to be to revive Andreessen’s aspiration of establishing the web browser as the locus of software development.
Despite all the press it generated, the basic architecture of Chrome OS doesn’t seem particularly radical. Google’s announcement states that the OS will be built on “Google Chrome [the company’s web browser] running within a new windowing system on top of a Linux kernel.” Since you can already run Google’s Chrome browser on the Linux operation system, one might wonder, “What’s new here?” Google’s answer lies in the next few sentences of the announcement:
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. And of course, these apps will run not only on Google Chrome OS, but on any standards-based browser on Windows, Mac and Linux thereby giving developers the largest user base of any platform.
And there it is. Andreessen’s dream: The web is the platform.
The list of partners Google announced as part of its Chrome OS initiative includes computer manufacturers Acer, ASUS, Hewlett-Packard, Lenovo, and Toshiba, along with semiconductor companies Texas Instruments and Freescale. In addition to these hardware vendors, the list of partners also includes Adobe Systems. What the two companies are working on is not stated, but Adobe’s AIR currently brings web development to the desktop, and this may indicate how Google’s aspirations differ from those of Microsoft.
Google’s Gears, Mozilla’s Prism and Microsoft’s Silverlight are all closely bound to the capabilities of the browser — adding features such as desktop shortcuts and local data storage to what are, essentially, browser-based applications. In contrast, Adobe’s AIR allows developers to use web technologies to develop desktop applications — with deeper integration with the local computer system — yet with the ability to run on Windows, MacOS, and Linux operating systems.
The partnership between Adobe and Google may rest on this shared vision of software that is not bound to a particular operating system. When I spoke with Microsoft’s Scott Guthrie a little over a year ago, he stated that he saw a clear differentiation between web applications and desktop software, stating: “I do see a sharper cut between what you do inside a browser and what you do inside a dedicated Windows or Mac application shell.” Despite Microsoft’s newly announced “out of browser” capability of Silverlight, Microsoft wants to maintain a distinction between the desktop and webtop. Adobe and Google, on the other hand, are interested in moving the line that separates the web and the desktop toward increasingly web-based software.
The history of computing is one of progressive abstraction. To program the first computers, you needed to toggle switches to enter programs in machine language. Assemblers eased the task by introducing mnemonic “opcodes.” Later came higher level programming languages — FORTRAN, PL/I, Pascal, and then object-oriented languages, extensive module libraries, and language frameworks. In parallel with these developments, operating systems grew from basic input/output systems to rich sets of application programming interfaces and system capabilities.
And now we may be on the verge of another leap in software abstraction, one which will combine the richness of traditional desktop applications with the ubiquity and platform independence of the web. To what extent this emerging webtop platform will complement traditional desktop software as Microsoft envisions, or begins to replace it as Google and Adobe contemplate, time will tell.