OOUIのオブジェクトはどこから来たか
OOUIにおけるオブジェクト
オブジェクトとは「対象」で、OOUI(オブジェクト指向ユーザーインターフェース)をデザインする際に手がかりとなる重要なものです。
では人類がコンピュータ上でオブジェクトを扱うようになったのはいつからなのか?画期的なこの考えはコンピュータの歴史上いつ生まれたのか?
私はこの点について起源が気になったのでコンピュータの歴史やプログラミングの専門家ではありませんが調べてみたことがあります。
OOUIとGUI
現代においてOOUIとはGUI(グラフィカルユーザーインタフェース)とほぼ同じだと言えるかもしれません。
厳密に言えばOOUIの「オブジェクト選択の後にアクションを行う」というシンタックスを最大の特徴と捉えるならばGUIでなくてもこのシンタックスはあり得ます。いずれにせよありとあらゆる所にGUIが存在する現代においてGUIはOOUIの代表例であることは間違いありません。
オブジェクトとディスプレイ
オブジェクトはディスプレイに表示されます。
オブジェクトがディスプレイに表示されるということは、オブジェクトの登場のタイミングはディスプレイがいつ頃登場したかが大きく関係します。
コンピュータには最初からディスプレイがあったわけではありません。
現代の感覚からするとコンピュータにディスプレイが無いということは理解できませんが、昔のコンピュータにはディスプレイがありませんでした。
そこでまずはコンピュータの歴史においていつ頃からその出力結果がディスプレイに表示されたのかを調べてみることにしました。
Manchester Small-Scale Experimental Machine
1945年に完成した ペンシルべニア大学ムーア・スクールの ENIAC は最初の、もしくは ABC に次ぐ2番目の電子式コンピュータと言われています。
その数年後イギリスでベイビーが誕生します。
イギリスの SSEM はマンチェスター・ベイビーとも称される実験的なコンピュータで、1948年6月、押しボタンによって入力されたプログラムの結果が2進コードで陰極線管(CRT)に表示されました。
2進コードが表示されるだけであれば、現代のGUI的なオブジェクトとは言い難いかもしれません。そしてこの出力形態が本来の目的でなかったかもしれません。実際、この後のコンピュータではテレプリンターに数字が出力される、といった方向での進化もしています。
さらに言えば、このディスプレイに人間が何かを入力することはできません。そう言った意味ではこれ以前にもレーダーの結果がCRTに表示されるといったことは行われていたようですから、デジタルコンピュータとつながった形で光点が出力されたという意味以上のことは持たないかもしれません。
ですが、現代においてピクセルの集合体によって様々なオブジェクトが表現されているディスプレイに慣れ親しんだ私としては、この縦と横の軸を持つ光点の集合に2次元的な表現の予兆を感じたのでした。
Whirlwind I
ほぼ同じ頃、アメリカの Whirlwind 計画ではライトガンとCRTを使用したインタラクティブなディスプレイの研究が進んでいました。
この計画は、第二次世界大戦中にMITで飛行訓練装置の開発を目的として行われた軍事研究でした。
このWhirlwind 計画の中で、1948年後期または1949年初期に、ディスプレイに表示された光点をライトガンというデバイスで指し示す試みが行われていました。
光点を指し示すライトガンはまさにポインティングデバイスで、コンピュータの出力に対してユーザーが入力を行なっていました。人間とコンピュータがオブジェクトを介してインタラクティブにやりとりするユーザーインターフェースの登場と言えるでしょう。
1948年には256ポイント、翌1949年には1024ポイントと光点の数は増加し、その後4096ポイントに達しました。増加する光点によってやがて様々なオブジェクトがディスプレイに表示されていきます。1949年には最初のコンピュータゲームのプログラムも動いていたようです。
「そっちのプログラムはいったい何だ?」という、割れるような叫び声がインターカムから聞こえてきた。(中略)私が動かす指先に合わせて、画面上では6ミリ四方ほどの明るく青白い光の斑点が動いていた。
ダグ・T・ロス「個人的に見たパーソナルワークステーション – 1950年代初頭」
Whirlwind の計画ではいくつかの興味深いトピックがあります。1954年の秋にダグ・T・ロスの実験的なプログラムによって、床に水平に寝かせたオシロスコープのディスプレイに指先を使ってフリーハンドで名前を書く試みも行われています。これは現代のタッチ操作に通ずるコンピュータ観と言えるでしょう。
みなさんは ENIAC を始めとする昔のコンピュータの写真を見たことがあると思いますが、人間が機械の前に立っているのに気が付いたでしょうか。ダグが考えていたことの1つは、この人間とコンピュータの協力関係のことでした。人間は、ほかの人間と協力する場合、一日中ただ立っているだけというわけにはいかないもので、実際にいっしょに何かをやらなければならないものです。当時は、人間が座るのはプログラムを書くときだけで(中略)コンピュータを相手に何かするときはその前に立つしかなく(中略)しかし、ダグは椅子に座って機械を相手に仕事をすることを考えたのです。
セヴェロ・オルンスタイン
また「リアル・タイム」というトピックもあります。数学的計算を行う上では多少の故障は許容されますが、即時に反応することを求められるシステムではそうはいかず、またそもそも即時に反応するための処理能力もそれまでのコンピュータより1桁上の旋風(Whirlwind)のような速さがプロジェクトには求められたようです。
この点はバッチ処理的なコンピュータ観からOOUI、または即時実行が大きなキーワードとなるモードレスなデザインへ変化する際にも一部通じるトピックかもしれません。
SAGE
Whirlwind 計画はその多額の開発費用に対して疑問をもたれ終了の危機に追い込まれたこともありましたが、1949年、ソ連の爆撃機による核攻撃の可能性が浮上し、紆余曲折を経てやがて防空システムの SAGE (Semi-Automatic Ground Enviroment)へと発展していきます。SAGE では IBMによって Whirlwind の量産モデル AN/FSQ-7 が作られました。
重量250トンのこのコンピュータには100種類のデータソースからデータが入力され、100人以上の空軍の要員がCRTに表示される担当空域の情報をモニターしていました。
つまりコンピュータの歴史において実用的なオブジェクトとしてディスプレイに表示されたもの、それは未確認飛行物体(Unidentified Flying Object)だったというわけです。
もちろん表示されていたのは宇宙に連れて行かれる方のUFOでは無く、自軍や敵軍、民間の航空機なのですが、その中でもユーザーの最大の関心の対象、つまりオブジェクトは未確認の航空機であったことは容易に想像がつきます。
調べを終えて
こうして私は、最初期のコンピュータ上で扱われたオブジェクトに至るとともに、脳内のイメージをコンピュータ上に表示しそれを人間が操作するという飛び道具のような発想が、段階的に生まれたものではなく電子式コンピュータの初期にすでにあったということに至りました。
この事実は「オブジェクトを意識するのはプログラミングで、それが近年UIデザインに展開した」というよりも、長期的に見れば電子式コンピュータの初期にすでにオブジェクトをポインティングデバイスで指し示す、そういったコンピュータ観がありUIが実際に作られていたということを示しています。
参考:
- SAGE The First National Air Defense Network
- Retrospectives : The Early Years in Computer Graphics at MIT, Lincoln Lab and Harvard
- コンピューター200年史 -情報マシーン開発物語-
- ワークステーション原典