Xerox Star

Xerox Star（ゼロックス・スター）またはStarワークステーション（スター・ワークステーション）は、1981年にゼロックスが発売したワークステーション。正式な型名は8010 Star Information System。この機器は、今日のパーソナルコンピュータで標準となっている様々な技術を統合した最初の商用システムである。例えば、ビットマップディスプレイ、ウィンドウに基づいたグラフィカルユーザインターフェース、アイコン、フォルダ、マウス、イーサネットネットワークシステム、ファイルサーバ、プリントサーバ、電子メールといった技術が用いられていた。

背景

ゼロックスは商用レベルの新技術開発を目的とした内部シンクタンクとして、1970年にパロアルト研究所 (PARC) を作った。

Alto

PARC内部では様々なグループがそれぞれ異なったデジタル技術の研究を行なっていた。それらの実践の場として、当時としては小型のコンピュータ Alto（アルト）が開発され、Xerox内部とごく少数の大学で利用されるようになった。Altoは、わずか3ヶ月程度で、しかも、寄せ集め的パーツにより作られてはいたが、当時としては珍しい、ビットマップディスプレイ、NLSで使われたポインティングデバイスとしてのマウスを標準で装備し、イーサネットによるネットワーク機構などの先進的なスペックを有していた。
初の本格的グラフィカルユーザインタフェース (GUI) ベースのオペレーティングシステム (OS) を有するコンピュータとして注目されるAltoだが、実際に「AltoのGUI」の紹介と称して用いられる映像には、WYSIWYGなオフィスシステムや高度なマルチウインドウシステムのようなものが現われたかと思えば、次のカットでは子供が作ったような稚拙なお絵描きツールやアーケードゲームの画面が登場したり、ときにはコマンドラインによる操作が映されたりと評判と一致せず混乱させられることが多い。これはAltoにはGUIベースOSに相当するマルチウインドウ環境がひとつではなく（Smalltalk、LispベースのInterlisp-D、Starシステムから派生したMesaベースのCedar、比較的後期に統合されたAltoオフィス向けシステムなど、それぞれが独自の見た目や操作体系を有する）、さらにそれらとは別に独立して動作する多数のGUIベースのスタンドアローンアプリ（ワードプロセッサのBravoやBravoX、電子メールソフトのLaurelやHardy、ドロー系のDrawやSil、ペイント系のMarkupなど）が時期を前後して研究開発されていたことに起因する。これらのGUI OSやスタンドアローンのGUIアプリの映像に加え、その切り替えに用いられた「Alto Executive」と呼ばれるDOSライクなCUIソフトの映像が何の説明も脈絡も無しにつなぎ合わされた結果、それを見る人に無用な混乱を生じさせてしまっている。
特に、GUIの歴史という文脈でAltoが取りざたされる際に暗黙のうちに念頭に置かれるのは、アラン・ケイが構想したいわゆる「Dynabook」の暫定実装としてAltoを動作させた状態（つまり、SmalltalkをOSとして用いることで「暫定Dynabook」として機能しているAlto）を指していることが多い。オーバーラップするマルチウインドウ、マウスを使ったメニューの活用、選択→命令という指示手順、コピー&ペースト、アイコンを用いた切り替えボタン、マルチスタイルフォントなど、現在のパーソナルコンピュータでお馴染みの機能や操作スタイルのほとんどは、Starの開発が始まる1977年頃までにはすでに、このシステムで完成されていた。ケイらはもちろん、この暫定Dynabookを 「パーソナルコンピュータ」として安価に販売することを希望していたが、Starの完成を待って、付加価値を高めた「ワークステーション」をビジネス市場へ投入したいXeroxの上層部により彼らの要求は退けられたため、結局Altoが製品化されることはなかった（しかし、そのハードウエア技術の多くは、後にStarに転用され日の目をみることになる）。

Star

StarはPARCで開発されたものではない。1977年、ドン・マッサロ (Don Massaro)を中心としたPARCの技術者たちは、200人を越す技術者集団にふくれあがっていたカリフォルニア州パロアルトの研究所を離れ、カリフォルニア州エルセグンドでSystems Development Department (SDD)を創設した。彼らは、Altoのよい所だけを継承した新しいシステムを開発し、簡単に使えて様々な事務作業の自動化に役立つものを作ろうとした。デビッド・リドル (David Liddle) をリーダーとする開発陣は「未来のオフィス」を合い言葉にした。
当時、コンピュータの世界は高価なメインフレームやミニコンピュータが主流で、ダム端末で時分割された中央演算装置を使うというものであった。他方、パーソナルコンピュータはまだ単純なものでごく限られた処理能力しか持ち合わせておらず、他システムと通信し合う能力を持っていなかった。ゼロックスはこの間にニッチ市場を見つけ、分散処理コンピューティング、ファイルや周辺機器を共有するスマートなワークステーションといった構想を立てた。

