# NLS (système d'exploitation)

NLS, ou « système oN-Line », est un système d'exploitation multi-utilisateurs développé dans les années 1960. Conçu par Douglas Engelbart et développé par les chercheurs de l'Augmentation Research Center (ARC) du Stanford Research Institute (SRI), le système NLS, présenté publiquement le 9 décembre 1968, a été le premier à utiliser la souris, les liens hypertextes, les écrans à balayage, le fonctionnement par fenêtre et d'autres concepts informatiques modernes. Il a été financé par l'ARPA (le prédécesseur de la Defense Advanced Research Projects Agency), la NASA et l'US Air Force.

## Histoire et développement
### Premiers développements

Douglas Engelbart développe la base du projet avec le soutien de l'US Air Force de 1959 à 1960 et publie un framework en 1962. Les premiers ordinateurs du projet n'étaient pas en mesure de prendre en charge plus d'un utilisateur à la fois, dont le premier un CDC 160A en 1963, avait très peu de capacité de programmation propre.
Afin de pallier de manière provisoire cet inconvénient, l'équipe développe un système dans lequel les utilisateurs hors ligne - c'est-à-dire toute personne n'étant pas assise devant le seul terminal disponible - pouvaient toujours modifier leurs documents en perforant une chaîne de commandes sur du ruban adhésif avec un Flexowriter. Une fois la bande terminée, l'utilisateur introduit dans l'ordinateur la bande de papier sur laquelle sont stockés le dernier brouillon du document suivi des nouvelles commandes à appliquer, puis l'ordinateur imprime une nouvelle bande de papier, contenant la version modifiée du document. Sans visualisation interactive, cela pouvait être complexe, car l'utilisateur devait simuler mentalement les effets cumulatifs de ses commandes sur le texte du document. Cela correspondait toutefois aux méthodes de travail classiques de bureau des années 1960, où les managers remettaient des impressions balisées aux secrétaires.
Le système a continué à prendre en charge ce fonctionnement « hors ligne » (Off Line en anglais), ainsi qu'un fonctionnement « en ligne » (On Line en anglais) pour éditer les mêmes documents. Pour éviter que deux acronymes commencent par la même lettre, le système de texte hors ligne était abrégé FLTS, tandis que le système de texte en ligne était abrégé NLTS. Au fur et à mesure de l'évolution du projet, le « T » a été abandonné et la version interactive est devenue NLS, donnant son nom au projet.
Robert Taylor, qui avait une formation en psychologie, apporte le soutien financier de la NASA. Lorsque Taylor rejoint le Bureau des techniques de traitement de l'information de l'Agence des projets de recherche avancée du département américain de la Défense, il obtient une augmentation du financement du projet. En 1965, le développement de NLS passe sur un CDC 3100. Jeff Rulifson rejoint SRI en 1966 et devient le développeur principal du NLS jusqu'à ce qu'il parte en 1973.
Le développement de NLS est porté sur un ordinateur SDS 940 de Scientific Data Systems, exécutant le système Berkeley Timesharing en 1968. Sa capacité de stockage était alors d'environ 96 MB. Il pouvait prendre en charge jusqu'à 16 stations de travail, composées d'un écran à balayage, d'une souris à trois boutons et d'un appareil alors connu sous le nom de clavier accord. Le texte tapé était alors envoyé depuis le clavier vers un sous-système spécifique qui relaye les informations le long d'un bus vers l'un des deux contrôleurs d'affichage et générateurs d'affichage. Le texte d'entrée est ensuite envoyé à un tube cathodique de 5 pouces (127 mm), entouré d'un couvercle spécial, générant une image vidéo superposée reçue par une caméra de télévision noir et blanc de qualité professionnelle. Les informations de la caméra sont ensuite envoyées au panneau de commande et de brassage de la caméra en circuit fermé et, enfin, affichées sur le moniteur vidéo de chaque poste de travail.

### Présentation de NLS

