Die mit NLS erstellten Hypertext-Dokumente bestehen aus Absätzen, sog. "statements". Die Absätze beginnen jeweils mit einer Kombination aus Zahlen und Buchstaben, die die Anordnung des Absatzes innerhalb der Baum-Struktur des Textes bezeichnet. [EngEng68, S.5]. Von jeder Stelle eines Absatzes kann auf andere Absätze verzweigt werden. Solche Verzweigungen können unter Bezug auf die Absatznummer oder auf einen Absatznamen eingerichtet werden. Weil Verweise auf Absatznummern bei Veränderungen der Absatznummern, z.B. durch das Einfügen neuer Absätze, nicht nachgeführt werden, sind Verweise auf Basis von Absatznamen vorzuziehen. [EngEng68, S.5f]. Das Auslösen einer Verzweigung führt zur Anzeige des referenzierten Absatzes [EngEng68, S.5+7]. Damit bietet NLS als erstes System einen "point and click editor based on the mouse" [CarRobYor96, S.183].
NLS bietet unterschiedliche Möglichkeiten zur Einstellung der Anzeige: U.a. können die angezeigten Ebenen des Text-Baumes eingeschränkt werden. Teilbereiche des Bildschirms können "eingefroren" und der Bildschirm so für die gleichzeitige Darstellung unterschiedlicher Inhalte aufgeteilt werden. [EngEng68, S.7f]
NLS bietet auch Unterstützung für sog. "on-line conferencing": Dabei sitzen alle 20 Konferenzteilnehmer im selben Zimmer vor 6 Bildschirmen, die in der Mitte eines Konferenztisches stehen. Alle Bildschirme zeigen das gleiche an. Ein Konferenzteilnehmer kontrolliert den dargestellten Bildschirminhalt. Die anderen haben Mäuse, mit denen sie einen Zeiger auf dem Bildschirm bewegen, aber sonst keine Systemfunktionen auslösen können. [EngEng68, S.10f]. Es ist aber auch möglich, die Aufnahmen einer Video-Kamera und die Computer-Ausgabe auf demselben Bildschirm zu überlagern. So können Anwendern gleichzeitig das Gesicht ihres Diskussionspartners und die zur Diskussion stehenden Daten auf dem Bildschirm dargestellt werden. [EngEng68, S.19f]. Damit bietet NLS grundsätzlich auch die Möglichkeit zum "teleconferening".
Zum NLS gehören unterschiedliche "Programmiersprachen": Die erlaubten Befehle des Anwenders bilden die "user's control language". Das System, das die von dort aufrufbaren "service functions" implementiert, wird in einer "Control Metalanguage (CML)" implementiert. Diese CML wird von einem "Control Metalanguage Translator (CMLT)" in ausführbaren Code übersetzt. Dieser CMLT wiederum wird von einem "Tree Meta Tanslator" aus einer Beschreibung in einer "Tree Meta Language" erzeugt. [EngEng68, S.11-15]. Außerdem wird eine "Machine-Oriented Language (MOL)" zur Systemprogrammierung eingesetzt, für die es natürlich auch einen "MOL Translator" gibt [EngEng68, S.16]. Laut [Kay96] läßt sich das Verhalten von NLS durch dieses Konzept mittels einer "grammar of interaction" aus kontextfreien Regeln einstellen [Kay96, S.519].