Alto はハードウエアとして特筆すべき点も多いが、それにもまして、後の GUI に大きな影響を与えたのはその上で構築されたソフトウエア群。当時はまだ OS という概念は希薄で、Alto の OS に相当するものは、GUI ベースの OS ライクなソフトとしていくつか存在した。したがって、単に「Mac や Win は Alto の真似」で済ますのではなく、Alto のどの GUI からどんな影響を受けたかを探ることが、Mac や Win の GUI のルーツを知る上できわめて重要になる。
1970年代にアラン・ケイらが開発していた Smalltalk はそんな Alto 向け OS ライクなソフトウエアのひとつ。Smalltalk を OS として動かしたときの Alto は暫定ダイナブックと呼ばれた。
Smalltalk は、現在主流の Unix などに代表されるファイルシステムベースの OS ではなく、実験的要素の多いいわば「オブジェクト」ベースの OS であった。また、後に(Alto や NoteTaker、D-マシンという専用のハードウエアを失い、なおかつ)他のメジャーとなった OS 向けに単なる言語処理系という位置付けで移植され現在に至るため、Smalltalk を OS と呼ぶと中途半端に知識を持つ人に思わぬ拒絶反応を示されることが多く、議論を進める際には慎重さを要する。(Windows 初期 GUI の手本となり、初代 D-マシン Dorado から Sun OS などに移植された後述の Cedar についても似たようなことが言える)
Star は Alto の後継ハードウエア(D-マシン)に Star システム(後に ViewPoint)を載せたもの。
ちなみに Star システムは PARC とはまた別の部門で開発された。
D-マシンでも Smalltalk システムは動いた(専用機もあった)。
Star システムとは、アプリ(従属ソフト)としてではなく、むしろマルチブートの選択肢としての(並列な)関係。
Star GUI は Lisa のプロトタイプ開発に、Smalltalk GUI ほどの大きな影響は与えていない。
そもそもジョブズ達が PARC を訪れた 1979年ごろ、開発中の Star は XEROX における文字通りのトップシークレットで、Smalltalk の特別なデモを見る特権のみを与えられたジョブズ達は 1981年の発表までその存在を知るよしもなかった(後に PARC から Apple へ移籍した技術者たちが NDA を守っていたならば…の話だが)。
なお、Lisa/Mac の Finder における「ファイラにアイコンを使うアイデア」に限っては、発表後の Star から明らかな影響を受けていて、これは Lisa の開発に参加したラリー・テスラーの証言にも裏付けられている(Origins of the Apple Human Interface)。
ALTO vs Alto。これは abee さんに紹介していただいた資料から少なくとも '70 年代終期、XEROX としては Alto で定着していたようですね。アラン・ケイ博士の論文では ALTO で統一されているようにみられます(手持ちの1報だけですが)。でも同じ論文内では Bilbo も BILBO になったりしていますから、たぶんこだわっていないのでしょう。なので XEROX に従ってここでは Alto にします。「未来…」によると、Bilbo は Alto 初号機のひとつの愛称だったようです。
Smalltalk は Alto の標準システムか?
少なくとも '70 年代終期〜 '80 年代初頭においては否。ただ、History of Programming Languages II (ISBN 0-210-89502-1、Kay1996)によると、Alto は 暫定 Dynabook として作られた(最初のグラフィックスとして“クッキーモンスター”を表示したのが 1973 年)と書いてあります。初号機は1台 (2台っぽい。Bilbo)。3ヶ月で作られたとの記述があるので、これがたぶん NHK で言っていた「鬼の居ぬ間の…」の成果でしょう(その2台とも実物を見て態度を一転した元上司Xのラボに取られそうになって、取り戻すのに苦労したと)。
標準システム(電源投入時に自動的に立ち上がるという意味で使っています)というのはなくて、ディスクを入れると DOS プロンプトのようなものが動いて、そこで起動をかける…という(すっかり忘れてしまっていましたが、当時としてはごく当たり前の)方式だったようですね。ただ、最初の Alto は、アラン・ケイがかなり骨を折ってこしらえてもらったものらしいことは資料から伺えます。本人談なので話半分にしておかなければいけないでしょうが…。=)
LED でタイミングとは斬新ですねぇ…(笑)。VP 上で…かと思い込んでいたのですが、そうではないのですね。ありがとうございます。--sumim
Alto と Star の関係は?
StarはXEROXが1981年にリリースしたビジネス用のワークステーションです。最初のStarは8010と呼ばれます(開発コードネームDandelion)。多くの資料が「XEROXはAltoを商品化しなかった」と伝えていますが、正しくは「XEROXはAltoを商品化したけれども商業的には失敗した」です。 それは一つの意見としてあり得ますが、やはり間違いです。いろいろな資料に目を通すと「XEROX は Alto を商品化しなかった」は正しいようです。Alto III は市場向けに開発されたはじめてで最後の「“Alto”と呼ばれるマシン」で、この決定を上層部が覆した(退けた、棚上げにした)ことは関係者に大きな衝撃を与えた、とアラン・ケイ博士も述べています。--sumim
追記:アラン・ケイらの文脈で“製品化されなかった”「Alto」は、Smalltalk を OS として動く Alto 、つまり暫定ダイナブックを指します。したがって、D-マシンや Star は、Alto の直系ではありますが、それはハードウエアのうえでの話で、コンピューティング環境として Star と Alto + Smalltalk(= 暫定ダイナブック)はほとんど関係ないと言ってよさそうです。--sumim
1975年以降の Alto とそれ以前の Alto (否、おそらく Bilbo の1台だけ。もしくはその直後にビルドされた5〜6台の Alto ) は XEROX の Star に関する史実からは別のものと考えたほうがよさそうですね。一口にAltoと言っても色々な種類があります Smalltalk は Bilbo(Alto 初号期)ができあがった後、PRAC 内プロジェクトとして生産した Alto に移植され、ひとつのソフトウエアとして研究が続けられた。Alto 上では Smalltalk(暫定ダイナブック環境)以外の複数のプロジェクトが別途進行していて、そのひとつで Star の礎も築かれた。
Star につながる流れをおそらく含んでいたであろう Alto プロジェクトにアラン・ケイ博士はどのくらい関与していたのでしょうか?
Starは、オーバーラップしたマルチウィンドウ、「書類」や「フォルダ」などのアイコンによるデスクトップ、DWIM(Do What I Mean)に基づくオブジェクト指向ユーザインタフェース、WYSIWYG(What You See Is What You Get)を実現するメガピクセルビットマップディスプレイとレーザープリンタ、ファイルサーバやプリンタサーバをつなぐイーサネット、何でも送れる電子メール(ゴミ箱さえも!)などを備えていました。
Starにはアプリケーションの概念がありません。「道具箱」には様々な種類の白紙の書類が入っており、これをデスクトップに「転記」することで作業を開始します。また、モードがなく、選択した対象により、その対象に対して行なうことの出来る操作が自動的に切り 替わりました。
Starのキーボードを見ると、いくつかのキートップがSqueakのメニュー項目と一致していることに気付くでしょう。
Starの環境はViewPointと呼ばれます(1985年から。当初は単にStar。後年GlobalViewに改称)そして、アラン・ケイ博士の設立したNPOはViewpoints Research Instituteという名前です。
とすると、やはり博士は深く関わっていたと考えてよいのでしょうか? Starプロジェクトのメンバは博士の思想をよく理解したのだと思います。博士自身がタッチしていたかどうかは分かりません。博士の有名な言葉に"Point of view is worth 80 IQ points"がありますが、ViewPointはこれから採ったのではないでしょうか。
デモ機に使われたのは Dorado (a very fast "big brother" of the ALTO)。Dorado はおそらく“Alto”として紹介されたでしょう(ちなみに「未来…」によると使用されたマシンは“確実に”Alto ということで Dorado のセンは否定されています。アラン・ケイ博士が現場にいなかったのが事実なら、こちらの情報のほうが確かでしょう)から、外部の人間が Alto プロジェクトと Smalltalk(Dynabook)プロジェクト、およびその成果物の区別をどこまで理解できたか。実際、両者には似たような印象を持つソフトも存在するようですし(たとえば、よく映像に登場するペイント系ソフトには我々のなじみのある FormEditor とよく似た Smalltalk で実装されたと思われるものと、それとは見た目が異なる Mesa もしくは BCPL で実装されたものがあるように見受けられます)。PygmalionやBravoなどについては、The Xerox Star: A Retrospectiveが詳しいです。
こうやって(表中赤字を)見ると、Apple は手持ちの技術をこまめに商品化していて、ある意味、偉いですね。文献のスクリーンショットのタイムスタンプから Lisa 誕生前(1982.11.25時点)にゴミ箱こそありませんが、モダンな GUI 環境(オーバーラップウインドウ、文献によると Cedar は(いつまでそうだったかは分かりませんが)非オーバーラップだとのこと アイコン、プルダウンメニュー)を Cedar として確立していますから、Star が Lisa の影響を受けたとするのは改めて間違いだというのもはっきりしイキ(Cedar に影響を与えたのが結局 ViewPoint だというなら、この帰結に矛盾はないから)なんとなく納得できます。この変更(ViewPoint への移行)が Apple の付け入るスキ(ちょうど時期的に Lisa の登場時期に重なるので)を与えたのかも知れませんね。
初期の Star はタイルウインドウだったようです。しかし、これは機能的な制約ではなく、インターフェイスデザイナがわざとそうしたようです。後の ViewPoint ではオーバーラップ・ウインドウに。
Some windowing systems allow windows to overlap each other. Other systems don't: the size and position of windows are adjusted by the system as windows are opened and closed. Star's windowing system could overlap windows and often did (e.g., property sheets were displayed in windows that overlapped application windows). However, Star's designers observed in early testing that users spent a lot of time adjusting windows and usually adjusted them so that they did not overlap. Because of this, and because Star's 17-inch screen was large enough that there wasn't as much of a need for overlapping windows as there is in systems having less screen space, the designers decided that application windows should be constrained so as not to overlap. However, due to later recognition that there are situations in which overlapping application windows are preferable and a reduction in the standard screen size to 15 inches (with a 19-inch screen optional), the constraints were made optional in ViewPoint, Star's successor, with the default setting being that application windows can overlap one another.
Cedar が Star につながったように思っていたのですが、違うようです。逆でした。Star は Systems Development Department という別の組織が Mesa およびその関係環境のメンテナンスを引き継ぐかたちで PARC から(人的リソースも含め)引き抜き、開発を進めた(1976?〜)成果らしく、他方で Cedar は、Mesa の拡張版として別途 PARC で開発が進められたものなのだそうです。Cedar のスクリーンショットを見たときは「これだっ」と思ったんですがねぇ…(文献を良く読むと Cedar は Star の おそらく ViewPoint の 影響を受けたことが分かりました)。まだ、Alto-Star のミッシングリンク(ViewPoint の前身の存在。Tajo なのか? ならばなぜ Mesa 開発環境は ViewPoint への進化から取り残されたのか)は埋まらず…(^_^;)。 私は横目で見ていただけなので、正確なところは分からないのですが、XDEはVPのためのクロス開発環境だったと思います。XDEで開発したソフトウェアを、ブート切替してVPで試すような感じです。開発環境と実行環境が完全に分離しており、それぞれ目指す方向が違ったということではないでしょうか。確かに、XDEにはメーラやPIMなどもありましたが、これはX-WindowやSunViewの開発者が自分たちに必要なツールを作っていたのと同じだと思います。これらの小物はHacksと呼ばれており(SmalltalkにおけるGoodiesと同じ)、上海などはかなりの完成度でした。このVP版がJStarの顧客に流れて問題になったこともあったような。--abee なるほど。立ち上げ直しですか…。ずいぶん持っていたイメージと違います(^_^;)。触ってみないと(本を読むだけでは)分からないものですね。--sumim
興味深い記述を発見しました。
Both the hardware and the software were developed concurrently for the Star Information System, and important ideas and solutions were taken from MEMEX, the Sketchpad, NLS, Alto, Smalltalk, Bravo, just to mention some of them. The software was not written in Smalltalk as many people think, but in Mesa, an industrial version of Pascal. For the development of Star, Xerox created Systems Development Department, SDD, located both in El Segundo and Palo Alto. Afterwards this proved to be a mistake, together with the lack of paying attention to the industry and consumer demands. In the first version the Star was too expensive and too hard to integrate with new features and applications. This changed with newer versions, called ViewPoint.
初期ロットの Star には ViewPoint は搭載されていなかったのですね。これはミッシングリンクに迫る手がかりになりそうです。
な〜んて、ちゃんと Star の論文に(よく読めば、阿部さんコメントにも「1985年から」との但し書きも…(^_^;))ありました。(こんなんばっかや…)
ViewPoint Software -- Soon after Star was released, the designers and implementers realized that it had serious problems from a performance, maintenance, and enhancement standpoint. Its high degree of integration and user-interface consistency had been achieved by making it monolithic: the system "knew" about all applications and all parts of the system "knew" about all other parts. It was difficult to correct problems, add new features, and increase performance. The monolithic architecture also did not lend itself to distributed, multi-party development.
This created pressure to rewrite Star. Bob Ayers, who had been heavily involved in the development of Star, rewrote the infrastructure of the system according to the more flexible Tajo model. He built, on top of the operating system and low-level window manager, a "toolkit" for building Star-like applications. Transfer of data between different applications was handled in the new infrastructure via strict protocols involving the user's selection, thus making applications independent from one another. The object-oriented user interface, which requires that the system associate applications with data files, was preserved by having applications register themselves with the system when started, telling it which type of data file they correspond to and registering procedures for handling keyboard and mouse events and generic commands. User-interface consistency was fostered by building many of the standards into the application toolkit. The development organization completed the toolkit and then ported or rewrote the existing applications and utilities to run on top of it. Other software changes included:
* several applications and utilities were added, including a Free-Hand Drawing program and an IBM PC emulation application, * the window tiling constraints were made optional, so that users can have overlapping windows if desired, * the screen graphics (icons, windows, property sheets, command buttons, menus) were redesigned to accommodate a smaller screen and to meet the demands of a more sophisticated public, * performance was improved.
To underscore the fact that the new system was a substantial improvement over the old, the name was changed from Star to ViewPoint. ViewPoint 1.0 was released in 1985.
XEROX としては、Mesa 環境の Alto への実装完了(もしく開始)を契機に Star の開発プロジェクトが始まったと(後、すなわち Star 発表時に)しているらしいことがうかがわれる。
これは Michael Hiltzik の "Dealers of Lightning --- XEROX PARC and the Dawn of the Computer Age" の翻訳なんですが、この原書、当時のPARCメンバー、ゼロックスの上層部、外部にあって関わった人々に対し、ロサンゼルス・タイムズの技術記者である著者が数百時間のインタビューを行い、PARC 最初の15年間とその前後の歴史を再構成した物です。
ネットを彷徨っていたら、「未来をつくった人々」にも当時物議をかもしたと書かれている"SPACEWAR - Fanatic Life and Symbolic Death Among the Computer Bums, Stewart Brand, ROLLING STONE 7 DECEMBER 1972"が見つかりました。これはすごい。--abee