Engelbart présente NLS le 9 décembre 1968 devant un large public lors de la Fall Joint Computer Conference à San Francisco. Cette conférence est depuis surnommée « la mère de toutes les démos », car il a non seulement démontré les fonctionnalités révolutionnaires de NLS, mais il a également impliqué l'assemblage de remarquables technologies vidéo de pointe. Le clavier et la souris du terminal sur scène d'Engelbart étaient reliés, par un modem maison de 2400 bauds via une ligne dédiée, à l'ordinateur SDS 940 d'ARC à Menlo Park, à 48 kilomètres au sud-est de San Francisco, et deux liaisons micro-ondes transportaient la vidéo depuis Menlo Park à un imposant projecteur vidéo Eidophor prêté par le NASA Ames Research Center. Sur un écran de 22 pieds de haut (6,7 m), le public pouvait suivre les actions d'Engelbart sur son écran, observer comment il utilisait la souris et regarder les membres de son équipe à Menlo Park se joindre à la présentation.

### Développement post-présentation

L'une des fonctionnalités les plus révolutionnaires de NLS, le Journal, a été développée en 1970 par l'ingénieur en informatique australien David A. Evans dans le cadre de sa thèse de doctorat. Le Journal était un programme de travail collaboratif, qui peut être considéré comme un prédécesseur (sinon l'ancêtre direct) de tous les logiciels serveurs contemporains qui prennent en charge la création et édition collaborative de documents (comme les wikis). Il a été utilisé par les membres de l'ARC pour discuter, débattre et affiner des concepts de la même manière que les wikis sont utilisés aujourd'hui. Le Journal a été utilisé pour stocker des documents pour le Centre d'information du réseau et les premières archives du réseau de courrier électronique. La plupart des documents utilisés sur le Journal ont été conservés sous forme papier et sont aujourd'hui stockés dans les archives de l'Université de Stanford ; ils constituent un témoignage important de l'évolution de la communauté ARC de 1970 jusqu'au début de la commercialisation en 1976. Un ensemble supplémentaire de documents du Journal existe au Computer History Museum, ainsi qu'une grande collection de bandes de sauvegarde ARC datant du début des années 1970, et certaines des bandes des années 1960 du SDS 940.
Le NLS a été implémenté en utilisant plusieurs langages spécifiques au domaine de l'application développée, réalisés avec le compilateur-compilateur Tree Meta. Le langage d'implémentation des applications tournant sur le NLS s'appelait L-10, un langage basé sur le langage ALGOL.
En 1970, NLS a été porté sur l'ordinateur PDP-10 (modifié par l'entreprise BBN pour exécuter le système d'exploitation TENEX). Vers mi-1971, l'implémentation TENEX de NLS a été mise en service en tant que nouveau Network Information Center (NIC), mais même sur cet ordinateur le système ne pouvait gérer qu'un petit nombre d'utilisateurs simultanés. L'accès était possible à partir de postes de travail d'affichage sur mesure ou de simples terminaux de type machine à écrire, moins chers et plus courants à l'époque. En 1974, le NIC était devenu un projet distinct sur son propre ordinateur.

## Déclin et remplacement

L'inconvénient du NLS, puis de l'ARC en général, a été la difficile courbe d'apprentissage du programme. NLS n'a pas été conçu pour être facile à apprendre ; il employait l'utilisation intensive de modes de programmation, reposait sur une structure hiérarchique stricte, n'avait pas d'interface pointer-cliquer et obligeait l'utilisateur à apprendre des codes mnémoniques cryptiques pour faire quoi que ce soit d'utile avec le système. Le jeu de touches d'accord, qui complète la nature modale de NLS, oblige l'utilisateur à apprendre un code binaire à 5 bits s'il ne souhaite pas utiliser le clavier. Enfin, avec l'arrivée du réseau ARPA au SRI en 1969, la technologie de partage de temps qui semblait pratique avec un petit nombre d'utilisateurs est devenue peu pratique sur un réseau distribué ; le partage du temps fût rapidement remplacé par des mini-ordinateurs individuels (et plus tard des micro-ordinateurs) et des postes de travail. Plusieurs portages de NLS vers d'autres matériels, tels que le PDP-10 et plus tard le DECSYSTEM-20, ont été effectués mais n'ont pas permis de diffuser le NLS au-delà du SRI.
Frustré par la direction d'Engelbart, de nombreux chercheurs SRI de haut niveau sont partis, beaucoup se retrouvant au Centre de recherche Xerox Palo Alto, emportant l'idée de la souris avec eux. SRI a vendu NLS à Tymshare en 1977 et l'a renommé Augment. Tymeshare a été, à son tour, vendu à McDonnell Douglas en 1984.