NLS (computer system)

NLS, or the "oN-Line System", was a revolutionary computer collaboration system developed in the 1960s. It was designed by Douglas Engelbart and implemented by researchers at the Augmentation Research Center (ARC) at the Stanford Research Institute (SRI). It was the first computer system to employ the practical use of hypertext links, a computer mouse, raster-scan video monitors, information organized by relevance, screen windowing, presentation programs, and other modern computing concepts. It was funded by ARPA (the predecessor to Defense Advanced Research Projects Agency), NASA, and the US Air Force.

The NLS was demonstrated in the Mother of All Demos.

Development
Douglas Engelbart developed his concepts while supported by the US Air Force from 1959 to 1960 and published a framework in 1962. The strange acronym, NLS (rather than OLS), was an artifact of the evolution of the system. Engelbart's first computers were not able to support more than one user at a time. First was the CDC 160A in 1963, which had very little programming power of its own.

As a short-term measure, the team developed a system that allowed off-line users—that is, anyone not sitting at the one available terminal—to edit their documents by punching a string of commands onto paper tape with a Flexowriter. Once the tape was complete, an off-line user would then feed into the computer the paper tape on which the last document draft had been stored, followed by the new commands to be applied, and the computer would print out a new paper tape containing the latest version of the document. Without interactive visualization, this could be awkward, since the user had to mentally simulate the cumulative effects of their commands on the document text. On the other hand, it matched the workflow of the 1960s office, where managers would give marked-up printouts of documents to secretaries.

The design continued to support this "off-line" workflow, as well as an interactive "on-line" ability to edit the same documents. To avoid having two identical acronyms (OLTS), the Off-Line Text System was abbreviated FLTS and the On-Line Text System was abbreviated NLTS. As the system evolved to support more than just text, the "T" was dropped, and the interactive version became known as NLS.

Robert Taylor, who had a background in psychology, provided support from NASA. When Taylor moved to the Information Processing Techniques Office of the US Defense Department's Advanced Research Projects Agency, he was able to provide additional funding to the project. NLS development moved to a CDC 3100 in 1965. Jeff Rulifson joined SRI in 1966 and became the lead programmer for NLS until leaving the organization in 1973.

In 1968, NLS development moved to an SDS 940 computer running the Berkeley Timesharing System. It had an approximately 96 MB storage disk and could support up to 16 workstations, each comprising a raster-scan monitor, a three-button mouse, and an input device known as a chord keyset. Typed text was sent from the keyset to a specific subsystem that relayed the information along a bus to one of two display controllers and display generators. The input text was then sent to a 5-inch (127 mm) cathode ray tube (CRT), enclosed by a special cover, and a superimposed video image was received by a professional-quality black-and-white TV camera. The information was sent from the TV camera to the closed-circuit camera control and patch panel, and finally displayed on each workstation's video monitor.

NLS was demonstrated by Engelbart on December 9, 1968, to a large audience at the Fall Joint Computer Conference in San Francisco. This has since been dubbed "The Mother of All Demos", as it not only demonstrated the groundbreaking features of NLS, but also involved the assembly of some remarkable state-of-the-art video technologies. Engelbart's onstage terminal keyboard and mouse were linked by a homemade modem at 2400 baud through a leased line that connected to ARC's SDS 940 computer in Menlo Park, 48 kilometers southeast of San Francisco. Two microwave links carried video from Menlo Park back to an Eidophor video projector loaned by NASA's Ames Research Center, and, on a 22-foot-high (6.7 m) screen with video insets, the audience could follow Engelbart's actions on his display, observe how he used the mouse, and watch as members of his team in Menlo Park joined in the presentation.

One of the most revolutionary features of NLS, "the Journal", was developed in 1970 by Australian computer engineer David A. Evans as part of his doctoral thesis. The Journal was a primitive hypertext-based groupware program, which can be seen as a predecessor (if not the direct ancestor) of all contemporary server software that supports collaborative document creation (like wikis). It was used by ARC members to discuss, debate, and refine concepts in the same way that wikis are being used today. The Journal was used to store documents for the Network Information Center and early network email archives. Most Journal documents have been preserved in paper form and are stored in Stanford University's archives; these provide a valuable record of the evolution of the ARC community from 1970 until the advent of commercialization in 1976. An additional set of Journal documents exists at the Computer History Museum in California, along with a large collection of ARC backup tapes dating from the early 1970s, as well as some of the SDS 940 tapes from the 1960s.

