アウトライナーとプログラミング

Renji Talk Top > Happy Outlining ! > アウトライナー関連翻訳 > アウトライナーとプログラミング

アウトライナーとプログラミング

著者:
原文:
原文公開:
1988年
日本語訳:
日本語訳公開:
2009-01-04
日本語訳更新:
コメント
以下の文章は、デイヴ・ワイナー(Dave Winer)によるエッセイ、Outliners and Programmingの日本語訳です。
文中冒頭にある通り、この文章が書かれたのは1988年、20年も前のことです。自ら興したLiving Videotext社を買収したSymantec社を離れ、新たにUserland Software社を起ち上げようとしていた頃です。最初のアウトライナーとなったThinkTankを生み出し、やがてMOREというヒット作の開発から、会社の身売り、再出発にいたるまでの経緯を、Winer自身の立場から時系列に記しています。アウトライナーに興味のある人は必読です。

※当サイトの翻訳文書に関する注意事項については、翻訳文書についてをごらんください。

この文章は、ぼくらがUserland Software社を立ち上げようとしていた頃、1988年に書いたものだ。ぼくが後にスクリプティング環境の一部へと発展することになるアウトライナーに発展することになる電子掲示板システムを開発しているうちにアウトライニングに関わるようになった(やれやれ!)、そのあたりの経緯を知りたい向きにとっては、おそらく興味深い内容だろうと思う。

High Files

ぼくがアウトライン・プロセッシングとスクリプティングに関わるようになったのは、ウィスコンシン大学の学生だった1970年代の半ばのことだ。そもそもの着想を得たのは、プログラムの階層構造を扱えるエディタを備えたLISP言語システムからだった。同じことがPascal言語でもできないか、試してみたかったのだ。

出来上がったのはソースコードをツリーとして表示・編集できるPDP11上の開発環境だった。このきわめて原始的なアウトライナーは、プログラムの階層レベルを一段階ずつ切り替えて表示することで、全体を見渡すことも、詳細レベルに降りていくこともできた。たとえば、ループ処理が2つあるとして、その順番を入れ替えたいとしよう。そのためには後のループの宣言部分にカーソルを合わせ、上に動かせばいい。テキストを選択する必要もないし、ループ処理の内容を見る必要もない。最初期のこの作品にして、すでに「アウトライン・プロセッサー」と呼ばれるための2つの条件を満たしていた。第一に、表示する情報のレベルをコントロールできること、第二にその情報の持つ構造を意識しながら再構成できることだ。

次のステップは、プログラミング言語抜きで動くアウトライナーをつくることだった。あらゆるタイプの情報を構造的に整理・編集できるようなものだ。1979年の初めにウィスコンシン大学を辞めると、さっそくマディソンの自宅リビングルームに、CP/Mで動作するUCSD Pascalが入ったCromemco Z2Dを据えつけ、仕事に取りかかった。

それはアウトライナーとデータベースを組み合わせたようなプログラムだった。データベースのフィールドには、他の一般的な形式に加えてアウトライン形式の情報を定義することができる。アウトラインはデータベースのインデックスとして機能する。ぼくがこの作品をHigh Filesと名づけたのは、ハイレベルなファイルシステムとして構想したからだ。

VisiText

その年のうちに、ぼくはカリフォルニアに拠点を移していた。目標は、このプログラムをApple Computer社に売りこむこと。ぼくはマジソンでApple IIをみたことがあった。プログラムを動かして遊んでみた後、こう思った。クパチーノ(訳注:カリフォルニアのApple本社所在地)に行って、ソフトウェアというもののつくり方を教えてやろう。連中にはたっぷりと助けが必要だ! それが初期のApple IIから受けた印象だった。

