Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NLS, Augment, and Engelbart’s actual proposal

The most-watched ninety minutes in the history of computing demonstrations was delivered by Douglas Engelbart on December 9, 1968, at the Fall Joint Computer Conference in San Francisco. The session was filmed; the film exists in good quality and is on YouTube. The audience saw, for the first time, the mouse, the chord keyset, real-time video conferencing between the demo hall and SRI’s research building in Menlo Park thirty miles away, screen sharing between two remote participants, structured document editing with collapsible outlines, hyperlinked references between documents, and a collaborative editing environment in which two people in two cities could edit the same file at the same time while seeing each other’s faces in inset windows. The whole thing was running on a single SDS 940 timesharing mainframe with a custom display system. It has been called, since at least the 1990s, “The Mother of All Demos.” Andries van Dam, who was in the audience, has said in subsequent interviews that the room was stunned in a way conferences are not usually stunned, and that he and many of his colleagues understood, that afternoon, that they had seen the future.

What the future turned out to look like was the mouse and very little else. The other things Engelbart had shown — the structured documents, the collaborative editing, the hyperlinked references, the bootstrapping community of practice, the entire conceptual framework into which the mouse fit as one small piece — went almost nowhere in their original form. The mouse went everywhere. Engelbart spent the rest of his career, until his death in 2013 at age eighty-eight, trying to explain to interviewers that the mouse was the least interesting thing he had built, and that the proposal underneath the mouse — what he called “augmenting human intellect” — was the thing that should have been taken seriously. This chapter is about that proposal, the system that implemented it, and the specific reasons it did not become the substrate it should have been.

The framework, not the gadget

In October 1962 Engelbart published a report for the Air Force Office of Scientific Research called Augmenting Human Intellect: A Conceptual Framework. The report is the founding document of his program; it is the thing the demo was a demonstration of, and the thing everything Engelbart did for the next fifty years was an attempt to instantiate. The argument of the report is that the central problem facing modern civilization is the increasing complexity of the problems we have to solve. Climate, war, poverty, scientific frontiers — the problems are not the problems individual minds, working with conventional intellectual equipment, can solve in available time. Therefore the problems require us to augment our intellectual capacities. The augmentation should be a co-evolution: human beings get more capable, the tools get more capable, the methods of working with the tools get more capable, and the community of people using the tools and methods gets more capable, all at once, in mutually reinforcing ways.

Engelbart called this the H-LAM/T framework, for the human using Language, Artifacts, and Methodology in which the human is Trained. The framework treated the human and the tooling as a single system. You could not improve the human without improving the tools; you could not improve the tools without improving the methods; you could not improve the methods without training the humans. Improvement at any one node required improvement at the others, and the process of improvement was recursive: tools you built to make humans more capable should themselves be improved by the more capable humans, in a positive feedback loop. Engelbart called this loop “bootstrapping,” and he meant the term in something like the sense it had then in the engineering of computer systems — a system that uses its own previous output to improve its next output.

The proposal was, on its face, less specific than Nelson’s. Nelson said: here are seventeen properties a hypermedia system must have. Engelbart said: here is a structure for how human beings and tools improve each other over time, and the test of any specific tool is whether it accelerates the improvement loop. The two proposals were not in conflict, exactly. Nelson’s items would have all been valid Engelbartian tools. But Engelbart’s frame put the tools in service of something larger — the augmentation of human capability — that the tool catalog by itself does not capture. The tool was a means; the augmentation was the end.

This is the part of Engelbart’s proposal that has been the hardest to keep alive. The Hello World version of his work — that he invented the mouse, that he had a great demo, that some of his ideas ended up at PARC — keeps the mouse and loses the framework. The framework is what NLS was for. NLS was not a product. It was an instrument of the framework. The people at SRI who used it were, in Engelbart’s terms, the test subjects of an augmentation experiment that was ongoing for as long as the lab was open.

NLS as a system