The NLS was implemented using several domain-specific languages that were handled using the Tree Meta compiler-compiler system. The eventual implementation language was called L10.

In 1970, NLS was ported to the PDP-10 computer (as modified by BBN to run the TENEX operating system). By mid-1971, the TENEX implementation of NLS was put into service as the new Network Information Center, but even this computer could handle only a small number of simultaneous users. Access was possible from either custom-built display workstations, or simple typewriter-like terminals which were less expensive and more common at the time. By 1974, the NIC had spun off to a separate project on its own computer.

Firsts
All of the features of NLS were in support of Engelbart's goal of augmenting collective knowledge work and therefore focused on making the user more powerful, not simply on making the system easier to use. These features therefore supported a full-interaction paradigm with rich interaction possibilities for a trained user, rather than what Engelbart referred to as the WYSIAYG (What You See Is All You Get) paradigm that came later.


 * The computer mouse
 * 2-dimensional display editing
 * In-file object addressing, linking
 * Hypermedia
 * Outline processing
 * Flexible view control
 * Multiple windows
 * Cross-file editing
 * Integrated hypermedia email
 * Hypermedia publishing
 * Document version control
 * Shared-screen teleconferencing
 * Computer-aided meetings
 * Formatting directives
 * Context-sensitive help
 * Distributed client-server architecture
 * Uniform command syntax
 * Universal "user interface" front-end module
 * Multi-tool integration
 * Grammar-driven command language interpreter
 * Protocols for virtual terminals
 * Remote procedure call protocols
 * Compilable "Command Meta Language"

Engelbart said: "Many of those firsts came right out of the staff's innovations — even had to be explained to me before I could understand them. [The staff deserves] more recognition."

Decline and succession
The downfall of NLS, and subsequently, of ARC in general, was the program's difficult learning curve. NLS was not designed to be easy to learn; it employed the heavy use of program modes, relied on a strict hierarchical structure, did not have a point-and-click interface, and forced the user to have to learn cryptic mnemonic codes to do anything useful with the system. The chord keyset, which complemented the modal nature of NLS, forced the user to learn a 5-bit binary code if they did not want to use the keyboard. Finally, with the arrival of the ARPA Network at SRI in 1969, the time-sharing technology that seemed practical with a small number of users became impractical over a distributed network; time-sharing was rapidly being replaced with individual minicomputers (and later microcomputers) and workstations. Attempts to port NLS to other hardware, such as the PDP-10 and later on the DECSYSTEM-20, were successful. It was transported to other research institutes, such as USC/Information Sciences (ISI), which manufactured mice and keysets for NLS. NLS was also extended at ISI to use the newly emerging Xerox laser printers.

Frustrated by the direction of Engelbart's "bootstrapping" crusade, many top SRI researchers left, with many ending up at the Xerox Palo Alto Research Center, taking the mouse idea with them. SRI sold NLS to Tymshare in 1977 and renamed it Augment. Tymshare was, in turn, sold to McDonnell Douglas in 1984.

Some of the "full-interaction" paradigm lives on in different systems, including the Hyperwords add-on for Mozilla Firefox. The Hyperwords concept grew out of the Engelbart web-documentary Invisible Revolution. The aim of the project is to allow users to interact with all the words on the Web, not only the links. Hyperwords works through a simple hierarchical menu, but also gives users access to keyboard "phrases" in the spirit of NLS commands and features Views, which are inspired by the powerful NLS ViewSpecs. The Views allow the user to re-format web pages on the fly. Engelbart was on the Advisory Board of The Hyperwords Company from its inception in 2006 until his death in 2013.

From 2005 through 2008, a volunteer group from the Computer History Museum attempted to restore the system.

Visicalc
Dan Bricklin, the creator of the first spreadsheet program, Visicalc, saw Doug Engelbart demonstrate the oN-Line System, which was part of Bricklin's inspiration to create Visicalc.