yahoo!
nerds
wired
sci am
news
words
market
private
If
there's hope for humanity it's in software |
Copyright (c) Max K. Goff 1998-2001
all rights reserved
Software Teleology
The Purpose of Code (page 4)
Teleological Vectors
Consider the placement of Java Technology in Figure 2. When inventing
the Java Platform, James Gosling had a specific purpose in mind: create
a software platform that would allow for secure, painless transfer of code
and data across an arbitrary network, independent of device, and hence
operating assumptions. It needed to ride the sweet spot, on the edge of
the growing balloon of Legacy interfaces, as the legacy moves forward to
embrace the opportunities available in near-future Innovation. If Java
Technology were to succeed as a platform, it had to serve that very purpose.
Hence, it lives right on the edge, just as ready to embrace Innovation
due to bandwidth and growing communities as it is to facilitate more intelligent
communication from more and more devices. That was Java's original purpose.
It's success is a measure of how well it was suited to that purpose.
Similarly, a discussion of Jini Network Technology in this light would
reveal that its initial placement was clearly misunderstood. Thought to
be a solution for devices to connect, which is part of what it's about,
the original meme-map put Jini out front in the race for bandwidth and
connectivity, when that was only part of the story. Note that the balloon
is flattened. It's not a perfect sphere, if we are to judge from the cross-section
exposed. Mathematically, Gilder is outpacing Moore, which says we should
have the devices well connected before they're fat enough to be too shocking.
Which also implies that we should see a J2ME that can't support Jini due
to footprint constraints, which we have all ready seen. QED.
Figure 4: Jini Network Technology teleological positioning
(Click image to enlarge).
Arguably then, Jini Network Technology, by providing the basis for
JavaSpaces-like applications, has as much in common with m2m issues and
opportunities as it does with network connectivity. While Jini Network
Technology may have been viewed as being a marginalized device-specific
investigation, its vector points directly to the 4th quadrant - that place
in the Software Teleology model that represents the meeting of the three
forces primarily responsible for redefining the fitness landscape. Which
is to say that while I may have a specific need to meet in a specific quadrant
of the model, the components or platform upon which I rely may exist in
one be be vectored toward another. Thus, analysis which includes software
teleology should be applied to immediate design considerations as well
as to designs and assumptions made by the components or platforms in question.
The 4th Quadrant
Given the exponential nature of the forces that shape the fitness landscape,
each successive generation of technology seems to give rise to both increasing
opportunity and increasing resistance. Given that our legacy is a summary
and reflection of our accumulated investments, the need to preserve some
interfaces is a vital as the need to grow economic concerns. But Moore
means more -- which implies preservation to be sure; but anarchy also...the
opportunistic edge. The forces we cite shape and are shaped by the landscape
within which we all play. They are metaphorically like whirlpool shapes
in nature; a natural occurrence, a function made up of moving components,
none of which shape the thing but all of which take the shape of the thing.
As an abundance of well connected intelligent devices becomes ubiquitous in
an exponential manner, the rate of technical innovation may exceed the
capacity of the fitness landscape to adequately test the innovation. We
cannot look beyond that point, due to the manifest nonlinearity of the
combined variables involved. Thus, the ominous 4th Quadrant; the cultural
event horizon which looms in some near-future, some adjacent possible,
just a few chemical reactions away...
Figure 5: The 4th Quadrant (Click image to enlarge).
Summary
The currency of software design is the rich set of legacy interfaces
we've accumulated over the decades. With XML and self-describing data, legacy
interfaces become less problematic and more valuable, ensuring a high demand
for legacy data for years to come. The three forces (Gilder, Metcalfe and
Moore's Laws) goad innovation even as they help shape the economic fitness
landscape in which software plays. Elemental Goads (the Nth Laws) drive
Eric Raymond's software noosphere (legacy) persistently into Stuart Kaufman's
adjacent possible (innovation). A teleological vector is the opportunistic
direction implicit in choices made on behalf of a software project, implying
mindful reflection of the goading forces which shape the fitness landscape.
All software worth discussing has a teleological vector that can be
discerned.
|