NLS stood for “oN-Line System,” named retroactively against SRI’s existing batch-mode offline system. It ran on a Scientific Data Systems SDS 940, a timesharing mainframe that supported about a dozen simultaneous users. Each user had a workstation with a CRT display, a keyboard, a five-finger chord keyset, and the three-button mouse Bill English had built. The chord keyset, used with the left hand while the right held the mouse, was Engelbart’s preferred input device for sustained editing: a trained user could enter text with the chord keyset faster than they could type on the keyboard. Most users did not adopt the chord keyset and many of them resisted the mouse for the same reasons — they would rather stay with what they knew.

The fundamental abstraction in NLS was not a document. It was a structured outline. Every piece of writing in the system was a tree of statements, with each statement having a parent statement above it and an arbitrary number of child statements below. The tree was the writing. You moved around it by selecting nodes. You collapsed and expanded subtrees by issuing commands. You viewed the document at any level of detail you wanted — the top-level summary, the top three levels, the full tree — by adjusting the view, not by editing the source. The source did not change as the view changed; the source was the full tree and the view was a projection of it.

This is the property that has taken seventy years to filter into common practice, and even now it has not arrived in its full form. The outliner — software that treats a document as a hierarchical tree of statements that can be viewed at variable depth — is now familiar in narrow forms: in OmniOutliner, in Workflowy, in the outline mode of various text editors, in the structure pane of Word, in the headings-and-folding behavior of Markdown editors. Roam and Logseq, treated in chapter twenty-four, have brought the outline back as the primary writing abstraction. None of these implementations match NLS’s depth. NLS treated the outline as the writing in a thoroughgoing way. The link, the comment, the cross-reference, the search hit — every operation in the system operated on outline nodes, not on free text. The document as a flat sequence of words, which is what HTML treats writing as, was a thing NLS did not believe in.

NLS also had what we would now call hyperlinks. A statement in one document could be linked to a statement in any other document the user had access to. The link was an address into the outline: you specified the document, the path through the outline to the target statement, and the link took you there directly, expanding the path as needed. The links were not flagged as visual elements; they were textual references in the source, identified by specific syntactic markers. This made the document readable as text without the link decoration; it made the links followable by anyone who knew the syntax; and it made the underlying graph of references queryable, because the references were text the system could search.

Beyond linking, NLS supported what Engelbart called the “journal”: a versioned, append-only archive of every document the lab produced, in which every document had a permanent number, every revision was preserved, and every reader could be cited by other readers in subsequent documents. The journal was the lab’s collective memory, and it was the substrate on which the bootstrapping loop ran. The team’s discussions of how to improve NLS were themselves in the journal, linked to from the documentation, linked to from the codebase, linked to from the meeting notes. The lab was, in effect, a wiki two decades before the wiki was invented, except with more discipline about versions and more support for outline structure.

The 1968 demo

The demo was the public face of all of this. Engelbart had been working on the system since 1959 in some form, on this specific implementation since 1965, with significant ARPA funding from J. C. R. Licklider’s office and then Bob Taylor’s at ARPA. The demo was a deliberate publicity move: ARC needed to justify the funding, the funding agencies needed to see results, and Engelbart wanted to put a marker down that this work mattered.

The technical apparatus for the demo was complicated. The SDS 940 was at SRI in Menlo Park, thirty miles south of San Francisco. The audience was at the Civic Auditorium in the city. A microwave video link, set up by Bill Paxton and a team of SRI engineers, carried two channels of video from Menlo Park to the auditorium. A leased phone line carried the mouse and keyboard input back. The auditorium’s projection system displayed Engelbart, on stage, plus the NLS screen from the workstation, plus inset windows showing Bill Paxton and Jeff Rulifson back at SRI as Engelbart talked to them. The whole rig had been bench-tested but had never been run live for an audience.

What the audience saw, in ninety minutes:

