※この記事は『インターネットマガジン2005年3月号』(2005年1月29日発売)に掲載されたものです。文中に出てくる社名、サービス名、その他の情報は当時のものです。

すべてはここから始まった

いまから37 年前の1968 年、サンフランシスコで開催されたFall Joint ComputerConference(FJCC)で行われたDr.Douglas Engelbart(ダグラス・エンゲルバート)のデモ(写真1)は、コンピュータ関係者に衝撃を与えた。


写真1 ヘッドセットを付けたEngelbart の映像とNLS の出力が合成され、デモは進行した。

いまでも、「The Demo」とも呼ばれるDr. Engelbart のデモは、マウスを使い、アウトライン構造のデータを扱い、他のファイルへのリンクを実現したハイパーテキストやウィンドウによる複数データの表示、カメラで撮影した映像とコンピュータ出力画面とのスーパーインポーズ、コンピュータ画面を共有した会議機能(写真2)や電子メールなどを実現したものだった。1962 年から開発が続けられていたNLS と呼ばれるシステムが初めて公開されたのが、このデモだったのである。


写真2 NLS では、画面を共有することが可能であり、複数のユーザーが同じ画面を見ながら、会議を行うことができた。また、のちに端末装置でのNLS(DNLS と呼ばれた)の利用も可能になり、遠隔地との会議も実現した。

1968 年とは、アポロ8 号が有人宇宙船として初めて月の周回軌道に入り(月着陸は翌1969 年のアポロ11 号)、インテル社が設立された年。コンピュータと言えば、大型計算機(メインフレーム)が主流だった時代だ。多くのコンピューは、端末装置を使ったタイムシェアリングか、カードなどによるバッチ処理が主流だった。計算機でやることと言えば計算処理が主体で、コンピュータを「ツール」や「メディア」として使うことは一般的には行われていなかった。Unix さえ、最初のバージョンが実装されたのは、翌1969 年である。

現在のインターネットの前身にあたるARPANET の最初の4 つのノードが稼働したのも翌1969 年で、1968 年にはまだ、インターネットの片鱗さえなかったのである。

ハードウェア的には、CPU の論理回路を複数のIC で構成するところまできていたが、半導体メモリーが採用されるのは、1970 年のSuper NOVA SC からで、磁気コアメモリーが主流だった。1968 年創業のインテルの当初の目的は、市場が立ち上がっていないコンピュータ用の半導体メモリーを製造することであり、マイクロプロセッサーもまだ生まれていなかったのである。

つまり、このデモは、現在のコンピュータの基礎となるハードウェアやソフトウェアなどがまったく出来上がっていない時期に行われたのである。

NLS とは?

このときEngelbart が作り上げたのは、NLS(oN-Line System)と呼ばれるものだった。これは、当初Scientific DataSystems 社(のちにXerox が買収)のSDS940 上に作られており、マウスやキーボード、ディスプレイなどを接続するためのハードウェアが製作された(図1)。


図1 NLS は、ベクターディスプレイの出力をTV カメラで撮影することで、小型のラスターディスプレイの利用を可能にした。マウスやキーボードは直接コンピュータ側に接続されており、ワークステーション自体は独立したハードウェアにはなっていない。(Engelbart,A Research Center for AugmentingHuman Intellect (1968) より)

コンピュータのメモリーからの表示出力は、一旦、ベクターディスプレイに出力され、これをテレビカメラで撮影して映像信号にしたうえで、各ワークステーションに配信された。これは、当時のベクターディスプレイが大きく取り扱いが大変だったためである。しかし、こうした構成を採ったことで、ワークステーション側(写真3)は、通常のラスタースキャンCRT が利用でき、さらにアナログの映像信号をオーバーラップさせて表示することが可能になった。


写真3 NLS のワークステーション。モニターには、テレビと同じラスターディスプレイが利用された。

1968 年のデモで、操作するEngelbartとコンピュータの画面、あるいはSRI にいた研究者の顔を表示できたのは、こう

した機構を持っていたからだ(写真4)。


写真4 SRI のラボとデモ会場で同じ画面を共有してNLS の検索機能のデモを行っているところ。

原理は違うが、これは、現在のパソコンがテレビやカメラからの動画像を扱うことと同じである。この時点で、すでに「マルチメディア」への対応が行われていたわけだ。

各ワークステーションには、フルキーボードとマウス、そして5 本指キーボードがある。フルキーボードは、文章などを入力するためのものだが、5 本指キーボードとマウスを使うことで通常の文字入力も可能だったという。マウスには3つのボタンがあり、これと5 本指キーボードで合わせて8 つのボタンがあったからだ。

5 本指キーボードは、簡単に言えば、文字を2 進コードで入力するものだ。マウスと同時に利用できるために、高速な操作が可能だったという。

NLS が扱うファイルは、アウトライン構造を持っていた。これは、Engelbart が、本のように固定した構造の情報ではなく、さまざまな見方ができる情報を「伝達」するためのものとしてNLS を作ったからである。ある意味、すでにコンピュータをメディアとして使うことが考えられていたわけだ。

