まめ知識

マウスの歴史 編

ポインティングデバイスってマウスだけではないのですが、 事実上ポインティングデバイスの代名詞になるくらい(トラックボールマウス とか・・) デファクトスタンダードになってます。

なんでかしら〜。と手繰っていくとそれはまんまコンピュータ史になってしまうのです。


マウスの登場

マウスを作った人はダグラス・エンゲルバート(Douglas Carl Engelbart)さんです。 これは非常に有名な話ですがではどのようなマシンにつけられたのでしょう。 また、なぜ「マウス」だったのでしょう。

エンゲルバートがマウスを発表した1960年台は コンピュータのユーザインタフェイスが変わりつつある時代でした。 それ以前のコンピュータは入力は パンチカード、出力は紙テープというのが 一般的だったそうです。 なぜならその当時のコンピュータはその名の通り「計算の道具」だったから コンピュータと人との間が対話的である必要が無かったのです。

1957年頃のエンゲルバートはスタンフォード研究所で 人間とコンピュータの対話的システムをテーマに研究を重ねていたそうです。 彼が目指していたのは「コンピュータによる思考増幅装置」。 大量の情報をストアし、情報と情報の関連性を自分のかわりに 覚えておいてくれる装置です。(この発想はエンゲルバートオリジナルではなくMEMEXという 仮想機械のアイデアが素だそうです。)

1962年、高等研究計画局(ARPA)から 100万ドルの援助金が降りたのを切っ掛けに エンゲルバートは、オーグメンテーション・リサーチセンター(ARC)を設立し、 ついに「コンピュータによる指向増幅装置」の開発に乗り出します。 これは NLS(oN Line System)と呼ばれる歴史を変えたマシンとして実を結びます。

NLSは対話型インターフェイスの開発そのものでもあります。 彼はコンピュータの出力にCRTを使おうと考えました。 そして入力はキーボードをもちいることを考えました。 こうして出来たNLSこそが現在のコンピュータ像そのものです。

NLSはただ文字を入力して表示するだけの機械ではありません。 CRTをディスプレイに使用することを決めたときから、ポインティングデバイスの 必要性に駆られます。文字を自由に操作するために、位置を指示する装置が必要なのです。

ただし、このポインティングデバイスの開発は、 「マウス」という成功例にたどり着いた――言うわけではなく、 マウスはしかたなしのオチどころだったようです。 というのもエンゲルバートが目指していたポインティングデバイスは キーボードから手を離さないのが理想です。

足で操作する装置、膝で操作する装置が試作されたそうですが どれもしっくりいかず、キーボードから手を離してしまうという妥協をもって マウスというところに落ち着きました。 (その代わり片手で操作できる和音キーボードが作られました)

要は、当時の技術ではトラックポイントみたいなのの作成に挫折したので、 簡単に使いやすいポインティング機構がつくれるマウスになった、というわけです。 しくしく。

初めてのマウス、初めての「コンピュータ」

誤解される向きも大きいのですが、エンゲルバートの作ったシステムNLSは 今で言う「GUI」ではありません。

エンゲルバートのマウスの操作は次のような感じだったといいます。

たとえば段落を移動するのであれば、和音キーボードから移動(Move)を意味する「M」を打ち込み、次にマウスで段落の先頭を指示します。ついで、異動先をマウスで指示すると、瞬時に文章が作り替えられる、という具合です。

Old Good COMPUTER (魔法使いの森 コンテンツ)より

ああ、なんか懐かしい感じがする方もいると思います。 昔のCUIの世界に存在していたマウス操作そのものです。(文字位置を指定するけれども アイコンをクリックして・・・というようなGUIは、 ゼロックス パロアルト研究所の Altoの登場を待たなければなりません。)

NLSは情報処理装置としてのコンピュータの初めて示すと同時に いきなりCRTとキーボード・マウスというインターフェイス、 高度なワープロソフト、ネットワーク上のコンピュータの操作(!)、電子メール(!!)といった 現在のコンピュータ像をいきなり完成させてしまいました。

さて、 こうして最初の(情報処理装置としての)コンピュータ「NLS」は 1968年に行われた伝説となったプレゼンテーションで、 世の中を変えます。 このプレゼンテーションにはNLSそのものが使われたそうですが、 1968年にコレを見せられて衝撃を覚えない人などいないでしょう。

