このページは、「Squab Squeaker's Swiki」(http://sumim.no-ip.com/collab/19)の勝手にミラーリングページです。
Alto、Star、Smalltalk、Lisa、Mac、Win の関係をはっきりさせよう
とかく不明な点が多く(特に 70年代の Alto に関する資料は盛りだくさんだが時系列で整理されておらず)、それゆえ“識者”と称される人たちにより、ろくすっぽ調べもせずに判で押したように「Mac は Alto の真似」「Win は Mac のパクリ」などと安易に語られるなどしておざなりにされがちな Alto、Star、Smalltalk、Lisa、Mac、そして Win …の GUI デザインの関係。それぞれはいったいどんな素性のどんな GUI で(特に Alto と Star の違い、Smalltalk や Dynabook 構想との関係とか…)、どれがどれにいつ、どんな影響を与えたのか…、その可能性があるのか…、いろいろとモヤモヤしたものがあるので手持ちの資料を出し合って探ってみました。
▼まとめ+その後の知見:
- 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 についても似たようなことが言える)
- Lisa や Mac、Win に直接の影響を与えたのは Alto 向け OS の中でも特に暫定ダイナブック、つまり、Smalltalk の GUI
- ただし Win に限っては 2.0 以降の路線転換後から。なお、1.0 については後述のとおり Cedar にその明らかな原型を見て取ることができ、次に挙げる Smalltalk の GUI の特徴とは異なる点も多いので要注意
- オーバーラップするマルチウインドウ
- マウスの第二(もしくは第三)ボタンをクリックすることによりポップアップするメニューとそれを介して行なわれる操作
- メタキー + 数字・アルファベットの組み合わせによるキーボートコマンド(キーショートカット)操作
- カット&ペーストに象徴されるモードレスなテキスト編集スタイル。アプリをまたいだペーストを可能にするバッファー機構(クリップボード)。アンドゥ機能。(同じく YouTube - PARC Movies 17分30秒あたり)
- マルチフォント(テキストのサイズ・スタイル・グリフを文字ごとに変更し混在させられる)
- ジョブズは暫定ダイナブック(=Smalltalk)のこの機能を実際に見て知っていたはずで、有名なスタンフォードの演説での(自分がカリグラフィーを学んでいなければ)パソコンがマルチフォントを備えることがなかったろう…のくだりは彼お得意の印象操作だと分かる(彼が彼の製品にマルチフォント機能を取り入れるか否かのチョイスをする際に役に立ったという意味で必ずしも嘘ではないが、彼がマルチフォントを備えたパソコンの発案者であるかのようなミスリードを狙っているようにもとれる)。
- フォントの他、行揃えを変更したり、図を挿入できるテキストエディタ
- ドット単位で描画可能なペイントツール。フォントグリフの編集ツール。
参考: 後の MacPaint と BitRectEditor との類似性が分かるように作った動画→ MacPaint [Macintosh '84] vs BitRectEditor [Smalltalk-76]
- 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)。
- Lisa/Mac の GUI デザインのキモは、Smalltalk GUI 操作スタイルから、マウスのボタンの数を減らす過程で生じたアレンジ(工夫…ともいう)が主。
- マウスの第三ボタンクリック時にポップアップするメニューの機能
- ウインドウを閉じる操作や印刷 → メニューコマンドとしてはメニューバーの File メニューへ
- ウインドウのサイズ変更 → ウインドウ右下のサイズボックスのドラッグへ
- ウインドウの移動 → ウインドウタイトルバーのドラッグへ
- ウインドウを閉じる → ウインドウタイトルバーのクローズボックスのクリックへ
- マウスの第二ボタンクリック時にポップアップするメニュー(コンテキストメニュー)の機能 → メニューバーの Edit メニュー以下へ
- Win の GUI デザインや操作スタイルは、Lisa/Mac の単なるマネだということでは説明できない Smalltalk のそれに近い部分も多く見受けられる。
- ウインドウ操作用のメニュー(ウインドウメニュー)の存在
- 右クリックメニュー
- ウインドウのタイトル化
- ただし、Win 1.0 に限っては Smalltalk よりは Cedar(別部門で開発された Star システムと影響しあって PARC で作られた GUI ベース OS)に似た部分が多い。(Microsoft は、PARC から Cedar 開発にも係わったスコット・マクレガーを引き抜いている。彼は UI 研究においてタイルウインドウ派としても知られる。)
▼提案:
- 現在主流の Mac や Win の GUI の歴史についての文脈では、Alto だけではなく Smalltalk を併記すべき。
- Mac の GUI史を論じる際の映像資料などで Alto を引き合いに出す場合は、単に Alto の映像というだけで引用するのではなく、Smalltalk の特に Smalltalk-76 の映像かを確認して引用すべき。
- 他の Alto 向けの GUI ベースの OS(および、ワープロなどの GUI アプリ)の“ルック&フィール”はすべて Smalltalk のそれとは異なっていたことに留意すべき。 つまり、同じ“Alto”でもそれらは Alto + Smalltalk から発し、Lisa や Mac、Win へと連綿と受け継がれることとなる GUI の系譜とはほとんど関係ない。
- ただし例外的に、ダイアログボックスやコントロールパネル、アイコンベースのファイラ(Finder)のアイデアについては発表後の Star から模倣している。
- しかし、よく語られるように Star GUI が Lisa/Mac GUI のオリジンで、まして 1979年にジョブズらが開発中の Star を見て真似たという説は嘘。
- Star はマウスこそ使うが、Smalltalk(ひいては Lisa/Mac、Win)とは操作スタイルがかなり違う(命令にはメニューを使わず特殊キーを使う。マウスボタンの機能割り振りが異なる…など)。
- ダイナブック構想の文脈では、Alto と Smalltalk はセットとして考えるべき。
- 構想としての「Dynabook」、暫定ハードとしての「Alto」、暫定 OS としての「Smalltalk」。
▼関連:
以下、根拠となる情報源などに関する議論。
Alto の表記は?
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のラボに取られそうになって、取り戻すのに苦労したと)。
1976年のSMALLTALK-72 INSTRUCTION MANUALにSmalltalk-72の起動方法が載っていますが、Altoという言葉は用いられず一貫してInterim Dynabookと呼ばれています。Smalltalk用のディスクパックをセットしてブートしているので、Smalltalk起動中は他のシステムは動作しなかったと思われます。しかし、標準であったかどうかは分かりません。いくつかあるシステムのひとつだったと思います。
標準システム(電源投入時に自動的に立ち上がるという意味で使っています)というのはなくて、ディスクを入れると DOS プロンプトのようなものが動いて、そこで起動をかける…という(すっかり忘れてしまっていましたが、当時としてはごく当たり前の)方式だったようですね。ただ、最初の Alto は、アラン・ケイがかなり骨を折ってこしらえてもらったものらしいことは資料から伺えます。本人談なので話半分にしておかなければいけないでしょうが…。=)
阿部さんが '80 年代終わり頃、実際に操作していたときは(ワークステーションなのでめったにないとは思いますが)、電源投入から Smalltalk の立ち上げまで、どんなシークエンスをたどっていましたか?--sumim
私が主に使っていたのは1161AIWで、下にもあるようにDマシンではありません。UNIXライクOSだったので、スイッチオンで勝手にブートしてシェルが上がりました。あとはVMの引数にイメージファイルを付けてリターンするだけです。こいつは、Smalltalk-80専用機だったので、Smalltalk-80しか動きません。
対して、1121AIW(や8080)のブートはものすごく変です。まず、メンテナンスパネルのカバーを開いて、リセットボタンとオルターネートボタンを同時に押し下げながら電源を投入します。続いてリセットボタンを離すと、4桁の7セグメントLEDがパラパラと変っていくので、適当なところでオルタネートボタンを離します。これでブート対象が切り替わる訳です。
0001でオルタネートを離すことを1番ブートと呼び(VPやXDEにも番号があります)、SystemStartupTool(ムービングロゴ)が起動します。ここからさらに、LispSystemToolsでInterlisp-Dを起動するか、RunST80でSmalltalk-80を起動するかを選択します。
このブートには結構時間がかかりました。ブート中にLEDを見ていれば、今CoPilotを読んだとか、どうしたとか分かります。たまに起動しないこともあり、そのときはLEDのMPコードを解読してスキャベンジしたり、アドミを呼んだりしていました。
当時の運用ですが、朝一の人が立ち上げて周り、最終退場の人が落として帰っていました。もちろん、サーバは落としませんが(プリントサーバは落としていたかも)、終夜運転するようになったのはSunとかが入ってから後のような気がします。個々のマシンはネットワーク上では単なるクライアントだったので、独立して落としても問題なかったためではないかと思います。--abee
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
ジョブズらが見学したのは Alto 上で動作していた Smalltalk だったようです。Star システムは PARC で開発されていたわけではなかったので、PARC への見学ということであれば(後に Star システムが搭載される D-マシン となる Alto ではあるものの、少なくともこの時点では)、純粋に Smalltalk のデモだったことが分かります。--sumim
"The final live demonstration of the Xerox 'Star' computer, 1981"(ZDNetの取材記事あり)によると、プロジェクトが始まったのは1975年。開発に用いられた言語はSmalltalkではなく、抽象データ型のMesaでした。
Mesaに関しては1990-91年頃のSuperAscii誌におけるウィンドウ・プログラミングのパラダイムに関する連載で幾度か取り上げられていた記憶があります.Mesaが(も)走っていたOSのPilotに関しては,いちおう手元には
石田晴久, 土居範久 共編『新しいOS』, 共立出版, 1989, (新しいOSシリーズ, vol. 12), ISBN4-320-02406-0
があります.著者の宇田川誠さんは富士ゼロックスの人です.ページ数は20にも満たないので,詳しいことは書いてありません.ただ,この本には他にTAO/ELISも載っていて,珍しいので捨てられる前に保護しました(笑).--nishis
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)を実現するメガピクセルビットマップディスプレイとレーザープリンタ、ファイルサーバやプリンタサーバをつなぐイーサネット、何でも送れる電子メール(ゴミ箱さえも!)などを備えていました。
なるほど。Smalltalk が動作してこその Alto の評価という私の認識は誤りだったのですね。頭の中を訂正しておきます。 いや、これは当たらずとも遠からずだったようです。すべてではないししろ、Alto + Smalltalk の組み合わせは、Lisa や Mac、Windows の成り立ちに、大きな寄与率で影響を与えています。なお、Star は当初はウインドウはオーバーラップさせていませんでした。オーバーラップウインドウは後の ViewPoint からです。ゴミ箱は謎。しかし、デスクトップメタファーとアイコンはあった可能性は大ですね。
Starにはアプリケーションの概念がありません。「道具箱」には様々な種類の白紙の書類が入っており、これをデスクトップに「転記」することで作業を開始します。また、モードがなく、選択した対象により、その対象に対して行なうことの出来る操作が自動的に切り 替わりました。
Starのキーボードを見ると、いくつかのキートップがSqueakのメニュー項目と一致していることに気付くでしょう。
Starの環境はViewPointと呼ばれます(1985年から。当初は単にStar。後年GlobalViewに改称)そして、アラン・ケイ博士の設立したNPOはViewpoints Research Instituteという名前です。
とすると、やはり博士は深く関わっていたと考えてよいのでしょうか? Starプロジェクトのメンバは博士の思想をよく理解したのだと思います。博士自身がタッチしていたかどうかは分かりません。博士の有名な言葉に"Point of view is worth 80 IQ points"がありますが、ViewPointはこれから採ったのではないでしょうか。
Starは富士ゼロックスにより日本語化され、J-Starとして発売されました。このJ-Starについては「JStarワークステーション」という本を一読されることをお勧めします(その一部はここで読めます)。西原さんのこの本に対する感想が私の気持ちを代弁しています。私は1988年から6年間、ユーザとして8080 J-Star II(コードネームKiku)などを使っていました。ドロワーをどんどん開いていくと、アメリカまで行ってしまったときの感動は今でも忘れられません。--abee
私も何とか馬鹿のひとりだったので、耳が痛いですね(^_^;)。今は Smalltalk 馬鹿で、よく調べもせずに Alto Star の軽視と、なんとかにつける薬はない…状態(鬱。(追記:でも調べてみたら、結構、このときの感覚と一致した史実が出てきました。w)そんな意図は無いです。ほんとに。それをいったら私なんて、DynaMacの頃はほとんど狂信者でしたね。西原さんも相当な○○ですよ:-) また渋いリンクを…=) 。>DynaMac --sumim
現役の○○狂信者の西原です。でも、ワタシの場合は周囲に影響を振りまいてません。というか、個人的な知合いの大半がMacユーザだったりします。でもまぁ、マシンは何でもエエですわね、今となっては。ではでは。三拝 --nishis 御意 (笑) --sumim
Star(ViewPoint)が動作するプラットホームは、Dandelion, Dandetigerなど原則としてDから始まるコードネームを持っていました。これらがDマシンです。Dマシン最大の特徴は、マイクロコードプログラミング可能なビットスライスプロセッサを採用していたことでしょう。
私たちが普段使っているPowerPCやPentiumなどのCPUはチップ自体に命令セットが組み込まれており、これを変更することはできません。これに対して、Dマシンは起動時に命令セット自体をロードすることが可能でした。
この機能を用いることにより、動作させるシステムに最適な命令セットを用いることが出来ます。DマシンではViewPoint以外にもInterlisp-D, Smalltalk, XDE(Xerox Development Environment; Mesa開発環境)などを動かすことが可能ですが、これらのシステムに応じて命令セットを切り替えて使っていました。Smalltalkになじみの深いバイトコードとは、このSmalltalk用命令セットのことに他なりません。
Dマシンの商品名には、80xx, 60xxのビジネス向けと11xxの科学技術計算向けのものがありました。後者は前者にコプロセッサを足して高機能化したものが多かったようです。11xx系は、日本では1100SIP(Scientific Information Processor, Dolphin)と1121AIW(Artificial Intelligence Workstation, Kiku-X)が販売されていました。年季の入ったSmalltalkerは最初のマシンがこれらだったという人が多いようです(あるいはTektronix 4404か。私は違います:-)。
あと、国内専用機に1161AIW(Katana)というマシンがありましたが、これはDマシンではありません。6060(Sakura)も違います。
アラン・ケイ博士が Smalltalk から離れたのはどの時点?
Smalltalk-76 まで深く関与していたのは確かなようです(Kay1996)。Squeak ML で「よしみで St-80 のライセンスを得た」というような記述をみかけたことがあるので、St-80 には関わっていなかった可能性大かと。「未来…」によるとジョブズの来訪時点ではすでに退職前のサバティカルに入っておりその場にはおられなかった可能性が大です。(が、ご本人は“その場にいた”と明言)
スティーブ・ジョブズ氏が観たのはどのバージョンの Smalltalk?
もしくは Smalltalk ではなかった? ダン・インガルス氏がデモを担当もしくは深く関与している(Kay1996)ので Smalltalk であることは間違いないようです。ただ、Alto プロジェクトもかなり進行して(Star の手前まで来て)いたでしょうから、Smalltalk のデモはひとつのセッションに過ぎなかった可能性が大です。 Computer Science Laboratory (CSL) グループが別のデモで、Star ライクなプロトタイプの Cedar を(存在していれば)見せていた可能性はあります。あと、LRG のデモだったとしても、CSL の Bravo くらいは見せていたかも。これは「未来…」の記述とも一致します。来訪は2回。2回目にジョブズに詰め寄られてしぶしぶ極秘事項を含めた歴史的なデモが行なわれたようです。ただ、当時のことを正確に覚えている人間はほぼ皆無に等しいとか。 時期(1979)から St-80 ではないでしょう。ただ、St-76、St-72 いずれにせよ、かなり St-80 に近いルック&フィールに落ち着いていた頃なので、Apple II を作っていたジョブズにインパクトを与えるには十分だったと思います。また、デモではジョブズがスムーズでない(行単位の)スクロールが気にくわないと言ったとき、ダン・インガルスがその場でスムーズスクロールに書き換えるという離れ業をやってのけてさらなる驚きを産んだとのこと。ただ、もし、これが本当だとすると、ジョブズはGUIベース均質環境のメリットを知っていたわけで、それをあえて Lisa に反映させなかったということになります(私はデモは、マン-マシン・インターフェイス中心に行なわれ、その結果、Smalltalk 環境の表層しか見ることができなかったジョブズが、こちらは逆に素晴らしい仕事をしたビル・アトキンソンの“偉大な”勘違い(「未来…」に添えられたビル・アトキンソンのメモによれば、XEROX で得たものは何もない。それらはすべてすでに研究中だったことだ…というニュアンスの心持ちでいるようです。自分の多くの仕事を「結局は PARC のお陰…」と片付けてしまうマスコミの性向には辟易としていたのでしょう)よろしく、GUI だけ採用すればそれでヨシとする“欠陥”Lisa を作ってしまったのではないかと解釈していたので、ちょっと意外でした。「未来…」の解釈だと、私の当初の予想を支持する見方もあるようです。ジョブズは、GUI のパワーに圧倒されて、オブジェクト指向…というか動的かつ均質に OOPL で組まれたシステムのパワー、ネットワークのパワーを見損なっていたとのコメントがあります)。
追記: デモに使われたバージョンはおそらく Smalltalk-76 でFA。なぜなら、Smalltalk-78 は NoteTaker 専用で、Smalltalk-80 の v0 が見学のおおよそ一年後なので、これら二者である可能性はほとんどないから。
残念ながら Smalltalk-76 が動くシステムは今のところ(2015年6月時点)存在しないが、発掘された壊れた Smalltalk-78 のイメージとソースを Smalltalk-76 の一部で補って作られた復刻版 Smalltalk-78(NoteTaker エミュ上で動作)が、ダン・インガルスらの Livelyシステム上で現在使用できる(http://lively-web.org/users/bert/Smalltalk-78.html)。
オーバーラップするウインドウシステム、スクロールバー、混在できるマルチフォント、中ボタン(今の右ボタンに相当)クリックでポップアップするメニューとカット&ペーストに象徴されるモードレスなテキスト編集スタイル、MacPaint ライクな(つまり商品化された Smalltalk-80 にあるような FormEditor のような簡素なものではない)ペイントツール、カラムインターフェイス(NeXTSTEP のファイルブラウザや iTunes で使われている)をジョブズやアトキンソンらはちゃんと見て、その後模倣をしていたことが、これを使ってほぼ確信が持てた。--sumim
アラン・ケイによる、同システムを用いたプレゼンも、当時の Smalltalk、すなわち暫定ダイナブックOS のポテンシャルを知る上でたいへん参考になる。--sumim
このエミュでシステムを解析した結果、「未来を…」などにある、ジョブズの「スクロールが行単位なのが残念」というその場での思いつきによる、しかし挑発的な指摘を受け、ダン・インガルスがこともなげに「ちちんぶいぷい」でスムーズスクロールにしてみせたくだり(ある意味、件の PARC 訪問劇のクライマックス)に実際に変更したであろう箇所(クラスおよびそのメソッド)もおおよそ特定できた(例えば、TextImage>>#scrollUp: の #/ のレシーバーを asFloat するとか)。これなら確かに、システムに精通した人間(=ダン・インガルス)であれば、30秒とかからずに修正可能。もちろん、当該エミュでも追体験できる。一方で、Smalltalk を知らないジョブズたちには魔法にしか見えず、さぞかし驚いたことだろう。--sumim
デモ機に使われたのは 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が詳しいです。
- Dorado Smalltalk がらみで、TidBITS-J#320 に当時の状況を記述したものを見つけました。Bruce Horn (Smalltalk キッドのひとり。この文章の著者。訳は加藤たけあき、Kaz Yoshikawa両氏)、miniMOUSE の Larry Tesler らの新天地での新しい試み、ビル・アトキンソンの多くの偉大なる勘違いなどなど…によって プラスα の部分が埋められたことが分かります。
いろいろな人があなたに Macintosh の始まりについて話を聞かせようとす るだろうが、Bruce Horn 氏はそれを可能にした人物のうちの一人だ。 1973 年から 1981 年、Bruce は Xerox 社で Smalltalk (対話型の、オブジェ クト指向のプログラミング言語)を開発していたラーニング・リサーチ・ グループの学生だった。彼はそこに所属していた間に NoteTaker (ポータ ブル Smalltalk マシン)を含む、さまざまなプロジェクトに参加して、初 期の Smalltalk-76 用の Dorado Smalltalk マイクロ・コードを書いた。 1980 年、ノルウェイのオスロにある産業研究のための中央研究所(Central Institute for Industrial Research)で Smalltalk-78 から8086 マシン への移行を手がけた。Mycron-2000 である。
1881 年から 1984 年は、Apple 社で、彼は Resource Manager、Dialog Manager、Finder の設計と実行( Steve Capps 氏の手を借りて)に貢献し た。彼はまた、書類、アプリケーション、クリップボードのデータなどの タイプフレームワーク、およびそのほかいろいろなシステムレベルのデザ インの決定も担当していた。それ以来、1980 年代の Apple 社でさまざま なプロジェクトの顧問を勤め、1993 年に Carnegie-Mellon University か らコンピュータ科学の博士号を授かった。彼は引き続き Apple 社やほかの 企業でコンピュータ科学の顧問を努めている。
すべての始まり -- もう10年以上前に私は、Macintosh のユーザーイン ターフェイスのアイデアがどこからきたのかという討論を聞いたことがあ る。ほとんどの人はそれが、 Steve Jobs 氏が Xerox 社の PARC(Palo Alto Research Center)を訪問したときに発案されたと考えている。この “事実”はよく知らない人(そして知っているべき人)の間で、繰り返し 話されてきた。残念ながら、これは間違っている。- Apple 社のインター フェイスと Xerox 社のシステムのさまざまなインターフェイスには若干の 類似性はあるが、かなりの違いがある。
Steve Jobs 氏は PARC を訪れたときに Smalltalk を観た。彼はマウスで テキストをセレクトしたり、ポップアップ・メニュー、ウィンドウやその ほかといった、Smalltalk にみられるプログラミング環境を観たのだ。 Apple 社の Lisa グループが、Smalltalk のデモから得たものを取り入れ て、彼らの独自のアイデアを基にしたシステムを創り、Mac グループは、 また別のシステムを創った。Mac と Smalltalk を使ってみると、両者には 明らかな差がある。
Smalltalk には Finder がないし、実際必要でない。ドラッグ & ドロップ のファイル操作は Mac グループがほかの多くのユニークなコンセプトとと もに開発した。それは、コードから隔離されたレイアウトと国際的な情報 を保存しておくためのリソースとデュアル=フォーク・ファイル、定義手 順、ドラッグ & ドロップのシステム拡張と構成、ファイルにタイプとクリ エータを持たせること、書類、ディスク、アプリケーションの名称を直接 編集できること、クリップボードで多くのタイプのデータを扱うこと、ファ イル・システムを自由に見ることができること、デスク・アクセサリ類や コントロール・パネル書類、もっとだ。Lisa グループはいくつかの根本的 なコンセプトも考案した。プルダウン・メニュー、QuickDraw に基づいた 表現とウィンドウを使ったモデル、クリップボード、そして容易に他言語 化できるソフトウェアだ。
Mac のメニュー・バーと一つボタン・マウスに対して、Smalltalk は 3 つ ボタン・マウスとポップアップ・メニューだった。Smalltalk は再描画が 可能なウィンドウさえもなく、 ウィンドウを再描画させるためには、もう 一度その部分をクリックしなければならなかったし、部分的に隠れてしまっ ているウインドウは再描画できなかった。Bill Atkinson 氏はこのことを 知らなかっので、彼は隠れたウィンドウや部分的に隠れている部分を素早 く手前に再描画できるように、リージョンという考え方を QuickDraw と ウィンドウ・マネージャの基礎として考案した。一つ Macintosh の機能で Smalltalk と似ているものは、Larry Tesler 氏によって、彼の Gypsy エ ディタのために PARC で創られた、カット & ペーストで様式に捕われず、 セレクション指向でテキストを編集できる機能だ。
sumim の(ちょっと前までの)認識:暫定ダイナブックであり、Alto の試作機でもある Bilbo も Smalltalk も、製品化を望む XEROX と研究を続けたい博士との間で望む扱いが違った。 → 結果的に XEROX は博士が望まない両者の製品化を果たし、博士はそれを見ずに XEROX を去った。Alto は Star の前身で Smalltalk とのソフトウエア技術面でのリンケージは薄いが、思想/精神的つながりは強く、それ自体、特筆すべき先進性を持っていた。
こうやって(表中赤字を)見ると、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 発表時に)しているらしいことがうかがわれる。
- NoteTaker はソフトでなくてマシン(しかもアラン・ケイ博士の研究のためだけにこしらえた)だとのこと。文献をもう一回チェックし直す必要あり。
- Smalltalk-72、Alto から脱却するために作られたラップトップマシン。16K RAM。「未来…」によるとSmalltalk-76 すら当時のアラン・ケイ博士は気に入らなかった/自分の望んだ方向に進まなかった捨て去るべきものとの認識だったようです。NoteTaker は最後の夢のように描かれていました。
- NoteTakerの写真を見つけました。しかし、Osborne 1がこれを真似たものとは知りませんでした。--abee
- 白黒の写真で見て(Osborne 1 との名前こそ出ませんでしたが何かに)似ているなぁ…とは思っていましたが、ビンゴでしたか(^_^;)。しかし、NoteTaker。これほど鮮明な写真で見ることができるとは思いませんでした。ありがとうございます。--sumim
- 手で探したらたくさん見つかりました(Googleイメージサーチの限界か)。中でもこれはきれい。--abee
疑問、知りたいこと、調べ中のこと
- D-マシンは PARC と SDD のどちらで作られたのか? …… これは Herb Yeary と Charlie Sosinski (両者へのインタビュー)が当時どちらに属していたかをちょっと真面目に調べれば簡単に分かりそう。→一瞬で判明(^_^;)。PARC でした。ですから、D-マシンも PARC で作られていたと。
- ViewPoint の前身は何か? ViewPoint のプロトタイプ時のスクリーンショットが見たい。
誤解を恐れぬ単純化
- Star = Star[ソフト]+Star[ハード]+愛称。
- Star[ハード] = D-マシン(Alto[ハード]の後継)+Star[ソフト]向け仕様変更(マウスボタン数)。
- Star[ソフト] = Tajo[SDD] に BravoX[PARC-CSL] のエッセンス+α(象徴的にはデスクトップメタファーとアイコン、だと思うがまだよく分からないし、ここがかなりデカイと思う→私的理解に於けるミッシングリンク)。Alto[ソフト]の問題点を洗い出し、解決した(先のプラスα)。総じて、SDD。
- ViewPoint = Star[ソフト] の後継、改良版。大幅な内部構造改変。
- Alto = Alto[PARC-LRG]+Alto[PARC-CSL] (後に Alto[ハード]+Mesa[SDD] → Star[ハード]へ)。
- Alto[PARC-LRG] = 暫定 Dynabook = Smalltalk + Alto[ハード]。
- Alto[PARC-CSL] = (BCPL、ちょっと遅れて Mesa[PARC-CLS]とその産物(Bravo 等))+Alto[ハード]。
- Alto[SDD] = Mesa[SDD]+α+Alto[ハード]。後に Alto[ハード] は D-マシンに置き換えられ、Alto[SDD] は Star に。
- Cedar = Mesa[PARC-CSL] の進化したもの。Smalltalk、Interlisp-D の影響を受ける。
- XDE/Tajo = Mesa[SDD] が進化したもの。
- ViewPoint = XDE/Tajo をエンドユーザ向けに拡張したもの(“Star[ソフト] = ”かも)。
- Lisa =
Star[ソフト](デスクトップメタファー、アイコン、タイトルバー、スクロールバー)+ (これは間違い。Lisa は Star には影響を受けていない。Star のそれは独自か Smalltalk チームとのコラボレーション)Smalltalk(オーバーラップウインドウ、メニューセレクション、マウスオペレーション)+α(メニューバーとプルダウンメニュー、ゴミ箱?)。ただしあくまで見た目の問題で、実装方法(内部構造)は、Star[ソフト]、Smalltalk、Lisa すべて異なる。Lisa のオリジナリティの多くは Smalltalk において3ボタンを前提に整理されていたルック&フィールを、途中の2ボタン、ひいてはワンボタン向けに焼き直したこと(タイトルバーへの機能付加、メニューバーの創設)、と、ファイルシステムに依存しない Smalltalk システムが必然的に“欠いていた”機能(具体的には Finder、open/save ダイアログなど)を補ったこと。開発者をエンドユーザー対象から排除し、エンドユーザーからプログラミング環境を隔離したこと。
- Mac = Lisa のサブセット+α。
- Win = ベースは Smalltalk だが、Lisa や Mac からの影響も多い。(だが、すべてが Mac …ということはあり得ない)
ここにコメントを書いていいのかわかりませんが・・・
「未来をつくった人々 ゼロックスパロアルト研究所とコンピュータエイジの黎明」という本を毎日コミュニケーションから去年出して頂いた鴨澤と申します。
これは Michael Hiltzik の "Dealers of Lightning --- XEROX PARC and the Dawn of the Computer Age" の翻訳なんですが、この原書、当時のPARCメンバー、ゼロックスの上層部、外部にあって関わった人々に対し、ロサンゼルス・タイムズの技術記者である著者が数百時間のインタビューを行い、PARC 最初の15年間とその前後の歴史を再構成した物です。
このページに欠けてる情報や理解も(人間関係などでかなり、引用文献などもちょっとは)得られる感じがするので、資料としてもオススメかと思います。もちろん読み物としても。訳もそれなりに読みやすいんぢゃないかと思ってるけど如何でしょうかねえ。アスキーから出てる「インターネットの起源」の PARC 版みたいに考えてくれればイメージが湧きやすいかと・・・にしても、翻訳作業中にこちらのページに当たりたかったなあ。一人でこの関係の資料に当たって廻るのは結構ホネでした。
いやぁ。書き込みどうも恐れ入ります。実は購入はしていたのですが、このページや年表を修正せなばならないところが多く出そうで(^_^;)、それを敬遠してまだ積ん読状態です(ぉぃぉぃ。冗談はさておき、じっくり読みたい…けど時間と心の余裕がないというのが正直なところです。めざとく見つけて私に薦めてくださった abee さんは、購入後一晩で一気に読了されているとのことで、明らかな間違いは把握しておられるが本ページ情報の修正については私の読了を待ってくださっている状態かと思います。ここにも書いたとおり私の興味はもはや、Alto[ソフト]からStar[ソフト]/ViewPoint[ソフト]にかかるミッシングリンクを埋めるところにしぼられたので、そこいらへんを詳しく触れておられるとよいなぁ…と勝手に妄想しております。簡単に各マシンやシステムの系譜を追うのにもこれだけ苦労した(当時の資料、特に'80 年以降に当時を振り返って書かれたものは前後関係がかなりいい加減かつ主観的で食い違いが多数見られます)経験から「未来…」の資料に当たる作業はさぞや大変だったろうことは察するに余りあります。まだ読んでもいないのになんですが、良い本をありがとうございました。--sumim
ネットを彷徨っていたら、「未来をつくった人々」にも当時物議をかもしたと書かれている"SPACEWAR - Fanatic Life and Symbolic Death Among the Computer Bums, Stewart Brand, ROLLING STONE 7 DECEMBER 1972"が見つかりました。これはすごい。--abee
DigiBarn Computer MuseumのコレクションにXEROXのワークステーションが多数(コンテナ2箱分?)紹介されています。特にオリジナルDolphin(D0)のバラシは圧巻。ここは他のドキュメントや写真も多くて、おなか一杯です。--abee
2003/10/14のMYCOM PCWEBに【コラム】シリコンバレー101 第54回 執筆=山下洋一 Alto誕生から30年、道具として未完成の道に迷い込んでいるパソコンという記事が載っています。上記DigiBarn Computer Museumのコレクションと思われるD0とMesaのマニュアルがちょっと写っています。--abee
ALTO研究本の決定版となるか。喜多千草先生の起源のインターネットが2005/6に出版されました。タイトルからは分かりにくいですが、気合入ってます。--abee
ご紹介、ありがとうございます。さっそく入手して ALTO のところを中心に読みました。決定打ですね。「未来…」をコンピュータが分かる人がきちんと補足してくれたような感じです。前書きにもありますが、齟齬の調整作業の結果、とても分かりやすくなっています。読み終えてみて(このページのような過去のものや、わざと Smalltalk システム偏重にして書き散らかしたものを別にして)現在の理解にあまり大きな間違いがないことがわかってほっとしています。 惜しむらくは、図版や映像が欲しいといったところでしょうか。あと、どうしてもレビュー的な著作であるという性格上、事前に主要な参考文献に目を通しているからこそ「そうそう…」と合点がゆくのだろうなというところがあり、そうでない人が本書を読んだときにその脳内で形成されるものと一致しているかどうかについてはちょっと心配なところもあります。いずれにせよ、ALTO を語る際には必読となる本書の登場は、歓迎したいです。--sumim - 2005-06-15, 12:27:00