The upcoming CHI 2009 conference will be the 20th consecutive CHI I have attended. My first CHI was in 1990, where I discovered the field of Human-Computer interaction, a term I had not come across in my undergraduate education as an electrical engineer.
One of the most memorable experiences at CHI was a tutorial on “Hypertext” taught by Bob Glushko. The concept was fascinating, and Bob was a good teacher. He did, however, say one thing that struck me as a challenge. He talked about nodes, links, and anchors, and said that to build hypertext systems, you needed a “graphics display and a mouse.” At the time, I was working at UCLA in the Office of Academic Computing (OAC) as a consultant and programmer. UCLA was an IBM shop, and we had a bunch of 24×80 green-on-black IBM 3178 (and equivalent) terminals. No mouse, no windows, no graphics. But we had something called ISPF, which allowed the program to read the cursor location on the screen, and VSAM with which I built a crude inverted index of our local online help.
The help files had useful information, but no a good way for users to get at it. Challenged by Bob’s statements, I put together a program that allowed users to select a document, read it, move the cursor under any word on the screen, press enter, and cause the system to retrieve all documents that contained that word. The process could continue indefinitely. (No, there wasn’t a “back” button!)
So was this a hypertext? There were certainly nodes, but no a priori links, and no anchors. And yet the interaction style was in the right spirit: users could select an object’s proxy (a keyword, in my case), and having followed a one-to-many link, would arrive at a document. In subsequent years, I built several other hypertext systems that skipped the traditional node-link structure to focus on interaction with (and within) documents. Each of these dynamic hypertext systems, in their own way, captured the spirit of hypertext while rejecting the static node-link paradigm.
- Queries-R-Links allowed users to select terms in a document, and to draw connecting lines representing conjunctions. Each interaction resulted in a graphical Boolean query that was immediately executed to generate a list of matching passages in the document. Click, and the list updates, drag a line, and the list updates. Select a matching passage, and the query boxes and lines would be re-drawn on the newly-displayed text, where they could be edited or augmented to refine the query. In hypertext terms, markup could be seen as user-authored anchors and the link was mediated by a full-text Boolean query.
- VOIR took this notion a bit further, by creating recognizable blue, underlined anchors typical of those in Netscape. Each anchor, however, was not connected to a pre-determined node, but rather ran a query based on the lexical context of the selected anchor to retrieve related documents. A weighting scheme that included the selected anchor text and the recent browsing history affected the set of documents retrieved as the target of the link. Anchors were computed based on query terms with high tf-idf scores and also included capitalized terms such as names of people and places. Documents were displayed seven at a time, in a newspaper-like layout. Thus the system created anchors based on observing users’ behaviors, and used each anchor to link to a compound document that addressed various aspects of the user’s information need. Rick Bodner later implemented these techniques on the web.
- The last example of a dynamic hypertext was a system that Cathy Marshall and I built as yet another manifestation of Forward Anywhere, a hypertext she co-wrote with Judy Malloy. Forward Anywhere the text has existed in several media, including a Hypertext distributed by Eastgate Systems (and listed on Amazon, ironically, as “out of print,” perhaps because 3.5″ disks are no longer widely available), a web site, and, for some time, an XLibris version. The XLibris version allowed the user to annotate pages of the book with free-form digital ink, and then used the “forward” button to link to another, related but not yet seen, page based on the terms that were marked up. Pages are nodes, “forward” button is the link anchor, and the target is determined dynamically based on prior interaction with the system and some expression of the user’s interest in the current node based on the presence of annotations.
There are other forms of hypertext (e.g., spatial hypertext) that also break the traditional node-link paradigm, but interestingly, interactions with those systems are also quite different from conventional link following.
Dynamic hypertext is a way to combine the (now) familiar hypertext interaction style with a variety of algorithms—rather than static data structures—that determine the target of a user’s selection. Because hypertext software does not reveal to the user how it determined the target of the link, it is the user’s interaction experience that characterizes a hypertext rather than any particular data structure or algorithm.