day 86




digital darwinism 8: digital darwin

Eye Candy #5: The effects of evolution on humans is as
unpredictable as a David Letterman joke. Is the evolution of
the computer industry any more predictable?

As I was saying, Microsoft's halting steps

toward ActiveX is a good example of digital

Darwinism. ActiveX is the current incarnation

of Microsoft's proprietary middleware "glue"

which has recently been aimed at Java. ActiveX

is too proprietary to beat out Java (just as

Money was no match for Quicken), but the next

3 years will be colorful as Microsoft and the

Java Beast turn their machine guns on each

other. But then, this conflagration is another

story.

ActiveX has its roots in the late 1980s with

the idea (gleaned from Apple Computer's

publish-and-subscribe) of "hot-linking"

applications through a technology blandly

called DLE (Dynamic Linking and Embedding).

A hot link is a pipe for connecting two desktop

applications such as WORD and EXCEL so that

data can effortlessly flow between the two. A

user need not worry about conversions or

formats. Simply linking a graph in EXCEL to a

picture in WORD accomplished the goal of

interoperability. A change in an EXCEL graph is

automatically propagated to all documents that

reference the graph.

DLE evolved into OLE (Object Linking and

Embedding) which evolved into ActiveX

(distributed OLE). The word "evolved" is

appropriate. There was apparently no plan.

Rather, there were mutants. There was no

architecture. Rather, there were remodeling

jobs piled on top of remodeling jobs.

In fact, the design and implementation of OLE

was so chaotic that version 1.0 had little

relationship to version 2.0. OLE 2.0 was

essentially a different product. ActiveX

follows the same form - it has only some

resemblance to 2.0. Here is an anonymous

testimonial to the roughness of OLE:

"In the beginning there was OLE 1.0 which was
intended to deal with the creation and
management of compound documents. True to
Microsoft form, release 1 of this technology
was found to be very rudimentary and did not
prove popular with programmers. In May 1993
the first OLE 2.0 toolkit shipped and... it bore
little resemblance in the API department to
version 1, [but] it was generally found to be a
much more robust offering. Now OLE 2.0 has
evolved into a rather confusing beast. Its
ancestry lies with the ability to link independent
applications, exchange data between them and
enable them to invoke functions on one another,
all on one machine. However, while this is what
it offers today, OLE 2.0 is more frequently
referred to by Microsoft as 'the first step
towards making Windows an object-oriented
operating system.'"

OLE works through binary DLLs rather than

source-language bindings. This is one major

difference between ActiveX and OpenDoc, for

instance. A binary interface allows disparate

developers to create and sell their components

without exposing their source code. It also

permits objects to be sewn together at runtime

rather than statically bound at compile time.

This flexibility alone was responsible for

OLE's fast start in the component world. But

the binary approach resulted in unwieldy

designs that make it difficult for developers

to build applications with the interoperability

and portability of Java, for example. More

importantly, ActiveX is a hacker's dream, not a

basis for architectural masterpieces.

digital darwinism 1 2 3 4 5 6 7



Daily Dose Index