In the last issue of JavaWorld ("Netscape: Ship of fools?"), Rayme Jernigan wrote about the potential dangers inherent in Netscape's strategy for adding functionality to its browser via third-party plug-ins. This may well turn out to be one of the most important issues facing the Java community and deserves some further discussion. Plug-ins may be useful for rendering specific content types, but cannot rival Java as an option for developing distributed software.
In the global struggle for Internet dominance, two religions are waging war. As in any conflict where lives, careers, and fortunes are at stake, both sides assert the righteousness of their cause and claim that God is on their side. Scholarly tomes will be written about the struggle between Netscape and Microsoft; the press will create new champions daily and then destroy them, and each new struggle will become a deadlier form of jihad.
The basic doctrine of each side is easy to discern. Netscape, like many others in the world, views Microsoft as the Great Satan -- an evil monopoly whose desktop dominance has stifled innovation and been sustained by unfair business practices and insidious intent. Microsoft views itself as a democratizing force, one who has brought computing to the masses with ever-increasing functionality at ever decreasing prices. Netscape's agenda is to write a new network operating system with universal clients (browsers) and universal programming languages (HTML, Java and JavaScript) for applications that can scale from workgroups to the universe. Microsoft's plan is to leverage its existing dominance in desktop content by tightly integrating its software (such as Excel, Word, and Powerpoint) into its Internet environment along with Windows, Visual Basic and ActiveX so that the Internet is a natural extension of its existing proprietary operating system.
However, while the crusading armies skirmish, software developers must write software. Smart developers will write agnostic software, not adhering strictly to the tenets of either side. Being a successful agnostic means being skeptical about any technology that binds one to the belief system of any particular religion. While the self-serving dogmas of Microsoft are always well documented, Netscape has so far managed to position itself as a vendor of altruistic software, unfettered by religious bias. However, what it is marketing is a very seductive ideology, and the plug-in part of its strategy has the potential to send unwary developers to a hot and painful place.
Plug-ins are a great idea for Netscape but a bad idea for most software developers. For a developer of a new network operating system (like Netscape), a plug-in strategy permits the leveraging of outside developers to write interesting features that the vendor cannot afford to write itself. It allows Netscape to bundle the most attractive plug-ins into its standard software, while maintaining the holy ground of embracing open standards. Plug-ins are also good for vendors of Internet wanna-be software. By duplicating their Windows or proprietary runtimes in a Netscape plug-in, a wanna-be can say that its software is "Internet Enabled." The reality is that as a foundation for distributed applications, plug-ins can be a nightmare for developers of both Internet and Internet software, for a number of reasons.