The following piece was published in Unix Review, February, 1990. The Xanadu
project was at that time working on developing a system that could support
the scenario described. I am hopeful that eventually the Web will evolve
to the point where it supports the capabilities needed for this quality of
collaborative development and sharing of knowledge.
Hypertext publishing is the act of making a document widely available in
an open hypertext system. We distinguish open hypertext from simple
hypertext in that open hypertext allows many concurrent readers and writers
to effectively share very large information pools.
One could most easily construct an open hypertext system by building user
applications on top of a hypermedia information server. Just as a traditional
relational DBMS allows multiple simultaneous readers and writers to access
structured text and numeric records (First Name, Last Name, Annual Salary),
a hypermedia server would supply information management for unstructured,
multimedia information (post-it notes, drawings, and video clips). In a
traditional DBMS, you can easily answer questions like, "show me all the
programmers in the R&D division, sorted by annual salary." With a hypermedia
server, you will be able to easily answer questions such as, "show me all
the criticisms of this published report, and show me how the author addressed
these criticisms in his later works."
Whereas the relational DBMS uses queries on keyfields to select and extract
data, a hypermedia server would use filters on tagged links
to select and browse information: one could filter to find just links with
certain attributes, such as a specific author, date of creation, or type
(suggestion-type links, criticism-type links, etc.). Whereas a DBMS might
sort information in a certain sequence to bring highlights to the user's
attention, a hypermedia server might use sensors to alert users to
the arrival of new material: if a sensor were attached to a document, running
a new link to the document would set off the sensor.
Given an open hypertext system, to publish a document one would set the
permissions on the document to allow read-access to everyone, and then link
the document to the appropriate conferences: a conference would be a read-only
document to which many people have attached sensors, so that they are alerted
when new links (and thus new documents) are added.
Let's look at an example. Suppose Mary, who programs for the Ultra C Corporation,
gets frustrated because her compiles take too long. She knows that many of
the workstations on her network are underutilized--but all that compute power
is wasted, idling and unable to help. Suppose Mary comes up with an idea
for tweaking the compiler to find idle computers and put them to work.
First, Mary privately drafts a document on her Parallel Compiling design.
She decides to show it to her mentor, Jack, to make sure she hasn't overlooked
a glaring problem. So she writes an explanatory note for Jack, links the
note to the Parallel Compiling report, and then links the note to Jack's
mailbox: in this open hypertext system, a mailbox is simply a publicly readable
document to which the owner has attached a sensor.
Jack gets alerted, traverses the link to read the note, then traverses again
and reads the report. As he reads, Jack creates notes about problems and
links the notes to the specific sentences and paragraphs they refer to (since
the link can be attached to items as small as a word or even a character,
these are fine-grained links). Mary reads these criticisms and improves
the document.
Now she's ready to publish. She runs links from the report to the System
Maintenance conference, because she knows the guys in system maintenance
are good at quick patches, and she needs parallel compiling immediately.
Meanwhile, since the compiler they are patching is their own Ultra C, she
also runs a link to the New Product Ideas conference.
Her idea creates a lot of discussion: someone runs a link down to the Compiler
Design Issues conference. Interest runs high. Many people attach new documents
to her report. In response many people attach sensors to her report to keep
up with the new links--and her report , which started out as private email,
has now spontaneously evolved into the central document of a new Parallel
Compiling conference! Through Mary's report, the people involved with
parallel compiling find each other, regardless of whether they first heard
about it through New Product Ideas or System Maintenance.
The manager of product development concludes it would be too expensive to
make as a product, based on the discussions in the conference--but he is
automatically alerted when the guys in maintenance drop in a link to the
quick and dirty version of the system they worked up over the weekend. Seeing
how this was done, and seeing the number of excited responses from programmers
whose compile times have been cut in half, the manager revises his opinion.
Six months later, Ultra C releases the parallel version of their compiler.