Microsoft Corporation
July 16, 1996
Updated: August 12, 1996
While Microsoft® ActiveX™ and OLE are both based on the Component Object Model (COM), they provide substantially different services to developers. COM provides the low-level object-binding mechanism that enables objects to communicate with each other. OLE uses COM to provide high-level application services such as linking and embedding to enable users to create compound documents. ActiveX, on the other hand, provides a substantially "slimmed down" infrastructure to enable controls to be embedded in Web sites and respond interactively to events. While OLE is optimized for end-user usability and integration of desktop applications, ActiveX is optimized for size and speed. ActiveX also adds a number of important innovations for the Internet, including a substantial (50 percent to 75 percent) reduction in size, support for incremental rendering and asynchronous connections.
"ActiveX is an integration technology, while Java is an Internet language."
—GIGA Information Group, June 6, 1996
ActiveX and Java™ are complementary, not competing, technologies. First and foremost, Java is a programming language. Second, Java is a set of virtual machine bytecodes that can be executed on any platform running a Java Virtual Machine (VM). Third, Java is a set of programming interfaces that define the underlying services available from Java code.
ActiveX, on the other hand, provides a totally different set of benefits focused on integrating objects created in any language. That means that ActiveX makes Java more powerful by enabling it to access code written in any other language. This gives Web designers the flexibility to include multiple objects in a page (some built in Java, some in other languages) and have them communicate interactively.
We are hard at work taking ActiveX to the Macintosh® and UNIX. We're working with both Metrowerks (the leading provider of Macintosh development tools) and Macromedia to bring ActiveX to the Macintosh. (Some of the infrastructure is already on the Macintosh.) The best indicator of our commitment to the Macintosh is the Macintosh version of Microsoft Internet Explorer. We've also been working with companies such as Bristol and Mainsoft to bring ActiveX support to UNIX.
Microsoft has announced that it will transition ActiveX to an appropriate industry standards body. A working group of customers, ISVs and platform vendors will convene shortly to determine the process for transitioning ActiveX technology to an independent organization. ActiveX was not designed as a committee-driven standard; it is a market-driven technology, which hundreds of ISVs helped define in a rigorous open process coordinated and implemented by Microsoft. The open process consisted of multiple technical design reviews, publication of draft specifications for comment, and distribution of early code releases for testing and feedback. This collaborative effort resulted in the ActiveX specification. As a result of this open process, ActiveX is supported by literally hundreds of applications, components, and tools vendors in a variety of markets.
To address security concerns posed by anonymously authored executable code distributed over the Internet, Microsoft is working with a number of ISVs on a code signing standard, which provides the same level of accountability to end users of Internet software as buying a shrink-wrapped product in a store.
For end users, ActiveX controls offer several advantages over plug-ins, including "autodownload" and transparent installation (subject to user approval, of course), support for Authenticode™ code signing security, and an existing library of thousands of proven, tested, commercially available controls.
For developers, plug-ins are a no-win proposal. They are specific to the browser, and Netscape has not designed a business model around them that lets developers recoup their investment. In contrast, ActiveX controls are general componentware that can plug into any application. There's also a built-in licensing model that allows developers to make money selling ActiveX controls, which is why controls are now a $240 million/year industry.