Apple社は興味を持ったが、それはアウトライナーではなくデータベースの方だった。ぼくは24才で、自信満々だった。彼らにとって本当に必要なのはアウトライナーの方なのだと説得しようとしたが、相手にされなかった。それで、当時のシリコンバレーでいちばんホットな会社、Personal Software社の門を叩くことにした。そこではVisiCalkがまさに発表されようとしているところだった。さまざまな意味で、後のパーソナルコンピュータ産業を生み出すきっかけとなった製品だ。彼らはアウトライナーの話を気に入ってくれた。ぼくは開発者として彼らに加わることにして、VisiTextと呼ばれることになる製品の開発契約を結んだ。目標は、マディソンで開発したアウトライン構造エディタに「Visi」シリーズのインターフェイスを付け加えることだった。VisiTextは今でこそ当たり前になっているアウトラインの折り畳み・展開表示機能を備えた最初のアウトライナーだった。ヘッドラインからヘッドラインへと移動するバー型のカーソルがあり、アウトラインを確認しながら再構成するコマンドと、アウトライン構造に沿って検索する機能がある。コマンド・インターフェイスは、Apple II版VisiCalcを模したものだった。つまり、当時としてはとても洒落た感じではあったが、ひどくそっけない、お世辞にも使いやすいとは言えない、ということだ。

ぼくが加わった頃のPersonal Software社には10名の社員がいたが、1981年になるころには100名を超えていた。Mitch Kapor、Dan Bricklin、Bob Frankston、Dan Fylstra、Ed Esberといったクールな人々がいたし、幾人かのあまりクールでない人々もいた。Personal Software社はパーソナルコンピューター・ソフトウエア企業として最初期の会社であり、数々の過ちに関しても業界の先頭を切ることになった。1981年、VisiTextをまさに出荷しようというところで、新しい経営陣はこの製品を市場に投入しないことを決定した。その年の末には、ぼくは再び独りになっていた。懐には、Personal Software社との和解交渉で得たお金がたっぷり入っていた。

LBBS

すぐにVisiTextの販売を始めるかわりに、ぼくはしばらくの間遊んで暮らすことにした。1982年にはアウトライナーをオンライン・システムとして機能させるブログラムを書いた。Living Bulletin Board System、略してLBBSと名づけられたこのプログラムは、複数のユーザーがツリー状にメッセージをリンクできるというものだった。LBBSはCorvus社の10MBハードディスクと300bpsのHayesモデムをつないだApple IIで動作した。LBBSのツリー構造は、メッセージスレッドの構造を表している。例えばあなたの書き込みに対してぼくが返信したとしよう。すると、ぼくの返信はあなたの書き込みの下の最初の「子メッセージ」として、1段字下げされた状態でぶら下がる。ぼくの返信に対するそのまた返信は、今度はぼくの書き込みの下に字下げされて表示される。これが、LBBSが扱える階層レベルの制限——32767レベル——まで繰り返される。メッセージスレッドの実装として、これ以上にセクシーなやつをぼくはいまだに目にしたことがない。

とは言え、この仕組みには問題があった。メッセージの入れ子が深くなっていけばいくほど、新しい書き込みを見つけ出すことが困難になっていくのだ。人々がログオンしてメッセージを書き込むにつれて——ほとんどの場合それは核戦争、ダグラス・アダムスの著作、それにシステムそれ自体に関する内容だったが——データベースはぐちゃぐちゃになり、まっさらにして再スタートするまでまともに使えなくなってしまうのだった。

解決策として、ユーザーが時系列でもメッセージを読めるような仕組みを追加し、並行して動作するようにした。ユーザーごとにブックマークを保存しておいて、システムを利用するたびに、前回のログオン以降に届いた新規メッセージに自動的にジャンプするのだ。この仕組みをメッセージ・スキャナと名づけた。こうしてメッセージを読み進めながら、好きなときにツリー表示画面にスイッチして、返信を読んだりツリーをたどって元メッセージを参照したりすることができる。もちろん、メッセージ・スキャナに戻ることもいつでもできる。この二重構造のアウトライナーは最高だった。