ユーザインタフェース

開発作業の多くの時間は打合わせと企画立案に費やされ、分厚く詳細な機能設計書 Red Book が作成された。この本は開発のすべての段階において聖書のように扱われることとなる。すべてのモジュールと機能は、この設計書によってインタフェースが定義され、整合性を保つようになっている。機能の仕様変更は監査チームによって承認を受けなければいけないため、設計基準が厳格に守られた。
このユーザインタフェースの基本原理は、ユーザが直感的に理解できるように現実の事務所内の事物を擬態することにある。つまり、WYSIWYGであることが最も重要であるとする。文書は実際の印刷物のように白い背景の上に黒い文字で描かれる。また、PARCが開発したページ記述言語Interpressを使って、プリンターはディスプレイの「複写」をとることができる。
ユーザは文書やフォルダなどが置いてあるデスクトップを目にする。そこには文書の種類毎に異なったアイコンが表示されている。アイコンをクリックするとウィンドウが開く。このとき、ユーザはプログラム（テキストエディタや描画プログラムや表計算ソフトなど）の起動を明示的に指示しない。文書を開くだけで必要なプログラムが動くのである。
Starのユーザインタフェースはオブジェクト指向に基づいている。例えば、ワードプロセッサ用の文書であれば、「ページ」というオブジェクト、「節」というオブジェクト、「段落」というオブジェクト、「単語」というオブジェクトそして「文字」というオブジェクトが存在する。ユーザがあるオブジェクトをクリックで選択すると、キーボードにある規格化された機能、例えば「開く」「消す」「複写」「移動」といった機能を呼び出すことができる。また、「属性を見る」というキーを使って、選択した任意のオブジェクトの設定状況を「属性シート」上で確認することができる。（例えば、文字のオブジェクトならフォントの大きさなど。）この考え方により、全てのプログラムでメニューの構成が飛躍的に簡単になった。
Starではシステム設計の最初の段階から、オブジェクトの融合について考慮されていた。例えば、グラフ作成モジュールが作ったチャートオブジェクトは、どんな種類の文書の中に埋め込んでもよかった。比較として、マイクロソフトのWindowsではこのようなことはOLEが導入された1990年（9年後）まで実現されなかった。

開発プロセス

パロアルトのあるグループは、ハードウェアとプログラムツールを結ぶOSの基礎研究を行なっていた。エルセグンドのチームは彼らと協力してユーザインタフェースとユーザアプリケーションの開発を進めていった。
彼らの作業は、彼ら自身が研究開発していたファイル共有システム、プリントサーバ、電子メールといった技術に強く依存する形で進められた。ARPANET（インターネットの原形）への接続も持っており、これを通してエルセグンドとパロアルト間の打合わせが行なわれていた。
Starはプログラミング言語Mesaを用いて作られた。この言語はModula-2及びModula-3に大きな影響をあたえたものである。Mesa自身はオブジェクト指向言語ではないが、各種プログラミングツールとプログラミング技法は擬似的なオブジェクト指向設計とオブジェクト指向プログラミング環境を提供していた。
Mesaでのプログラミングにはモジュール毎に2つのファイルを用意する必要があった。一つは各オブジェクトのデータ構造定義と手続き宣言をする定義部で、もう一つは各手続きの処理コードが記述される部分である。
Starの開発チームは洗練された統合開発環境Tajo（外部からは "Xerox Development Environment XDE" と呼ばれていた）を使っていた。TajoはSmalltalk-80の環境に似た点を多く持つが、それ以上のツールを持っていた。例えば、"DF" というバージョン管理システムがあり、プログラマはモジュールに変更を加える前にチェックアウト作業を行なわなければいけないようになっていた。依存関係にあるモジュールの変更を要するような変更点はきっちりと追跡管理され、文書化された。そして低レベルのモジュールの変更は、多くのレベルの認証を受けなければならなかった。
開発チームは精力的に作業を進めていった。そして数多くのプロトタイプ作成とテスト作業をこなさなければいけなかった。PARCの研究環境にあったネットワークプロトコルやデータエンコード方式が能力不足だと感じれば、彼らはそれを新たに作り直していった。
当初、Altoだけが開発に使える機器であった。それはこのソフトウェアの過酷な負荷に耐えるだけの十分な能力を持っていなかった。最後の段階までハードウェア構成の見直しが行なわれ、プロセッサですら能力不足であると判断されれば見直された。多くのソフトウェアは再設計され、書き直され、ユーザのテストの結果や市場の条件、システムの都合に基づいて改良がなされた。
最終的には、Starの機能仕様書には記述されたものの未実装になっている機能がたくさんあったが、市場に送り出されることになった。出荷直前の数ヶ月は信頼性とパフォーマンスのテストに費やされた。

