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