LBBSの作業はとても興味深いものだった。ぼくの机の上にはモニターが2台あった。ひとつは開発用マシン(Apple III)に、もうひとつはLBBS用マシン(Apple II)につながっていた。気分が乗ると、LBBSマシンを立ち上げてユーザーがメッセージを読んだり書き込んだりブラウジングしたりする様子を観察した。あと、迷子になっている様子も。

3分間カーソルが止まったまま動かないユーザーに、その理由を確かめたいと思うこともあった。迷子になってるのだろうか。それとも知り合いが訪ねてきたのだろうか。あるいはおやつを食べているのだろうか。しかし、やがて問題点は明らかになり、ぼくはデータベースをまっさらに再構築するか、ソフトウエアを修正するかして、解決を試みるのだ。

新しい社名Living VideotextはLBBSからとった。ビデオテキストというのは、当時の業界でのコンピューター通信分野における最先端流行語だった。ぼくは当時から、コンピューターの最大の意義は人々のコミュニケーションを助け、より良いものにしてくれることだと考えていた。今でもそう考えている。

1982年が終わる頃には手持ち資金も底をつきかけてきたので、新しいインターフェイスやデータ構造で遊ぶかわりに、ソフトウェアの販売について真剣に考え始めた。1983年のはじめに事業をスタートしたとき、Living Videotext社には、ソフトウェア業界でのビジネスを理解している人間など1人もいなかった。あったものといえば額面5,000ドルに満たない銀行口座、Apple IIのマニュアル、Apple IIのマスターディスク2枚。まずアウトライナーThinkTankを発売する。Personal Software社から取り戻したアウトライナーのことだ。それで成功を収めた後、続いてオンライン・システムTank Central——名前を変えたLBBS——を投入する。それが計画だった。

ThinkTank

Living Videotextに成功を期待する方が無理な話だった。ぼくらの選んだプラットフォームは間違っていた(AppleIIだ)。しかも、製品は一風変わっていた。投資家からの資金調達もかなわなかった(今なら理由はわかる。投資家という人種は、彼らの助けなしでも成功間違いない話にしか乗らないのだ)。だから、医者とか弁護士とか起業家とか不動産業者とかいった人々から資金を集めることができたのは、初期の好意的な紹介記事やレビューのおかげだった。1984年にはぼくらはIBM PC互換機向け製品と、10人ばかりのスタッフを抱えていた。繁盛しているとまでは言えなかったが、それでも資金繰りはなんとかなっていたし、トレードショーにも出品していた。看板を下ろさずに済む程度の販売実績もあった。

1983年の7月、ぼくはGuy Kawasakiという、南カリフォルニアの小さなソフト会社でマーケティング担当をしていた男に出会った。Living Videotextで働かないかと誘ったのだが、GuyはMacintosh開発チームの一員としてApple Computerに入社してしまった。2週間後Guyは電話をかけてきて、デモを見にこないかと言った。

Macintoshを初めて目にしたときのことを、ぼくは決して忘れないだろう——これこそぼくらのためのマシンだと直感した。ぼくのアウトライナーは、アーティストのための道具としての評価を高めつつあった。それが、このマシンに魅かれるであろう人々と同じタイプの人々だということはわかっていた。Macintoshは創造性にあふれる人々を刺激する。ぼくらのソフトはその創造性を形にするのだ。Macintosh版ThinkTankを開発するか否かということはもはや問題ではなかった。問題はどのようにして開発するかということだった。ぼくはPC互換機向け製品の開発と、複雑化する一方の会社運営とマスコミや顧客への対応で忙殺されていた。そこで9月にボストンでコンサルタント兼請負の開発者として働いていた弟のPeter Winerを、Macintosh版ThinkTank開発のために雇うことにした。

