The following piece was published in Unix Review in February, 1990, under the title "Hypertext Publishing." The article focuses on fine grain, "tagged" (or typed) links due to space constraints. Xanadu of course has many other critical features to help the application developer in the management and access of unstructured, multimedia information.
Copyright 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 effectively share very large information pools. "Many" concurrent users could be as small as 2, or as large as an entire nation; "large" information pools could be as small as a few megabytes for a single project, or as massive as the Library of Congress.
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 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, 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 computer 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 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 is 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--thus her report spontaneously starts acting as the central document in 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.
Reviewing the conference discussions, the manager of product development concludes it would be too expensive to develop parallelism as a product add-on, 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, fine-grain links and sensors used above. The first platforms for the Xanadu/Server will be Sun's Unix(TM) workstations.