For those of you who don't know, I am Dr. Ernie, Caltech PhD in
Experimental Particle Physics, chaplain of FoRK, and sometime Object
Philosopher. I have no bits, and only one clue, but it is a generic
one. I act as a clue multiplier for Rohit and Adam.
Let me first congrtulate Ron on a brilliant analysis and summary. And
I think his recommendations are the right ones: Domain, Model,
Technology, Implementation, Iteration. I also think he identifies the
correct problem: dumb bits. The question is precisely how do you
compose a universe of dumb bits into a usable system.
Ron's answer (oversimplifying) is self-contained, self-aware objects.
But, if you'll pardon my language: Ron, you're thinking like a chemist
[This is considered a deadly insult among physicists, but I say it
only to make a point :-]. Chemists are concerned with atoms and
electron bondings (e.g., objects and messages). They believe the
world can be built up out of these things, which in one sense is true.
But in another sense, it is not. [Hang with me for the analogy, this
really -is- all relevant]. The different between physicists and
chemists is not that we work with quarks and they use atoms. The
difference is that we are concerned with SYMMETRIES, not -things-. I
didn't become a chemist, because chemists have to learn all about how
various atoms and bonds work. I don't care about that, I want to know
how the UNIVERSE works, in terms of its basic structure. From that, I
can then figure out atoms, quarks, rocks, galaxies, etc.
This can be seen in the fact that chemistry, when you get right down
to it, is confined to a single level: atomic. While it has
macroscopic effects, it can only be understood in terms of atomic
forces. Physics -scales-. I can use the exact same laws of motions
for quarks as I do for galaxies - withOUT having to assume that
galaxies are made of quarks! All that matters is that they exist in
the same universe.
This is why this issues is critical for global information societies.
We need a common infrastructure for reasoning about multi-level
issues. Sure, one layer of it can be your object world, but that
object layer is not an adequate metaphor for the rest of the universe.
Conversely, I would argue that the the infrastructure of the
Information Universe (hey, I should TM that) -is- capable of
supporting a robust d-o environment, using the same tools it uses for
everything else.
What makes up the universe? Energy, matter, space, and time. Our
guiding definition is the one on my advisor's door (it still may be
there, Luaritsen 261 at Caltech):
Time exists so everything doesn't happen at once
Space exists so everything doesn't happen to you
To be precise:
energy is bits. Raw, formless, and unstructured. Infinitely copyable
and mutable. And the bits were formless and without void. And it was
a mess.
matter is structured energy, i.e. markup. Bits with a sense of
identity. Conserved in certain fundamental ways. Well-defined
internal semantics. And the bits became words and dwelt among us.
[in the generic sense of 'logos':r informatio, message, idea]
space is the medium for matter, i.e. links. Words exist in a
universal namespace. They have relationships with each other. They
take on different characteristics depending on who their neighbours
are. For it is not good for words to be alone.
time allows travel through space, i.e. transport. Mail output
XeNT/XYZ becomes Mail input Pundit/XYZ. Propogation occurs in a
finite amount of time in an open universe, not instantaneously in a
closed loop. And the words were given power to go forth into all the
world and subdue it. And it was very good.
Doesn't make sense? Don't worry, that's why we have Adam and Rohit,
to interpret the words of the oracle (no, not Ellison) to the huddled
masses on the mountain. And, like priests often do, they will
probably make it mean whatever they want.
The bottom line, though, is coming up with a set of principles and
metaphors which allow you to reason about and ultimately maniuplate
multiple levels of the the problem coherently. Not just a message to
an object, but which object? How securely? For how much? In what
format? When? And do what if you don't get a reply? Why?
The holy triad of HTML/URL/HTTP are, individually, not intrinsically
better than anything else. But they capture the essential trichotomy
that make them an appropriate substrate for a robust, scalable universe:
object message passing, yes, but also document delivery, user
interfaces, network management, file I/O, etc. And having a properly defined
universe means that object agnostics (like people who believe in a
flat earth) can manipulate it just fine -- up to the quantum scale where
the next deepest level of reality manifests itself.
Okay, back to being a boring management consultant by day. I'll let
you CS types have the fun of making this all work. Let me know when
you're done creating the universe. It should take, what, six days?
:-)
-- Ernie P.