Peterとぼくはブレーンストーミングを重ねた。この新種のコンピューターのためのアウトライナーはどのようなユーザーインターフェイスを備えているべきか。Peterはアイデアを形にするため、昼夜ぶっ通しで作業に取り組み、その成果がMacintosh用のビジネスアプリケーションとしては最初のもののひとつ——ThinkTank128として発売されたのは1984年6月だった。ThinkTank 128の当初の売れ行きは驚くべきものだった。しかし、Macintosh自体の発売当初の売り上げが落ち込むにつれて尻すぼみになってしまった。運のいいことにIBM互換機向け製品の売り上げは順調に伸び続けていた。そのおかげで、Macintosh向け製品だけを販売していた同業者たちが次々と廃業に追い込まれる間、持ちこたえることができたのだ。

1984年末、ThinkTank 512を発売。またしてもPeterの英雄的奮闘のおかげだった。既にMacintosh版製品開発を助けるためにDoug Baronを迎え入れていた。ぼくらはThinkTank 512を発売するとすぐに新たな製品に取り組みはじめた。これが後のMOREとなる。

Macの世界にとって1985年は厳しい年だった。Appleは既に死んでおり、MacintoshはAppleを支えきれず、Apple IIは時代遅れだ、ということで業界一般の見方は一致していた。レイオフが行われ、次いでSteve Jobsが去った後には良き時代の到来を約束する会長John Scullyが残ったが、彼を信じた開発者は多くなかった。

Living Videotext社としてもScullyを信じていたわけでは必ずしもなかったが、自分たちのMacintosh用製品のことは信じていた。開発者のほとんどがMac製品の開発を縮小する中で、ぼくらはMacへの投資を続けた。そして1986年のはじめ、Appleは初期製品の深刻な問題点のほとんどを解消したMacintosh Plusを発売し、それは爆発的ヒットとなった! 波を逃すまいと、ぼくらは次世代のグラフィック機能付きアウトライナーの出荷計画を練った。

MORE

ぼくらはあらゆるプラットフォーム向けの手持ち製品の中からアウトライン・プロセッシングを強化するための機能をかき集めた。PC向け製品からは、アウトライン上で計算を行なう機能のコードを引っ張り出した。Peterが取り組んでいた組織図作成プログラムは、MOREのツリーチャート機能へと進化した。PeterはThinkTank 512についていたスライドショー機能の強化版も取り込んだ。カレンダー生成機能と自動ダイヤル機能も付け加えた。ぼくはDoug Baronに「hoist(巻き上げ)」機能と「クローン」機能を説明した(いつものことではあるが、Dougはぼくの要求を確実に一段上回る仕事をしてくれた——クローン機能の実装は見事としか言いようのないものだった)。

Appleに出向いてGuy KawasakiとAlain RossmanにMOREの初期バージョンのデモをしたとき、面白いことが起こった。Guyが「Bullet Chart(箇条書きチャート)」機能のアイデアを思いついたのだ。進化したスライドショー機能について説明しているときだった。それは印刷できるのかと彼は訊いた。ぼくらは印刷してみせた。Guyは廊下の向こうにあるLasor Writerのところからプリントアウトを持って帰ってくるなり、テキスト全体を四角い枠で囲み、ひとつひとつのヘッドラインの頭に黒丸を描いてみせた。これができたら、Appleの誰もがこいつを使うだろうな、と彼は言った。

そのアイデアをそのままいただくことにした。次の2週間、PeterとぼくはMORE1.0の「Bullet Chart」となる機能の設計に没頭した。

Bullet Chartは、ぼくらにとってもユーザーにとっても素晴らしい成果だった。多くの人がThinkTankをプレゼンテーションの準備に使っていることは、ユーザー登録カードのアンケートからすでにわかっていた。もう一歩進めて、アウトラインをプレゼンテーション資料の形式でそのままプリントアウトできるようにすればいいというのは、考えてみれば当然のことだった。

いわゆるグラフィック系のプログラムに対してぼくが常々感じていたのは、ページレイアウトソフトにしてもドローソフトにしてもペイントソフトにしても、考えを練り、それを言葉にすることを仕事にしている人間にとっては原始的すぎるということだった。MOREでは、グラフィック作成のプロセスは自動化されている。プレゼンテーション資料をピクセル単位で微調整することはできないけれども、それはよくあるトレードオフといえるだろう。そのかわり、MOREではアウトラインを打ち込めば、クリックひとつで整然としたチャートができあがる。MOREが強力な製品となったのは、このインスタントなグラフィック作成が極めて有用だったからだ。