ハードウェア

当初、StarのソフトウェアはハードウェアプラットフォームDolphin上で開発された。しかし、ソフトウェアがあまりに複雑であったためにしばしばその能力限界を超えてしまうことが起こった。Star開発のある時期においては、システムのリブートに1時間半もかかっていたこともあった。
結果的に、最初の商用化の際のStarワークステーションのハードウェアは、バトラー・ランプソンの論文に基づくWildflowerアーキテクチャに沿って作られたマシン Dandelion（Dlion と省略されることもある）となった。ビットスライス方式のAMD Am2900を基にマイクロプログラム方式で作られたそのCPUは、プログラミング言語Mesaの仮想機械として動作した。より多くのマイクロコード領域を有する強化版のDandelionは "Dandetiger" と名付けられた。
384KBの主記憶装置（1.5MBまで拡張可能）と、10MB、29MBないしは40MBのハードディスクドライブ、8インチフロッピーディスクドライブ、マウス、イーサネット接続端子を持っていた。17インチCRTディスプレイ（白黒）は当時の標準的なものよりも大きかった。これは8.5インチ×11インチ用紙2枚が横に並ぶところを実寸で表示できるために必要な大きさである。ディスプレイの解像度は75dpiで、1ポイントを1ドットで表示することで、ほぼ原寸大のイメージを表示した。(1ポイントは、1/72 inch。)

Starの市場性

Xerox Starは、本来は独立して使われるコンピュータとして設計されたものではなく、ゼロックスの「パーソナル・オフィス・システム」や他のワークステーション、ネットワークサービス機器にイーサネットを介して接続されることを前提として設計された。
1台だけでも16,000ドルという販売価格であったが、普通の事務所では2-3台の機器とファイルサーバ・プリントサーバを用意しなければいけないため、システム全体の価格は50,000ドルから100,000ドルという価格になる。これは販売の大きな障害になった。
後にStarは改良され、単体の装置とレーザープリンターを購入するだけで使えるようになった。しかしXerox Starは25,000台が売れたに留まったため、商業的には失敗だったといわれている。
Starは時代の先を行き過ぎていたのだという声も聞かれた。小さな開発者集団の他にはごく少数の人にしかその高い能力が理解されなかったのである。Starが市場に投入された年というのは、IBMはIBM PCにごく基本的なOSであるPC-DOSを搭載して販売していた年であることに注意してもらいたい。また、Starの2年後にアップルコンピュータにより市場に投入されたLisaも結局、商業的に失敗したが、これもStarと同じような理由だと言われている。
他方では、Starが成功できなかった理由はゼロックスの体制に問題があったからだと指摘する声もある。ゼロックスは長年にわたり複写機のメーカーとしてその地位を築いていた。サイエンティフィック・データ・システムズの獲得に伴う解雇騒ぎで彼らは既に失敗を犯していた。ゼロックスの収入の大部分をまかなっていた旧来からのコピー機の部門は、新規部門に嫉妬心を持っていたと言われている。彼らの商売努力は、半分しか理解されないか全然注目されなかった。加えて、オフィス機器の販売部門の主要な責任者たちは、50万ドルにも及ぶレーザープリンターの賃貸契約料を獲得していた。そこには「分散処理化」が入り込む余地がなかったのである。
おそらく最も重要である点は、ゼロックスの企画戦略担当者たち (Xerox Systems Group : XSG) は、アポロコンピュータやシンボリックスなどのワークステーションメーカーと対等に戦える力が無いと判断したということであろう。「ゼロックス」という名前は大きな財産ではあったが、直接顧客には結びついていなかったのである。
さらに、今日の標準的なものと較べると、このソフトウェアはあの時代の限定されたハードウェアに載せるにはあまりにも重すぎて、動作が遅すぎたのである。特にファイルシステムの設計のまずさによる影響が大きかった。大きめのファイルを保存するのには数分を要した。障害時には1時間近くもかかる「ゴミ掃除 (scavenging)」が始まり、「7511」という診断コードが画面右上に表示され続けた。このシステムがいかに洗練されたものであったにしても、この時間はしばしば堪え難いものであった。
ゼロックスの名にかけて、彼らは売上を伸ばすための様々なことを試みた。Starを改版する際には、より効率的な他のハードウェアプラットフォームに乗り換えをし、性能向上のための大幅なプログラム書き換えを行なった。新しいシステム Viewpoint 6085 は1985年に発売された。このハードウェアは1–4MBの主記憶装置を持ち、10–80MBのハードディスクドライブを持っていた。また、15インチか19インチのディスプレイ、5.25インチフロッピーディスクドライブ、マウス、イーサネット接続端子を持ち、価格は6000ドル強であった。
Viewpointはレーザープリンターさえあれば単独の機器として販売することができるようになった。Intel 8086用拡張基板を用いてPC/AT互換機モードが提供された。StarシステムのファイルをPC/AT用ソフトウェアに引き渡すことが可能になったのである。
かなりの価格低下を実現したにもかかわらず、2000ドル以下で売られているパーソナルコンピュータの世界では、この機器はまるでロールス・ロイスのようなものであった。
1989年にはDTP向けの多くの新しいアプリケーションを搭載したViewpoint 2.0が市場投入された。しかし結果としては、ゼロックスはViewpointで実現したハードウェアとソフトウェアを融合した形でのワークステーションというものを捨てることになった。ゼロックスはPC/AT互換機用ソフトウェア GlobalView を発売し、そこでStarのインタフェースと技術を実現することになったのである。GlobalViewの最初の版ではMESA CPU拡張基板を取り付ける必要があったが、1996年に発表された最終版 (2.1)ではWindows 3.1、Windows 95、Windows 98上でエミュレーションにより動作するようになった。

