[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Unix Review Article Draft

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
November 15.

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.

Hypertext Publishing
(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.