こうしてたまたまの落としどころであった「マウス」は 一躍コンピュータの標準入力機器になってしまうのです。

(まさにラッキーデバイスだわっ!)

伝説のデモを見てみましょう

というわけで、これです。

Doug Engelbert 1968 Demo

こりは世の中かわるわよ・・。

GUIの誕生とマウス

その伝説のプレゼンの場に居合わせた人物が居ます。 後にゼロックス パロアルト研究所で 伝説となったマシン 「Alto」 とそのOS 「Smalltalk」を作った アラン・ケイ(Alan kay)です。

ケイはFLEXというコンピュータに携わっていました。 FLEXは誰にでも簡単に扱える操作性を持ったコンピュータを目的に開発されたシステムで、 ペンタブレットとグラフィカルディスプレイ、 そしてオブジェクト指向言語のプロトタイプといえるSIMLAによる 開発環境をそなえていました。 ケイはFLEXに一つの造語を与えました。それが「パーソナルコンピュータ」です。

FLEX自身はとてもパーソナルといえる規模のものではなかったのですが、 電子部品の小型化が真にパーソナルなコンピュータを可能にしたときの コンピュータ像である、と考えたのです。

ダイナブック

結論から言えばFLEXは失敗でした。誰にでも使えるシステムを目指していたのに その実体は複雑でとても容易に扱えるとは言えないモノになってしまったからです。 ではなぜ、失敗したのだろう・・。

その答えを求めて訪れた先は シーモア・パパートのLOGOシステムです。

数学者でかつ、子供とコンピューターの関係を研究している発達心理学者の彼の作った コンピュータシステム LOGOは、 簡単に言えば ペンのついた車輪付きのロボットを紙の上で走らせて絵を描かせる為の プログラミング環境です。 つまり悪く言えば「子供のおもちゃ」なのですが、しかしLOGOの 「図形を操作する」能力は大人の使用にも耐えられる高度なモノでした。

ケイは子供にも使えるコンピュータこそ 真に誰にでも使え、かつ高度に実用的なシステムになると確信しました。 彼は直ぐにそれをダイナブック――何処にでも持ち運べるほど小さく、 グラフィカルな見やすいディスプレイを持ち、 スクラッチパッドとキーボードという使いやすい入力機器のあり、 誰にでも直感的に操作できるコンピュータ 、という構想にまとめ上げました。

さて・・、ここはマウス史のページのハズなのに 話がだんだんマウスから外れてきました。そう、ダイナブックにマウスはないのです。

Smalltalk

しかし、さすがに1970年の技術ではダイナブックというハードウェアを作ることは出来ません。 だからケイは LOGOのように使いやすいコンピュータ言語・・というかインターフェイスを まず作ろうと考えます。

LOGOはペンの付いたロボット(または、ディスプレイ上に書かれた「仮想の」ロボット)に 命令を送る、というプログラミング言語ですが、それでは 出来ることは限られてしまいます。

ならば命令をする先をそのロボットに限定しなければいいじゃないか、 そうだ、命令する先を「オブジェクト」と呼ぼう、 命令するのも人間じゃなくて他のオブジェクトで避ければ、 オブジェクト間の相互メッセージのやりとりでプログラムができてしまうじゃないか! これはわかりやすい!!と 誕生したのがオブジェクト指向です。

そしてオブジェクト指向の世界ではLOGOのロボットが仮想の(=画面上の絵の)ロボットでもかまわなかったように 仮想のボタンとか、パネルとか、ノートだとか、 そういうモノでもかまわない事になります。 そう、GUIが誕生したのです。

このOSでもあり、UIでもあり、プログラミング言語でもあるシステムを Smalltalkと言います。世界で最初のオブジェクト指向言語です。

Alto ―暫定ダイナブック

すみません、なんだかマウスとあんまり関係ない無いようになってしまいましたが、 マウスをひとあ切って切れない GUI なんです。 もうしばらく辛抱ください。

さて、そんな素敵なSmalltalkです。 とっととダイナブックで動かしてみたい気持ちはやまやまなのですが、 ダイナブックのハードウェアが作れるテクノロジは 1990年代後半にならないとありません。(というか一番近いのはタブレットPCだから90年代もアウトっぽいかも)

そんなわけで、暫定のダイナブックとして ゼロックス パロアルト研究上にいたケイはそこで開発中だった Alto を暫定ダイナブックとして Smalltalkの実装を行いました。

