Today's Opinions, Tomorrow's Reality
Failed Revolutionary By David G. Young Washington, DC, February 14, 2006 -- When Sun Microsystems issued a press release announcing a new Internet programming language 10 years ago, the hype surrounding the announcement rivaled that of the best publicity stunts of the Dot Com era. Even the name, "Java," was picked from the pop lexicon, evoking the mid-90s obsession with the hip new coffeehouses that had spread across America from Seattle on the tail of the Grunge wave of music. Java, Sun boasted, would revolutionize the World Wide Web. Back then, the web was a quirky graphical offshoot of the stodgy text-only Internet. While the traditional Internet appealed to academics, the hard-core geeks, and defense contractors, the web expanded its base of appeal by adding color, pretty pictures, graphical layouts, and the handy feature of allowing readers to jump between related pages simply by clicking on "hyperlinked" text. In these early days of the web, garish colors on home-spun pages filled with blinking text and superfluous animated graphics were the norm. The early-adopters who were on the web in the first years loved it, but Sun thought it wasn't dynamic enough. With Java, Sun promised, these garishly flashy and dynamic web pages could be even more dynamic. Java would allow small downloadable programs called "applets" to be sent across the web at the speed of light, and automatically run inside web pages to the delight of web surfers around the world. The first Java applets, mostly games and novelties, were of no more use than the blinking text and animated graphics that came earlier. But by promising full-fledged business applications, such as word processors on demand, Sun claimed Java-enhanced web browsers could eventually replace the desktop. This promised a major disruption of the desktop market, then dominated by Microsoft and its new Windows 95 operating system. Java, so the hype went, was a revolutionary force in the industry. Its platform-independent "write once, run anywhere" tagline threatened to sweep Microsoft into the dustbin of history. Ten years later, it is clear that Java failed miserably in this goal. The once ubiquitous Java applet has all but disappeared from the World Wide Web, replaced by a handful of other browser-based technologies that were more readily accepted. Microsoft's dominance of the desktop market continues, and its distant rival today comes not from Sun's Java programming language, but from the open-source Linux operating system, which ironically has succeeded in eviscerating the market for Sun's own proprietary Solaris operating system. While it's always rare for reality to live up to hype, there are two specific reasons that Java failed in the web browser. First there's Microsoft. Terrified to the point of paranoia by the early success of web companies like Netscape and Sun, then agitated into action by Sun's boastful claims, the company went into full battle mode to destroy Java. Its most successful attack was to put a hobbled version of the Java into its Internet Explorer web browser, which soon became the most dominant means of surfing the web. As a result, Java applets simply wouldn't work on most browsers. Sun sued Microsoft, but despite the merits of its argument, by the time the case worked through the creaky gears of the legal system, the damage was done. People building web sites knew that using Java meant having a site that wouldn't work for most people. But there is a second reason Java failed in the web browser. As a general purpose language, Java is slower and clunkier than its specialized rivals, and far more prone to things gong wrong when run inside a web browser - especially when compared to alternate technologies like Macromedia Flash and JavaScript (a Netscape-invented language that has nothing to do with Java other than an early attempt to coattail on hype by imitating the name.) But Java's miserable failure in the web browser is tempered greatly by its phenomenal success behind the web page. Long before Java applets running in the web browser met their doom, the software architects at Sun had come up with a way to use the Java language to build applications on web servers. A web server is a publicly-accessible (and often powerful) computer that delivers web pages to people's browsers. Unlike desktop computers that have long been dominated by Microsoft, most web servers today and in the past have been based on either the Unix or Linux operating systems. When Sun came up with the idea of using Java on servers, it was almost an afterthought. Even the name of the technique, "Java servlet" was but a derivation of the name "Java applet." But unlike browser-based applets, server-based Java proved to be a fantastic success. The server-based Java technologies are now the single most dominant means of building dynamic web sites. Although invisible to web surfers, a plurality of the web servers they access are running Java - something the language was never designed to do. The moral of this story is that the path of technology is inherently unpredictable. Self-proclaimed visionaries and technology architects rarely foresee the evolutionary path technology will take. Java may never save the world, but it will continue to aid those on the web with their daily surfing. This is a far less glamorous fate, for sure, but one that is every bit as valuable to the surfers on the World Wide Web. |