[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
Unix Review Article Draft
- To: <us>
- Subject: Unix Review Article Draft
- From: Marc Stiegler <marcs>
- Date: Wed, 18 Oct 89 16:47:50 PDT
About a month ago, Dave Chandler at Unix Review contacted me and requested
an article about "Hypertext Publishing", for the series they are planning
to do on hypermedia (Norm Meyerowitz, whom we meet at all the conferences,
is writing the lead-off article). Bobp was enthusiastic, I volunteered to
do the legwork, and Dave wanted an outline by October 15, and a final on
Rather than giving Dave an outline, I sent him a rough draft (with a max
size of 800 words, I can't outline, it's too small to bother with if
you get used to writing books). Since I was afraid that, in my use of
the term "hypertext publishing" I might step on some religious toes,
I also sent it over to drexler for review before dropping it into the
public information pool on "us". He saw no major abuse of Xanadu terminology,
so here it is. Comments are welcome, though not required. The italics
on words that are about to be defined got lost on the way to email, so
don't be confused by that. I am posting this to "us" mostly for everyone's
amusement; comments that lead to reducing the size of the article by
10% are particularly interesting to me, since it's oversize as it is.
(c) October 1989 Marc Stiegler
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 work together effectively. Whereas simple
hypertext programs supply users with the hypertext equivalent
of a typewriter and a filing cabinet, an open hypertext environment
would supply each user with the hypertext equivalent of a printing
press and a library. Open hypertext applies to any work group
context, from the coordination of a 5-person team up to the support
of a corporation-wide (or even nation-wide) publishing system,
with information pools as large as the Library of Congress.
How might such an open hypertext system be built, and how might
one publish documents in such a system?
A straightforward way to build an open hypertext system would
be to construct user applications on top of a hypermedia information
server. Just as a traditional relational DBMS allows multiple
simultaneous readers and writers to access highly 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 these criticisms were addressed
by the author in his later works."
Whereas the relational DBMS uses queries on keyfields to select
and extract data, a hypermedia server would use filters on typed
links to select and browse information: a typed link might be
filtered for author, a date of creation, and a relationship (such
as, is the document at the far end of the link a criticism, or
a clarification?). Whereas a DBMS might sort information in a
certain sequence to bring it to the users attention, a hypermedia
server might use sensors to alert users to the arrival of new,
related material: if a sensor were attached to a document, when
a new link was attached to the document the sensor would go off.
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: in open hypertext, 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 a private 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 attaches
links, from Mary's individual sentences and paragraphs to new
notes critiquing various points (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 conference of system maintenance requests, 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, and many people attach
new documents to her report. Interest runs high; many people
attach sensors to her report to keep up with the flow of ideas;
her report itself becomes the central document in "Parallel Compiling",
a conference that arises spontaneously through the independent
actions of the interested parties. Through Mary's report, with
its cross connections to other conferences, the people who are
interested in parallel compiling find each other regardless of
whether they started out as participants in 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.
Xanadu is currently developing a hypermedia server that supports
all the features necessary for open hypertext, including the
typed links and sensors used above. The first platforms for the
Xanadu server will be Sun's Unix workstations.