ところが(マウス史からしてみれば重要なことに!)Altoのインプットデバイスは エンゲルバートのNLSを踏襲したもの――キーボードにマウスに和音キーボード と言う構成になっていました。

完成したAltoはまさに 現在のOSそのものでした。 Smalltalkのユーザインターフェイスは既にウインドウ、コンテキストメニューなど 主要な要素を持っていました。 GUIの誕生のその場にもマウスは居合わせることができたのです。

つくづくラッキーデバイスだわっ!

そしてこのAltoを見学しに来た人に スティーブ・ジョブズ が居たの言うのは有名なお話。 ここから マウス史の主役は Appleに移ります。

じゃあ Alto も見てみよう

ならば Alto も見てみたいというのが人情です。

Smalltalk-80の発掘映像

そしてAltoのマウスはこんなのです。

Mouse from Zerox Alto (with keyset)(DigiBarnDevices)

初期のはエンゲルバートのとおなじ円盤式ですが、 途中からボール式になっています。

ボタンを減らそう!

エンゲルバートのマウスもAltoのマウスも3ボタンです。 マウスはその登場の時からずっと3ボタンなのですが、 WindowsやMac OSの想定する標準的なマウスは 2ボタン または 1ボタンです。

うーん、これはどういうこと?

Macintosh

資料が潤沢にあるので、余り詳しくは述べませんが、 ゼロックス パロアルト研究所で Alto を見た ジョブズは、 この衝撃を元に Lisa と Macintosh を作った・・・と言うのが コンピュータ業界における伝説のなかでもっとも有名な伝説ですが、 その実のところは、 Macintoshの父である ジェフ・ラトキンが強くジョブズに見ることを進めた みたいで、先見の明という意味ではラトキンさんのほうが凄かった、、ということになるのかしら。

と、この伝説発掘は猫の素人考察なのでボロが出ないうちにさらっと流しますが、 GUIの着想を Smalltalk から得たのは事実なのですが、 3ボタンマウスを使い、ポップアップメニュー(コンテキストメニュー、右クリックで開くやつ みたいなの)まであった Smalltalkから なぜ Mac OS はコンテキストメニューがない、、というか マウスにボタンが一個しかないかというと、 マウスのボタンを一つにするのがジョブズの至上命令だったからだそうです。

一般人はそんなに凄くない・・と思う

Smalltalk・・というかダイナブックの構想ではプログラミングは コンピュータを使うみんなが行うことでした。 つまりユーザと開発者という分け方はしないで普通に普通の人がプログラムをするのです。 (だからこそのSmalltalk言語で、オブジェクト指向なのです。)

でも、Macintoshでは、まず開発者とユーザを別のものとして定義することから始まりました。 Macのユーザはプログラムを作らない人たちなんです。 そういう「より限定的に、より優しく」をイメージとして抱いたMacですから、 「三つもボタンがあったら難しいじゃないか!」 という結論になるのは自然に思えます。

Smalltalkではデスクトップに固定的に出っぱなしのタスクバーやメニューバーのようなものはありません。 というかもともと何処かを右クリック(のようなもの)すれば ポップアップメニューが開くという仕組みなので、スタートボタンとかアップルメニューとかいらないです。

が、マウスを一つのボタンにしてしまったので、メニューを開くことが出来なくなってしまいました。 だから開きっぱなしのメニューがデスクトップの上部に常駐するようになったわけです。 ううむ・・・。

1ボタンマウスの偉大さ

ともかく、とかく制約として働いたマウスの1ボタン化なのですが、 しかしその制約はマウスにとって有利で使いやすいモノへのGUIを進化させました。

ドラッグ & ドロップ 、プルダウンメニュー、コピー & ペースト、 そんなものを次々とAppleは発明していったそうです。

さて、猫は実はトラックボーラーなのですが、 NLSやAltoのポインティングデバイスが「マウス」であった幸運は、 まだこの時点では取り返すことが出来たのでは、と思うのです。 もしここで Appleが トラックボールをポインティングデバイスにしていたら・・・。

しかし、この1ボタン化で発明されたユーザインタフェイス・・特にドラッグ & ドロップは ポインティングデバイスの主軸をマウスに決定づけてしまったと、猫は思います。

参考文献

参考文献というよりも、パクリ元と言った方がふさわしいです。 このページの内容は、これら参考サイトの内容をそのままもってきて 再構成しているだけです。