A live demonstration of structured document editing, with statements being added, moved, indented, outdented, and reorganized in real time. A live demonstration of hyperlinks, with Engelbart clicking on a reference and being taken to the target statement in another document. A live demonstration of view-control, in which the same document was viewed at various levels of outline depth and various levels of formatting. A live demonstration of word-processing operations — find, replace, delete — done on outline structures rather than on text. A live demonstration of collaboration: Bill Paxton in Menlo Park edited the same document Engelbart was editing in San Francisco, with both of them seeing each other’s cursors. A live demonstration of video conferencing, with Engelbart having a conversation with Paxton while sharing the document. A live demonstration of the mouse, the chord keyset, and the workstation as a single integrated interface.

The mouse is the part that has reached the world. The chord keyset has not. The outline as the primary document abstraction has been narrowly adopted. The integrated video conferencing took thirty years to become normal. The integrated collaboration took fifty years to become normal in the form of Google Docs and similar tools. The bootstrapping framework has, with rare exceptions, not been recovered at all.

Why it didn’t scale

NLS was a working system used in production at SRI by Engelbart’s lab for the duration of his time there. The lab itself reached forty-some staff at its peak in the early 1970s. The system was the lab’s workflow tool: documentation, code, meeting notes, project plans, and external publications all lived in NLS. The internal evidence is that the bootstrapping loop worked: the lab’s productivity, measured by its outputs, was high relative to its size, and the lab’s members were unusually capable users of the tools they had built.

The system did not, however, scale outside the lab. There were a small number of external NLS users — other ARPA-funded sites that had been given access — and they used it. But NLS did not become the standard document system at other research institutions, much less at universities or commercial firms. There are several reasons for this, and they are worth being specific about because the same kinds of reasons recur for many of the systems in this book.

First, the system required deep training. NLS was not learnable by walking up to a workstation and trying things. The chord keyset alone required weeks of practice; the command vocabulary was substantial; the conceptual model — the outline as primary, the view as a projection, the journal as a versioned archive — was alien to people who came from typewriters and word processors. Engelbart’s view was that this was correct: serious tools should require serious training, and the training should be part of the augmentation. Most users disagreed. They wanted a tool they could learn in an hour. NLS could not give them that.

Second, ARPA stopped funding the lab. The funding model that had supported ARC in the 1960s — open-ended research grants with little requirement to show specific deliverables — was changing under the Mansfield Amendment and subsequent legislation that required defense research dollars to be tied to specific military applications. Engelbart’s work was hard to justify in those terms. The ARPA funding dwindled through the early 1970s. By 1975 the lab was in serious trouble.

Third, the team scattered. Some of the most capable engineers at ARC — including Bill English, Bill Paxton, Don Andrews, and several others — moved to Xerox PARC, which had been founded in 1970 with funding orders of magnitude greater than ARC’s. PARC built the Alto, the Star, and the personal computing vision that descended through Apple and Microsoft to the modern desktop. Many of PARC’s ideas were Engelbart’s ideas, modified and simplified. The Alto’s user interface owes its mouse and its graphical operations to NLS, by direct lineage; it owes its document model (page-oriented, free-text-based, WYSIWYG) to a different intellectual tradition that Charles Simonyi and Butler Lampson among others brought to PARC. The Alto was friendlier than NLS. It was also less ambitious about what a document was.

Fourth, ARC’s institutional home eventually fell apart. In 1977 SRI sold the Augmentation Research Center to Tymshare, a commercial timesharing company. Tymshare renamed the system Augment and offered it as a commercial service for several years; the customer base was small but real. McDonnell Douglas acquired Tymshare in 1984 and continued operating Augment for internal use; the system was finally shut down in the early 1990s. Engelbart himself left Tymshare in 1986 and founded the Bootstrap Institute (later the Doug Engelbart Institute) to continue advocating for the framework. The advocacy continued until his death.

Fifth, and most importantly: NLS’s design choices were optimized for a kind of work — sustained, complex, collaborative intellectual production by trained teams — that most people most of the time were not doing. The Alto and its descendants were designed for casual office work: writing letters, formatting memos, making slides. Those tasks are easier than the tasks NLS was for. The mass market did not need NLS; it needed something simpler. The web, when it arrived, was simpler still. NLS’s complexity and depth were features for its intended audience and obstacles for the wider audience that eventually came online.

What the world kept