このアウトライン構造に対して、特定のレベルまでの表示や下位レベルの表示、パラグラフの先頭部分だけを表示するといったさまざまな表示方法をユーザーがコマンドで指定することができた。これは、本で言えば、章や節の見出しだけを表示させたり、本文を表示させたりするといったことに相当する。このような特徴により、構造を持った情報を表現できるようになっていたのである。また、画面を区切ることで複数のファイルを同時に表示するウィンドウ機能も装備されていた。

マウスは、作業中に対象となるパラグラフや文章の一部、文字などを指定するために使われた。ただし、NLS では、マウスは対象を指定するだけで、ボタンやアイコンのクリックといったことで機能を実行するためには使われていなかった。


写真5 マウスの原型。

各パラグラフには、レベルと順番に応じて数字とアルファベットを組み合わせた「アドレス」が付けられ、外部からアクセスできるようになっていた。ファイル名とこのアドレスを指定することで、ファイルから、他のファイルにある

特定のパラグラフへの移動が可能になっていたのである。これがNLS のハイパーテキスト機能である。もっとも、ハイパーテキストという用語は、1965 年にTed Nelson が提唱したもので、Engelbartのほうが実装は早かったものの、その概念に名前を付けてはいなかった。

もう1 つの特徴として、NLS は、文法を持つコマンドランゲージインタープリター「Control Processor」で動作するが、これは、「Control Meta Language」(CML)で記述されている。

さらに、CML をコンパイルするCMLTranslator は、Tree Meta Language で記述されているため、CML 自体を変更することも可能になっていた。

プログラミングの機能は、NLS が当初、ソフトウェアエンジニアの作業を支援することを想定したこともあったが、システム自体を進化させるために必要な機能でもあった。

また、NLS には、Journal と呼ばれる文書の配布システムが考案された。これは、ユーザーやグループがNLS の文書を管理、配布するための仕組みだが、利用者やグループにメールアドレスのような識別子を持たせ、文書のオーナーを記録するとともに、文書の配布先として利用した。

実際に、これは電子メールと同じように利用できた。考案されたのは1966 年だが、途中で開発中止などがあり、稼働し始めたのは1970 年頃である。

Douglas Engelbart

Douglas Engelbart は、1925 年生まれ。電気エンジニアとしてそのキャリアを開始した。第二次対戦中、レーダー技術者として訓練を受け、戦後、カルフォルニア大学のバークレー校の大学院でコンピュータプロジェクトCALDIC に関わる。

1957 年にSRI に研究者として入ったが、すでにこのとき、コンピュータを人間の能力を増大させるものとして利用することを考えていた。

Engelbart が1962 年に発表した論文が注目され、1963 年ARPA から資金提供を受けるようになると、NLS のプロジェクトが動きはじめる。

1964 年からはNASA からも資金援助を得る。このときの担当者Robart Tylerは、その後ARPA に移り、さらに支援が続く。

このRobart Tyler は、のちにXerox社に移り、Parc の立ち上げを行うことになる。Engelbart とParc の関係は、すでにParc 設立以前からあったのだ。のちにTyler は、Engelbart の研究室から16人の研究者をParc に移籍させた。

大きな影響

FJCC に参加していた1000 人ほどの聴衆は、ほとんどがコンピュータ関連の研究者。彼らにこのデモは大きな影響を与えた。

すでに小型のコンピュータを使い、コンピュータを個人で占有して、さまざまな用途に使う「Personal Computing」といた考えはあったが、コンピュータをメディアやツールとして使うことは、研究者の間でも一般的ではなかったのである。

現在のコンピュータの方向性を決めた研究者の1 人、Alan C. Kay は、当時ユタ大学の大学院にいた。その彼が1969年に提出した「Flex マシン」という論文には、はやくもマウスが付けられている。

このマウスも、1968 年のデモで初めて世間に公開されたものだ。

現在のコンピュータで使われている技術の多くは、そのルーツをXerox 社の研究所であるParc に持つ。しかし、そのParc の設立は1970 年である。ここにDouglas Engelbart のデモの影響を大きく受けた人々が集まった。

さらに、このParc には、Engelbart のSRI/ARC からWillam K. Englishら16人の技術者が移籍した。NLS の商用版とも言えるPOLOS( Parc On-LineOffice System)の開発を行ったが、結局、システムとしてはALTO に道を譲り、NLS のエッセンスをParc に導入しただけになってしまった。しかし、ALTO もNLS の影響を受けている。マウスがその証左であるが、初期のALTO には、5 本指キーボードも装備されていた。

もちろん、ALTO に実装されたウィンドウなどもNLS に実装されていたものであり、コンピュータをメディアとして使うという考えもNLS と同じである。もっとも、Engelbart は、「メディア」という言い方はしていなかった。コンピュータがメディアであるとの認識は、おそらく1977 年にKay とGoldverg の論文として公開された「Personal Dynamic Media」あたりからである。

このParc にいた人材は、マイクロソフト社やアップル社に移籍したり、自ら企業を興すなどして、Parc の作った方向性(パラダイム)を広く広めることになる(図2)。


図2 E n g e l b a r t のデモに刺激を受けた人々やEngelbart の研究室であるSRI/ARC(AugmentationResearch Center)から人材がParc へ移動、さらにParc からさまざまな企業へ人が移っていくことでその考えが広まっていった。

ある意味で、現在のコンピュータの直接の祖先はParc で生まれたが、1960 年代にすでにEngelbart により多くのものが提示されていたのである。