After Doug Engelbart had finished his reportAugmenting Human Intellect: A Conceptual Framework in 1962 [Engelbart 62], funding from NASA and ARPA – later also from Air Force’s RADC – grew the Augmentation Research Center at Stanford Research Institute (SRI-ARC). His research agenda exposes the design of a system that augments human mental abilities. An essential condition to reach this goal is to enhance the input and output channels of the computer. Engelbart realized, that computer screens can and should be used to display text. Until the late 1950s computer monitors are merely used to display radar data for the air-defence system SAGE [Friedewald 99, p. 95]. Engelbart felt the user should directly interact with the computer system, without dealing with punched-cards, teletype or any other means of batch processing.
The system NLS (cf. 2.1.3) was named after the literal meaning of being on-line with the computer – the oN-Line System – where “on-line” was not used with the sense of today to have a system connected to the Internet. There was no Internet yet. The meaning of on-line in the 1960s was to use the machine interactively. For SRI this was made possible by the use of one of the first time-sharing computers.
The public highlight of SRI was the presentation of NLS at the Fall Joint Computer Conference (FJCC) in San Francisco at December 9, 1968. This session is often referred to as “the mother of all demos”. Doug Engelbart and his team present the mouse, windows, interactive text editing, video conferencing and last not least the hypertext capabilities of NLS. In fact NLS is the first hypertext system that became operational.
NLS is the first hypertext system that became operational, although it was never primarily designed as such. The objective was to build a new tool to “augment human intellect”. The computer should be used for an interactive dialog with the user. Its flexibility and symbolic manipulation capabilities should support human idea processing. The interface related aspects will be discussed in 3.1.3 NLS/Augment (p. 56). This section will focus on the hypertext qualities of Nls.
Nls is implemented on one of the first time-sharing computers, an Sds 940. About six terminals were installed by 1968 (cf. Fig. 3.2). An Nls process is directed for each terminal, which has access to the same set of files.
Each file in NLS is highly hierarchically structured. It is segmented into statements of limited size, that get an identifier according to its serial location in the text, e.g. 1, 1a, 1a1, 1a2, 1a2a, 1a2b, 1b, 1b1, etc. The identifiers can be hidden. And many other commands are provided to change the view. For example it is possible to display the outline of a file down to the second level with just 3 lines of text for each statement.
Identifiers can be used to link to the corresponding statements. But they are vulnerable against file manipulation. If the content of a file is modified, the identifiers might change as well and the link points to a wrong statement. Doug Engelbart and his team are aware of this difficulty and offer several more options to specify the destination for a hyperlink. They are presented in Authorship Provisions in Augment [Engelbart 84, p. 112, 6].** ‘6’ is the number of the statement in the Web edition of [Engelbart 84]. NLS has three ways to address statements directly. First are structural statement numbers – this are the identifiers mentioned above. Second are statement identifiers (SID). Sids are unique integers that are assigned in ascending order to statements once they are created. They stay unchanged as long as the statement exists in the document. Third are worker-assigned statement names or labels. A word in parenthesis – or any other specified delimiters – is treated as a label for the statement and can be used to link to the statement.
In addition to the direct methods a statement can be identified by text and content addressing. Halasz and Schwartz give the example of a link to «the statement containing the word ‘pollywog’» [Halasz/Schwartz 94, p. 33].
Addresses can be extended with supplements. Most of the relative address extensions deal with the structure of the file, like up a level, down a level or successor at same level. A peculiar kind of extension is the indirect link referencing. Once a statement is found NLS looks for the first (or second, …) link in the statement and follows it to the next statement. It is possible to do this kind of detour several times in succession.** For example (5c “*D”.1) represents the path “go to statement 5c, scan for first occurrence of ‘*D’, then follow the next link found in that statement”. The syntax for addressing statements is described in detail in [Engelbart 84, p. 112, 6].
The linking mechanism of NLS does not stop at file boundaries. Other files in the same directory or in different directories can be specified in similar fashion.
Finally in an interview with Frode Hegland, Doug Engelbart recounts on implicit links in NLS [Hegland 2000, Hypertext/Hypermedia]. Wherever a special term like e.g. “mouse” shows up in the text a macro command can be provoked to automatically jump to the corresponding description in a glossary file. Thus links can also be calculated by the system.
In Literary Machines Ted Nelson pays tribute to the invention of the text link by Doug Engelbart [Nelson 93, p. 7]. All link specifications that have just been presented can be attached to any sequence of text in a statement. A single click with the mouse to the text is sufficient to display the linked text passage on screen [Hegland 2000, section on Windows].
It is very important to Doug Engelbart that all files in NLS follow the same hierarchical structure with no exception from documents and e-mails to source code files. Every statement in any file can be referenced with the same mechanism. The automatically generated statement identifiers guarantee a high granularity to link any paragraph separately.
Electronic mail and the Journal are part of NLS since 1970. They fit into the second phase of Engelbart’s research program not only to augment individuals but also to augment working groups. The Journal is a permanent storage for NLS documents. Once a file is put into the Journal it gets a reliable address, that can be used by other documents for linking.
According to NLS Teleconferencing Features: The Journal and Shared-Screen Telephoning [Engelbart 75, 7j], about 30,000 items have been entered during the first five years. For 1984 the number has exceeded 100,000 entries [Engelbart 84, p. 122, 10c7].
Notably all e-mails at SRI-ARC are stored in the Journal and can therefore be referenced by other mails. Engelbart gives an example for such a message [Engelbart 84, p. 121, 10c4]:
“Frankly, John, I think your comment in (DDD,xxx,aa) is a mistake! Didn’t you notice the earlier assumption in (DDD,xxx,bb)? Maybe you should go back to Tom’s earlier requirements document […] – especially at (EEE,yyy,cc).”
The expression (DDD,xxx,aa) represents a citation link to a file with the Journal item number ‘xxx’ in the Journal ‘DDD’. The ‘aa’ part is the address pointing to a specific passage in that Journal file. A click on such a link brings up the original document.
The Journal is really remarkable. It shows how a community of people can benefit from a holistic approach that combines e-mail and hypertext.