The main motivation for this note is to describe the hierarchy in Engelbart’s Augment (NLS) system. These ideas stimulate discussion of the good and the bad in hierarchical software design.
When Doug Engelbart and many from his staff came to Tymshare, they brought the NLS system which ran on the PDP-10. NLS was renamed ‘Augment’ for marketing reasons. An augment system ran on one computer and while there were plans to federate Augment systems on different computers, the computers stood alone in my Augment experience. Many simultaneous users would access one computer remotely and thus collaborate.
There were many elements to the Augment system but I restrict myself here to the hierarchical text system which prefigured the web and achieved some of Ted Nelson’s hypertext visions.
A body of Augment text was composed of statements linked into a tree or acyclic graph with a distinguished root. For text to exist in the Augment system, it had to be situated somewhere in such a hierarchy and such a hierarchy comprised one file. The text and topology were mutable but modifications that would make text unreachable or introduce cycles were prevented.
There was a several parameter ‘viewspec’ which determined how the tree structure was mapped to the screen. Viewspecs were normally supplied by the reader but it was possible to provide a default viewspec in a link (q.v.). Most or all of the ways of displaying the text made the tree structure evident. Critical among these display modes were truncations of the tree, usually a depth truncation. Statements were usually displayed as paragraphs. It was easy and quick to change viewspecs and an experienced user might do so many times per minute.
The Augment system organized text files in directories much like the current notion of Unix directories, which themselves form a hierarchy. A full location specification would consist of a hierarchical path name followed by ‘within file’ navigation information. Protection (read access, read-write access) was provided by the OS at the file level.
Augment provided links within the text which could be followed with a mouse click. The address within the link was visible and might include an alternate file name. Beyond the optional file name came a sequence of navigational items which were sequentially followed. I remember the following:
Almost everyone used the chording keyset to enter commands. A keyed “JL” would cause “Jump Link” to appear at the top of the screen. A subsequent mouse click on a link would take you the place described by the link. “JB” (=> Jump Back) followed by an OK click would consult a stack of recent places.
There were several sorts of portions of the tree with established names.
The system provided simultaneous windows on the screen to show distant parts of the same or different files. It was thus possible to click on several places for these complex commands.
Review of famous demo Offer to fill in details.