1986年6月のMORE1.0の発売は、Living Videotext社にとって唯一、真のホームランと呼べるものだった。今でもMOREは完璧な製品だったと思っている。1986年当時、アウトライン・プロセッシングというまだ海のものとも山のものともつかなかった分野を、ビジネス・アプリケーションへと生まれ変わらせたのだ。UserLand Software社が運に恵まれるならば、その最初のエンドユーザー向け製品はMOREと同じくらいタイムリーに登場し、市場で比較するもののない存在になるばすだ。

1986年が終わる頃には、ぼくらはMOREの成功を受けて、他社製品の買収を目指していた。ぼくが特に興味を持っていたのは通信ソフト、特にTHINK Technologies社のInBox、 Internet社のInterMail、DaVinci EMAILなどだった。こうした企業の技術者たちが、開発中のMOREの最新バージョンを統合データ構造として使いながら、一同に介して仕事に取り組めるようにする。それがぼくの夢だった。目標は80年代初期に、LBBSの開発を通じて得た経験を全て注ぎ込んだ、MOREのLANバージョンを生みだすことだった。

そのための準備として、ぼくはMOREを核にしたメール整理プログラムの試作品をいくつか作った。Doug BaronにはMOREをディスクベースのプログラムに書き換えてもらった(MORE1.1cに至るまで、ぼくらのMacintosh版製品は全てメモリーベースだった)。

1987年の春、ぼくらが通信分野のビジネスに参入する準備を進めていたとき、MacintoshはPCソフト業界におけるひとつの事件になっていた。買収するに値する製品は少なく、Living Videotext社のような売れる状況にある企業に対する需要は高まっていた。ぼくは葛藤した。一方でぼくはジェットコースターのようなLiving Videotextでの生活に心底疲れ切っていた。私生活は崩壊し、身体には贅肉がつき不健康そのものだった。それでもぼくはMOREをベースに生みだすことができるかもしれないテクノロジーに、心の底から魅せられていた。

身売り

取締役会の面々がどれほど疲れているか、ぼくは理解していなかった。買収のオファーが入り始めたとき、彼らはとても興奮した。それが成り行きを決めた。会社をコントロールするのに充分なだけの株を保有してはいたものの、ぼくは彼らの提案を受け入れることに決めた。1987年の夏、ぼくらはSymantec社との交渉に入り、9月には合併した。

ぼくはSymantec社のミッションを本当に信じていたし、今でも信じている。ソフトウエア会社は、その運営に関わる組織——セールス、サポート、管理、製造、そしてマーケティングの一部——を製品サイドから分離することにより、多くのものを得ることができる。しかし、Breakthrough Software社、Living Videotext社、THINK Technologies社、そして元々のSymantec社のような多様な企業を統合するのははるかに困難なことだった。互いの相違点を乗り越え、問題点を解決していくにはあまりに多くの個性とエゴがあり、あまりに多くの燃えつき症候群に冒された人々がいた。無力感とともにを半年を過ごした後、ぼくは一息ついて身体を引き締め直し、新しいソフトウエアについて考えるためにSymantecを辞職することにした。それでも、Symantec社を今日のような強力なソフトウエア会社にする過程でのGordon Eubanksの努力をぼくは高く評価している。ぼくは彼らの製品を使い続けているし、株主でもある続けている。

UserLand

1988年末までに、再出発の準備は整った。一ヶ月間スキーをして過ごし、体重は80ポンド落ち、体型も大学を出て以来最高の状態に戻した。ぼくは新たな商品、そして新たな会社のアイデアを温めはじめていた。ぼく自身を代表・単独株主、ぼくの顧問弁護士であるJack Russoを秘書として、1988年11月、Userland Software社は設立された。