NLS(oN-Line System)とは
NLS(oN-Line System)は、
1960年代に
ダグラス・エンゲルバート率いる研究チームがスタンフォード研究所(SRI)内の
オーグメンテイション研究センター(ARC)で開発した、革新的な
マルチユーザー連携
システムです。この
システムは、世界で初めて
ハイパーテキストリンク、マウス、
ラスタースキャン型ディスプレイ、関連性によって組織された情報、グラフィカルユーザーインターフェース(GUI)、
プレゼンテーションソフトウェアなど、今日のコンピュータ技術の基盤となる様々なコンセプトを実用化しました。開発には、ARPA、NASA、
アメリカ空軍が資金を提供しました。
開発の背景
ダグラス・エンゲルバートは、1959年から1960年にかけて空軍の支援のもとで研究を進め、1962年にNLSのフレームワークを発表しました。NLSという名称は、
システム開発の過程で生まれたもので、本来はOLS(oN-Line System)となるはずでした。初期の
システムは単一ユーザーしかサポートできませんでしたが、1963年にCDC 160Aが導入され、その貧弱な能力を補うために、オフラインユーザー向けの
システムが開発されました。これは、オンライン
ワークステーションが使えない時に、
紙テープにコマンドをパンチすることで文書編集を可能にするものでした。ここで言う「オンライン」「オフライン」は、現代のインターネット接続の有無とは異なり、計算機へのデータ入力がリアルタイムであるか、事前に別の媒体に記録してから入力するかを意味していました。
オフライン作業は視覚的な
フィードバックがなく、ユーザーは頭の中でコマンドの結果を想像する必要がありました。これは、UNIXのテキストエディタ「ed」に似ているとも言えます。しかし、
1960年代のオフィス環境では、管理職が原稿に赤字を入れ、秘書に渡すという作業が一般的であり、オフライン
システムはその慣習に適合していました。ユーザーは編集対象の文書テープとコマンドテープをコンピュータにセットし、最新版の文書テープを得るという流れでした。オフライン
システムはFLTS(Off-Line Text System)、オンライン
システムはNLTS(On-Line Text System)と呼ばれ、テキスト編集以外の機能が追加されると、オンライン
システムはNLSと名称が変更されました。
心理学の素養を持つロバート・テイラーは、NASAからの資金提供を得てプロジェクトに参加。後にテイラーがARPAのIPTOに移ると、さらに積極的に資金提供が進められました。1965年、NLSの開発はCDC 3100に移行し、1966年には
ジェフ・ルリフソンがSRIに参加し、1973年までNLSの主任プログラマーを務めました。
NLSの進化
1968年、NLSの開発はScientific Data Systems社のタイムシェアリング型
メインフレームSDS 940へと移行しました。この
システムは、約96MBのディスク装置を備え、最大16台の
ワークステーションを接続可能でした。各
ワークステーションには、
ラスタースキャン型ディスプレイ、3ボタン式マウス、Chord Keysetという
入力機器が備えられていました。入力されたテキストは、ディスプレイコントローラとディスプレイジェネレータを経由してCRTに表示され、さらにTVカメラで撮影された映像が
ワークステーションのモニターに表示される仕組みでした。
1968年12月9日、
サンフランシスコで技術者向けにNLSのデモンストレーションが行われました。このデモは「すべてのデモの母(The Mother of All Demos)」と呼ばれ、最先端のビデオ技術を用いてNLSの革新性を実証しました。エンゲルバートはヘッドセットで説明を行い、手元の動きを大型スクリーンに映し出すことで、観客にマウスの使い方などをわかりやすく示しました。また、メンローパークにいたチームメンバーもデモに参加しました。
NLSの最も革新的な機能の一つであるJournalは、1970年にデビッド・エヴァンスが博士論文の一部として開発したものです。Journalは、初期の
ハイパーテキストベースのグループウェアで、後の共同型文書作成サポートソフトウェア(例えば、
ウィキ)の先駆けとなりました。ARCでは、議論やコンセプトの洗練に使用され、今日の
ウィキのような使われ方をしました。また、Journalは初期のネットワークインフォメーションセンターでの文書保管や
電子メールアーカイブにも使用されました。
NLSは、TREE-METAという
パーサジェネレータを用いていくつかの
ドメイン固有言語で実装されました。最終的に使用された実装言語はL10と呼ばれています。
1970年、NLSは
PDP-10(BBNがTENEXが動作するように改造したバージョン)に移植され、1971年中ごろにはTENEX版NLSがネットワークインフォメーションセンター(NIC)で実際に使用されるようになりました。専用
ワークステーションだけでなく、当時一般的だったタイプライター型の端末からもアクセス可能でした。1974年までにNICは独立し、自前のコンピュータを使用するようになりました。
NLSが目指したもの
NLSのすべての機能は、エンゲルバートの「集団による知的作業の強化」という目標に基づいていました。単に
システムを使いやすくするのではなく、ユーザーの知的作業を強化することに焦点を当てていました。そのため、NLSはWYSIWYG(What You See Is What You Get)というよりも、熟練したユーザーが駆使できる完全対話型パラダイムをサポートするものでした。
NLSの衰退と後継
NLSとその開発拠点であるARCの衰退の原因は、プログラムの習得の困難さにありました。NLSは学習しやすさを重視しておらず、プログラムモードを多用し、厳格な階層構造に依存していました。また、ポイント・アンド・クリックのような簡単なインターフェースがなく、利用するためには暗号のようなコードを覚える必要がありました。Chord Typesetを使用する場合は、5ビットの2進数コードを記憶する必要がありました。さらに、
1969年にSRIに
ARPANETが接続され、分散
コンピュータネットワークの時代となり、少人数向けのタイムシェアリング
システムは時代遅れとなりました。NLSを他のハードウェアに移植する試みも行われましたが、SRI以外に普及することはありませんでした。
エンゲルバートの「ブートストラッピング」活動に不満を抱いたSRIの研究者たちは、
パロアルト研究所に移り、マウスの概念をもたらしました。1977年、SRIはNLSをTymshare社に売却し、NLSはAugmentと改名されました。その後、Tymshare社は
1980年代初頭に
マクドネル・ダグラス社に売却しました。NDMA Inc.が販売したHyPerformというソフトウェアは、NLS/Augmentの後継製品です。
「完全対話型」というパラダイムは、他の
システムに引き継がれました。例えば、
Mozilla FirefoxのアドオンであるHyperwordsは、エンゲルバートのドキュメンタリー「Invisible Revolution」に触発されて開発されました。Hyperwordsは、ウェブ上のリンクのない単語とも相互作用できることを目指しており、単純な階層型メニューを通じて機能します。
2005年から2008年にかけて、コンピュータ歴史博物館のボランティアチームがNLSの復元を試みました。
関連文献
Thierry Bardini (2000). Bootstrapping: Douglas Engelbart, Coevolution, and the Origins of Personal Computing. Stanford: Stanford University Press.
関連項目
ENQUIRE
外部リンク
Doug Engelbart Institute website
1968 Demo resources page
About NLS/Augment
Bibliography
Videography
Engelbart Archives Special Collections
1968年のオリジナルデモの RealVideo クリップ
1968年のデモの高解像度版ビデオ
HyperScope, ブラウザベースでの NLS 再生・拡張プロジェクト
OpenAugment, もう1つの NLS/Augment の実装
*
NLS documents at bitsavers.org