Starの遺産と誤解

他方で、Starはかくも先進的であったがゆえに、その影響力を過大評価する誤解もはびこっている。たとえば、アップルコンピュータのスティーブ・ジョブズはゼロックスのPARCを訪問してAltoを見てからLisaと後のMacintoshにGUIとマウスを持たせることを決めたとされていることと、Altoが後にStarのハードウエアに技術転用された事実を組み合わせて、XeroxのStarがアップルのその後のGUIに影響を与えたとされることがある。しかし、これは正しい話ではない。スティーブ・ジョブズが目にしたのは当時、暫定的ダイナブック環境として開発中だったSmalltalkシステムであり、PARCを見学したジョブズたちが別部門で、しかも極秘裏に開発中のStarのデモンストレーションを受け、さらにそこからインスピレーションを受けることなどとうていあり得ないことである。
実際、Lisa試作機においては、Star発表の前年の1980年には、SmalltalkのGUIから多くの特徴を吸収し、さらにマウスのワンボタン化（Altoのは3ボタン）と、その際に削除したボタンの機能を割り振るため、プルダウンメニューやメニューバーの発明（第二ボタンの機能）や、ウインドウやタイトルバーへの機能の組み込み（第三ボタンの機能）といった、独自のアレンジを終えていた（この状況の推移は、1980年の月単位で参考文献に詳しい）。Lisaの開発チームのメンバーは、翌年の全米コンピュータ会議 (National Computer Conference: NCC '81) で初めてStarを目にするまで、Starのことを知るよしもなかったと後に述べている。さらに、発表当初Starは、ウインドウもタイル表示スタイルでオーバーラップ表示ではなかったことや、マウスボタンの使用法、テキスト編集方法や編集用メニューコマンドの構成など、多くの点でLisaや、それが手本にしたSmalltalk GUIとは様式が大きく異なっていた。このような状況証拠からも、StarがLisa、ひいてはその後継者であるMacintoshやWindowsなどに多大な影響を及ぼしたとは考えにくい。
しかし、Lisaより先行して発表されたStarのユーザーインターフェイスからの、Apple製品への影響が皆無ともいいきれない。たとえば、Smalltalkシステムはプロセス毎に1ないし数個のウィンドウを持つが、これらのウィンドウは最小化（アイコン化）して名前だけの四角形にすることはできても、デスクトップ上にデータ（フォルダや文書）やサービス（印刷、電子メールなど）がアイコン化されて置かれるということは無い。こうしたアイコンベースのデスクトップマネージャ機能はStarオリジナルのもので、この点に限ってはアップルの開発者も、前述のNCCで見たStarからヒントを得て完成間近のLisaに新たに組み込んだものであることを認める発言をしている。