we have quietly entered the Cold War phase of the battle for your computer desktop. Just as global armed conflict gave way to subtler confrontations based on threats and propaganda, the heated battles over operating systems and competing browsers have recently gone underground, down to the level of code. The stakes, however, are just as high.
Ultimately, you will have to live and work with whatever system prevails in this war. But you aren't likely to be asked for your opinion. The battle is being posited as too technical for you. The engineers will let you know when they've decided its outcome.
The battle is about making monstrously large things smaller and more manageable, about shattering monoliths into usable components. It's about flexibility. Ultimately, it's about freedom of choice. The victor will surely dominate desktop computing for the next two to five years.
I think you ought to have a say in this war, don't you?
the battle centers around the concept of components. The basic idea it's been around a few years is to break up overgrown programs into small, manageable pieces designed to play nicely with one another. Components know how to communicate with others, how to stay out of each other's way and how to fit neatly into a single user interface that you'll only need to learn once.
For example, instead of buying, installing and using a multi-megabyte word processor so you can write memos to your boss justifying the cost of the software, you would buy a stripped-down word processor "shell" and only add other components as needed. Features you rarely or never use like footnotes, bibliographic citations, multiply-indented lists, and multi-column layouts could be left on the shelf, rather than cluttering up your hard drive and gobbling up huge chunks of memory.
The war to dominate this field of software has three primary participants: ActiveX controls, promulgated by Microsoft; OpenDoc parts (and accompanying containers), favored by a consortium of other software companies, including Apple, IBM and Novell; and Java applets, the latest and in some ways strongest entrant, which is rapidly gaining wide support.
Here's a quick guide to the combatants and the stakes.
|ActiveX||Third generation of Microsoft's anemic Object Linking and Embedding (OLE) design. After OLE came OCX and now ActiveX. OLE and OCX worked only between applications, not between similar components. ActiveX is more component-like.||Microsoft. Windows will become the obvious choice of desktops; Apple and other non-Wintel manufacturers will be hurt. Consumer choice will all but disappear.|
|OpenDoc||Invented by Apple and turned over to a non-profit industry group called Component Integration Labs (CIL). Built from scratch to allow components to talk to each other.||You, but only if Microsoft climbs on the bandwagon. Otherwise, you have to choose between Windows and OpenDoc, a Hobson's choice at best.|
|Java Applets||Small (even tiny) components written in the new and relatively complex Java programming language, applets are designed to run on any platform that supports Java (which is or soon will be all major platforms and many minor ones).||You. Microsoft has already grudgingly and somewhat limitedly bought into Java, the juggernaut even Bill Gates couldn't stop. Java interpreters are being built into all major operating systems and Web browsers. Java is, or soon will be, everywhere.|
The explosion of the World Wide Web has removed the largest obstacle to the spread of components: the lack of a clean distribution mechanism. Software delivery is probably second only to sex as an engine of Web commerce. Any company that doesn't offer trial versions of its programs on the Web is already in serious trouble, even if it doesn't know it yet. The day is not too far off when virtually all software will be sold, distributed, updated and tracked on the Web, whether on the Internet or over corporate intranets.
Other driving forces behind the widely perceived need to adopt component software:
x Corporations can finally compromise between the efficiencies of standardization and the desire of individuals to be different. By adopting several different components that perform similar tasks, the corporation can allow users some flexibility without creating support nightmares.
x The so-called Network Computer (NC), which may well soon find a broad niche in corporate America, thrives on component software because it doesn't store programs internally. It depends on the network for all of its intelligence. Components or applets are sent to the NC when they are needed. When the user closes them, they simply disappear from the local system and remain stored on the network.
x Software complexity and size have reached and exceeded the grasp of most users. Programs are now routinely delivered on CD-ROMs or on sets of a dozen or more floppy disks and demand upwards of 30 megabytes of disk capacity. They chew up four or more megabytes of memory when you run them. And they perform so many functions that they bewilder the average user. The old 80 to 20 rule holds here; 80 percent of the users of a program use 20 percent of its features. So why not make the other 80 percent of its features optional, but instantly accessible when they are needed?
You are or should be primarily interested in freedom of choice on your computer desktop. Getting locked into one manufacturer or one publisher or even one group of such companies is not in your long-term best interest. You already knew that, of course.
If Microsoft is allowed to win this war with its single-platform ActiveX technology, Windows programmers will gain a huge advantage one that will effectively close off component software on the Web to non-Windows platforms.
Beyond this obvious concern are a couple of less-publicized issues that should give you pause. Maybe you don't care if Bill Gates and Microsoft further strengthen their near-monopolistic grip on the personal computer desktops of the world. Maybe you even like Windows 95 or Windows NT well enough that you wouldn't mind if all the other choices disappeared.
But you probably still care about security. And while that is a potential problem with any downloaded component, it is a huge problem with ActiveX. ActiveX components are far more prone to security breaches than either of the other two combatants in this desktop war for two reasons: First, they don't live in a nice, secure, defined space, the way Java applets live in your Web browser. They are full programs that can do anything their designer wants them to do: provide a cute animation or transfer confidential information from your hard disk to your competitor's marketing team. It appears, at least, that this problem is technically insurmountable with ActiveX components; their effects cannot be restricted. Second, ActiveX components don't ask before they download; they are "active" in the sense that they just do their thing without the courtesy of asking your permission.
Microsoft has attempted to address these concerns by forming an alliance with VeriSign to provide a protection key with each ActiveX component. This enables browsers to download only those components that have passed someone's inspection. That approach is not only unwieldy, it is, as others have also pointed out, insidious in its possible consequences.
OpenDoc had tons of promise when Apple introduced it three years ago. A number of major companies endorsed it. First Novell and later IBM were supposed to carry it over to Windows and OS/2. But that still hasn't happened.
Although Apple continues to struggle valiantly to implement OpenDoc, I think it got blindsided by Java. (So were a lot of other people!) As a result, I think OpenDoc has become the first clear casualty of this war. I only include them as a combatant here because OpenDoc is the most mature of these technologies and enjoys the broadest formal support. (Though by the time you read this, Java may have surpassed OpenDoc in that regard.) It still has life and could surprise us, but it is definitely on the operating table.
At Salon, and in other aspects of my technical life, I'm betting on Java, despite my early enthusiasm for OpenDoc.
To paraphrase a New Age aphorism, "All you can do is all you can do, but all you can do might be enough if enough of us do it." Here are a few tips for things we can all do to influence the outcome of this war in a direction that ultimately favors us instead of Them:
x Refuse to re-visit pages that use ActiveX components and write the Webmasters of those pages to tell them why you're not coming back. The Web is a damned small space right now; I can tell you that at Salon we take reader comments extremely seriously, and so does any responsible site.
x Avoid visiting or subscribing to sites that cut special deals with Microsoft to bundle Internet Explorer. It's not that the browser itself isn't useful or good. (It is; in some ways it's better than Netscape Navigator.) But as long as sites are encouraged to form tight alliances with Microsoft, they will come under irresistible pressure (read "economics") to adopt ActiveX controls. Just keep the camel's nose out of the tent.
x Send e-mail to anyone and everyone at Microsoft and let them know of your concerns and of your mini-boycott.
x Enable Java in your browser so that developers will be encouraged to continue to explore the creation of useful Java applets. The low-grade scare about Java applet security has caused too many people to make a blanket decision to reject any applets from attempting to load into their browsers. This plays right into Microsoft's hands, since ActiveX components won't even bother to ask.
x If you're a Webmaster, resist the temptation to put ActiveX controls on your site. Support Java.