A short, honest accounting of what made it from NLS to the present:

The mouse. Engelbart and Bill English designed and built the first one in the mid-1960s. The patent issued in 1970. The design was licensed by Xerox to Apple for what amounted to a few thousand dollars. The mouse went into the Lisa, the Mac, and every subsequent personal computer.

The window-based GUI in concept, though most of the implementation details came from PARC and not from NLS. NLS had multiple-window views and used a graphical pointer to select between regions. PARC made the windows movable and overlapping and added the icons. The lineage runs through both.

Outlining, narrowly. The outline view in word processors, the outline as a presentation tool, the outline as a writing tool in OmniOutliner and Workflowy — these are recoveries of the NLS pattern, mostly without acknowledgment, at much lower power.

Hyperlinking, in degraded form. The web’s link is a descendant of the NLS link and of the parallel Xanadu link, but the web’s link has none of the structural awareness — no addressability into the outline, no two-way visibility, no journal-style version control — that NLS gave its links.

Real-time collaborative editing, very recently. Google Docs in 2006 was the first widely deployed system that recovered the NLS pattern of multiple users editing the same document in real time. Operational transformation and conflict-free replicated data types — the algorithms that make this work — are research traditions that originated in the 1990s and matured in the 2000s. Engelbart had this working in 1968 on a timesharing mainframe, by simpler means; we lost it for thirty-eight years and got most of it back.

What the world did not keep

The augmentation framework. The proposition that tools should be designed not in isolation but as part of a co-evolution between human, tool, method, and community — that the right measure of a tool is whether it accelerates the loop of mutual improvement — has, with rare exceptions, not been carried forward. Most software is designed to be used. NLS was designed to be improved by its users, who were also its builders. The line between the two was deliberately blurred. The line is, in current software, drawn very sharply: developers build the tool, users use it, and the feedback loop is mediated through bug reports and feature requests rather than through the users modifying the tool. This is the same loss the previous chapter named in HyperCard’s terms: the disappearance of the author–reader continuum. Engelbart had named it earlier and was clearer about why it mattered.

The journal. The discipline of putting every artifact the lab produced into a versioned, addressable, linkable archive, and treating that archive as the lab’s collective memory, is a discipline that almost no organization practices. Engineering organizations have wikis and ticketing systems and code review tools, but they have nothing like the integration Engelbart was after, in which every email is a journal entry, every code change is a journal entry, every meeting note is a journal entry, every external publication is a journal entry, and every entry is linked to every entry it relates to. The closest contemporary practice is the so-called “second brain” approach popularized in personal knowledge management, treated in chapter twenty-four. It is much smaller in scope and operates on individual notes, not on institutional outputs.

The chord keyset. This is a small loss in absolute terms but a telling one. The chord keyset is faster than the keyboard, with training, for someone using a mouse with their other hand. The reason it did not catch on is that nobody wanted to spend the weeks training. We have, as a culture, accepted that input devices should be learnable in minutes, and we have given up the speed that comes from input devices that require months. Engelbart’s view was that we made the wrong trade, because the use of a tool that one trains in for months and then uses for decades is, over a career, a much better deal than the use of a tool that one learns in minutes and uses inefficiently for decades. The chord keyset is, in this sense, a synecdoche for the larger thing the augmentation framework was about: serious tools, for serious work, that justify serious investment in learning them.

Toward the next chapter

The next chapter takes the academic hypermedia tradition that grew up at Brown University, at Southampton, and at a handful of other research universities through the late 1970s and 1980s. The academic tradition is more diverse than the SRI tradition, smaller in individual ambition than Xanadu, and more durable in influence than either. It produced systems — Intermedia, Microcosm — that were used in classrooms and offices; it produced research papers that defined what hypermedia was as a field; it produced a community that continues, in the ACM Hypertext conferences, to think seriously about what linking and structure should be. The community was largely sidelined when the web won, because the web answered the question “what is hypermedia for the public” in a way that pre-empted the academic project, but the work the community had been doing did not stop being relevant. It is the source of much of what the recovery in Part V is trying to reassemble.