Tangled Webs
This Means War!
Oct 22, 1997
Issue 2.13


Microsoft has stated frequently and openly that while they support the "Java language" they do not support the "Java platform." This may make sense at first blush, but Microsoft's suggestion that Java be divided to facilitate innovation is akin to King Solomon's suggestion an infant be cut in half to facilitate division of property. Neither should be taken at face value.

Most programs depend on the operating system to handle such tasks as screen display, data input and networking. This makes life considerably easier for the programmer and ensures program compatibility within an OS. Unfortunately, it results in programs that can only run under the OS for which they were designed.

Java, however, comes with class libraries that handle OS tasks. Since Java effectively bypasses the OS, a program written in Java can theoretically run on any Java-compatible device. Not just computers, but set-top-boxes, TVs, VCRs, portable phones and anything else that can tell the difference between a 1 and a 0. This platform independence is what gives Java the potential to reduce the computer industry's dependence on Microsoft.

Battle Stations!
Mircosoft responded to the Java threat as they do to all such threats, with a policy they call "embrace and extend." Many industry watchers, however, like to tack "and exterminate" onto the end of that sequence.

Microsoft announced their own Java development kit called J++, and loudly professed their complete support for Java. They then quietly began doing everything possible to undermine it. Microsoft's strategy was, and is, to strip Java of its cross-platform compatibility. Without that, Java is just another programming language and poses no threat to Windows dominance.

Developers who used Microsoft's J++ soon discovered that unless they were careful, their "Java" applications would only run on Windows and even then often only in Internet Explorer. The uninitiated might expect the technical press to take Microsoft to task for this, but years of chasing Microsoft advertising dollars have transformed many one-time hard-nosed technical publications into bodacious booty-smoochers.

When the reviews came out, the ease at which J++ generated non-portable code was hailed as an innovative feature. Development environments that generated only proper, compatible Java applications were criticized for their "lack of functionality." One programming journal actually ran a fawning cover story devoted entirely to how to use this "feature" of J++. The article never mentioned that Macintosh and Netscape users would not be able to use the resulting "Java" program.

Fortunately programmers, especially Java programmers, no longer rely on print media for information. Developers speak directly to one another via the Internet, and Microsoft's claim of "incompatibility as a feature" simply didn't wash. Serious Java developers began avoiding Microsoft products, and Microsoft's intentions became increasingly transparent and criticized.

In mid-September, Microsoft announced that they were removing all Java applets from their website. Microsoft's Tim Sinclair said that Microsoft still fully supported Java, and that the applets were being removed strictly for performance and interface reasons. He explained that Java applets can appear slightly different depending on browser and platform, and that this variation was undesirable.

Unsurprisingly, the Java development community didn't buy it; largely because the Java applets are being replaced by Active-X controls which often don't work at all unless the user is running Internet Explorer under Windows95 or Windows NT.

With the release of Internet Explorer 4.0 on September 30, Microsoft initiated its latest and most direct assault on Java's cross-platform compatibility. Microsoft removed Sun's Java class libraries from IE4 and replaced them with Windows-specific libraries. Thereby ensuring that Java programs developed with Microsoft tools might only run on Internet Explorer, and Java programs developed using non-Microsoft tools might not run at all on Internet Explorer.

On October 7, Sun filed suit against Microsoft for trademark infringement, false advertising, breach of contract, and unfair competition. Sun is seeking $35 million and an injunction to prevent Microsoft from using the "Java Compatible" logo. It has also cut Microsoft off from all new Java technology.

Bill Gates dismissed the lawsuit as a publicity stunt and said of Sun "They have always hated PCs. They think PCs give people too much freedom, too much power, and they campaign against the PC." Microsoft representatives continue to insist that they have the most compatible Java implementation available, but this claim hinges on the dubious assertion that Microsoft rather than Sun has the right to determine what is Java-compatible for Windows.

Damage Report
I make no predictions on the outcome of the lawsuit, but I don't think it will make much of a difference either way. It will take months for it to be resolved, and by that time Java will either be on its way to becoming the centerpiece for a new era of cross-platform computing or another great idea that didn't work out.

It goes against all conventional wisdom and historical evidence, but I don't think Microsoft is going to win this one. They are simply not ready for the fight. They control only about 20% of the browser market, Active-X has been a flop, and they have almost no support among Java developers. This is not a position of strength. Leveraging your competition out of the market when you control 95% of it is one thing, but when you only have 20%, it is a considerably harder task.

Another problem is that Microsoft cooperation and compatibility is not required for Java to succeed. Users can opt to install another company's Java virtual machine, or they can do what most Windows95 users have done -- ignore the copy of Internet Explorer that came with their machine and use Netscape Navigator.

The folks in Redmond are master strategists, and I don't think they would be striking now if they didn't have to. Although Java's potential is incredible, many developers, myself included, don't think it is quite ready for real-world business applications. By acting now, Microsoft can still point to real problems with Java.

Most of Java's shortcomings are minor and are likely to be resolved in a matter of months. Six months from now, Java will probably be as viable a choice as any platform. For many applications, it could well be the only viable choice. Microsoft's current position in this battle is not a particularly strong one, but they had to attack before Java could dig in. Once Java gains an initial foothold in corporate computing, it will be nearly impossible to dislodge.

[ Home Page] [ Back to Index ] [ Previous Issue ] [ Next Issue ]

© Copyright 1997, Tim Romero, t3@t3y.com
Tangled Webs may be distributed freely provided this copyright notice is included.
The Tangled Webs Archive is located at http://www.dotco.com/t3/tangledwebs/index.shtml