Hatena::ブログ(Diary)

ザリガニが見ていた...。 このページをアンテナに追加 RSSフィード

2011-10-18

iMacが始まりだった

何でもいいから、何か書いて、残しておくべきだと思った。まとまりがないけど。

  • そもそも、Macが存在しなかったら、今このブログを書いていたかどうかも分からない。
  • 人生においては常にそうなのかもしれないが、あの時、あの瞬間に、何かに出会っていなかったら、きっと今の状況はなかったのではないかと、そう思うことがよくある。
  • あの時、偶然にもiMacを買っていなかったら、VAIOがすんなり購入できていたら、今頃はどうしていたのか?
  • 現在も続く貴重な友人関係も、あの時iMacを購入したからこそ続いている、そんな状況もある。
  • 仕事をしていく上でも、本質を追究したソフトウェア作りの知識が広い意味で役立っていた。
  • 本質を追究する心は、このブログのポリシーにもなっている。

思い出

初めて購入したパソコンがブルーベリーのiMacだった。なぜiMacだったかというと、お金の問題だった。当初、生存給付金の25万を元手にVAIO(ソニー)を買おうとしていたが、欲しいモデルはことごとく売り切れ。(その当時、VAIOは相当人気があったのだ)仕方なく、パソコンなしの生活を続けていた。ところが、お金というものは水物である。VAIOの次期モデルが出た頃に、いざ購入しようと再び手元を確認してみると、無情にも15万しか残っていなかった...。10万はどこへ消えたのだろう?謎である。

ただ、現実は直視しなければならない。15万しかないのだ。選択肢は15万で買えるパソコンにするか、このままパソコンなしの生活を続けるか、である。そんな時、同僚に勧められたのがiMacだった。売場に行くと、カラフルな5色の色で展示されていた。マウスはまん丸だった。FD(フロッピー)ドライブもなかった。以前からiMacのことは知っていたが、こんなお子ちゃまパソコン誰が買うか、と思っていた。

しかし、その同僚曰く、マックを絶賛する。そして、手元には15万しかない。もはやパソコン買うならiMacしかないという状況。このままパソコンなしの生活は、時代に取り残されそうで嫌だった。買うと決めた。

自分:「iMacください。」

店員:「何色にしますか?」

何だかパソコン買っているはずなのに、これじゃ服を買うときの会話だなと思いつつ、

自分:「青にします。」

こうして、パソコンのある生活が始まったのである。

さっそく、iMacを起動してみた。電源を入れると「ジャーン」と音がして、起動が始まる。暫くして、次々とアイコンが表示される。そうして起動が完了するも、デスクトップは異常にシンプル。ハードディスクとゴミ箱他、数個のアイコンしか表示されていない...。これから自分は一体どうすれば良いのだろう?そんな途方もない不安を感じた。お店で見たVAIOをはじめとした他のWindowsパソコン(デスクトップにはたくさんのアプリのアイコンがあって華やか)とは対照的である。こ、これは、失敗してしまったかな?とその時は正直思った。(今思えば、デスクトップはシンプルな方が良いのに)

しかし、それから3日間、寝る間を惜しんでiMacの前に座る自分がいた。デスクトップがシンプルということは、逆に最初にできることは限られてくる。

  • デスクトップにはMacintosh HDとゴミ箱、メール、ブラウザ、ユーザー登録。
  • メニューには七色のリンゴとファイル、編集、表示、特別、ヘルプ。

最初にクリックできる場所は、10箇所程しかないのだ。だから次々と、クリックできるとところから操作していくしかない。そうやって、どんどん開いていく。iMacのデスクトップ探検が始まった。

デスクトップのシンプルさとは裏腹に、そこから辿れる世界は、とても深く、興味深いものだった。マウス操作に伴う操作音にも心地良さを感じて、操作するほどにその先には何があるのか、知りたくなって、どんどん深みにハマっていった。

当初*1、DOSシェルとか、Windowsのファイルマネージャーに相当するものはないのかとか、レジストリーの設定はどうするのか、バックアップソフトは何を使えば良いのかなど、次々と疑問が浮かんできた。それをiMacをお勧めした同僚に聞くと、笑いながら教えてくれる。「全部アップルメニューやFinderからマウス操作で出来るよ。」

全くそのとおりだった。iMacに関するすべての設定はGUIから操作して設定可能だった。コマンドを操作する必要性は全くなかった。Finderをリスト表示にすれば、ファイルマネージャーに似た表示にもなる。そもそも、アイコン表示であろうが、リスト表示であろうが、ファイルにアクセスできれば問題ないのだ。*2普段は見えないリソースファイルさえも、ResEditを使えばアイコン表示で中身を編集できた。バックアップは、デスクトップのMacintosh HDを外付けのメディアにドラッグ&ドロップするだけだった。

すべてが、グラフィカルなインターフェースの世界だった。何もかも。その徹底ぶりが素晴らしいと思った。また、その操作感には画面の中のものを触っている感触が、確かにある。マウスの動き一つとっても、iMacには加速性能が加味されていた。マウスを手元で一定距離動かしたとしても、素早く動かした時と、ゆっくり動かした時では、ポインタの移動量が違うのである。今では一般的になったマウスの加速性能も当時はまだApple系のマシンでしか実現されていなかったのだ。ウィンドウやボタンの角が丸いのもiMacだけだった。*3些細なことかもしれないが、たぶん誰かのこだわりだと思う。そのような微妙な蓄積が、全体としてのiMacの操作感を演出していた。

そのようなことを知れば知るほどに、iMacについての興味が深まっていった。一体これは、どんな人が設計して、作ったものなのだろうと。iMac以前のマシンはどのようなものだったのだろうと。Macに関する書籍をむさぼり読んだ。奇遇にも転職した会社の向かいはMacの中古ショップだった。昼休みは中古ショップに入り浸って、極上の出物を見つけると購入してワクワクした。

古いMacのことを調べると、さらにマックへの興味は深まった。面白いことに、古いMacを触ったり、付属のソフトを操作することは、iMac以上にドキドキ、ワクワクした。処理スピードは確かに遅い。しかし、操作感はそれほど悪くない。もう少しキビキビ動けば、iMacと変わらないじゃないか、というレベル。

付属しているソフトウェアも高品質だった。表示が白黒であっても、ディザリングによる中間色表示であっても、できる限りの技術を使って、その性能を最大限に引き出している気がした。古いんだけど、古くさくない。むしろ、最新のiMacのルーツを辿って行くようだった。

一貫性

初代Macintosh開発チームのリーダである彼は、1984年にMacintoshを世に送り出してから、1985年には自ら設立したAppleを辞めてしまう。「このまま一生砂糖水を売りつづけたいか? それとも世界を変えたいか?」と口説いて自ら招き入れた社長に、職を追われ、会長以外の職を剥奪されてしまった経緯から。

同年、直ぐにNeXTという会社を立ち上げる。その後の彼の意志は、NeXTでの製品開発として継続されることとなった。その数年後のインタビュー記事が以下で読める。

そのインタビューの中で、彼は分からないことは分からないと真摯に答えながらも、頭の中に将来のビジョンを思い描いていたことを感じ取れる。2011年の今読むと、そのビジョンが全くブレることなく、今日まで続いていることが感じられる。

では、そのビジョンはいつ生まれたのだろうか?おそらくそれは、1979年にゼロックス社パロアルト研究所を訪問して、Altoのデモを見た時からだと思われる。

彼はAppleを辞めて以降も、当初のビジョンを持ち続け、理想に向かってNeXTで開発を続けた。1996年AppleはNeXTを買収し、彼は暫定CEOとして再び戻ってきた。時代遅れとなったOS9は、NeXTベースのOSXに置き換えられることになった。その後、OSXをベースにタッチインターフェースを組み込んだiOSも生まれた。現在のApple製品のすべてのベースとなる技術は、なんと25年以上前に開発が始まったNeXTの技術だったのである。

その面影は現在のコードの中にもある。NSが頭に付くクラス名は、NeXT時代に開発されたオブジェクトを引き継いでいるのだ。NSはNEXT STEP(NeXT社が開発したOS)の頭文字をとった略。最新のiOSの開発でさえ、NS****という表記がたくさん出てくる。圧巻である。高い理想を持って開発された技術は、25年経った現在でも色褪せることはないのだ。最新のiPhoneiPadにも活用され、この先もまだまだ生き続ける技術となっている。

彼が生涯をかけてやって来たことは、すべてiPhone・iPadの開発まで一筆書きで繋がるのだ。過去の経験が、すべて将来の開発に役立っているように見える。大学は中退したが、そこで学んだカリグラフィーの講義を受けたことさえも。

ポリシーを持って続けることが、このような一貫性を生むのだろうか?

QuickDraw開発秘話

かつてのMac OS9までの描画エンジンの主役はQuickDrawが担っていた。GUIなOSでは、文字も含めてすべてをグラフィックとして扱うので、画面に見えているすべてのもの*1はQuickDrawによって描かれていたことになる。描画エンジンは、GUIなOS開発の要となる技術である。その出来が、GUIなOS開発の成否を分けるとも言える。

そして、最初期のQuickDrawは、ビル・アトキンソンがたった一人で開発したそうである。

当時(25年以上前)のCPUは、動作クロックが8MHzという性能だった。(現在は2GHz=2000MHzかつ、複数コアが当たり前)そのような性能であっても、違和感なくマウスで操作できるOS環境にするために、斬新な発想や試行錯誤を重ね、相当な努力の末に開発されたのがLisaやMacintoshであった。

Amazon.co.jp: レボリューション・イン・ザ・バレーの中で、QuickDrawを開発する逸話が少し紹介されている。

当時、研究所の中で開発されていたGUIなOS「Alto」のデモを見たスティーブ・ジョブズとビル・アトキンソンは、その斬新さに感銘を受け、自身でも開発を始めた。

Altoは、実際には専用に開発されたハードウェアの性能に助けられて実現していた環境だった。

にもかかわらず、ビル・アトキンソンは、Altoのすべてはソフトウェアで実現されていると勝手に思い込んで、そのまま開発を続けて、最終的にはQuickDrawを完成させてしまった。

とにかく、素早く描画するために、斬新な発想で様々な工夫がされた。

例えば、円(本当は楕円ルーチンだけどシンプルに円で考える)を描くには普通に考えれば、sin・cosあるいは平方根の計算が必要になる。

しかし、小数を扱うと、浮動小数点計算ユニットを持たない当時のCPUではスピードが問題になった。

そこで、奇数の数列の和が、二乗の数列になる(1 + 3 = 2^2、1 + 3 + 5 = 3^2、1 + 3 + 5 + 7 = 4^2、... )ことを利用して、座標までの距離を整数値を概算しながら描画することを思い付いたそうである。

QuickDrawの開発逸話には続きがあって、

  • 奇数の数列を利用して高速に円を描く発想を得たビル・アトキンソンは、高速に丸や四角を描くデモを見せびらかして喜んでいた。
  • しかし、そのデモを見たスティーブ・ジョブズは、全く誉めもせずに「角が丸い四角は描けないのか?」と聞いてきた。
  • それを聞いたビル・アトキンソンは、不機嫌そうに「そんなことするのは面倒だし、必要だとも思わない」と答えた。
  • その答えにスティーブジョブズは、部屋中のものを指差し角が丸いことを指摘した。
  • さらには、ビルを外に連れ出し、街中に角が丸い四角が溢れていることを指摘した。
  • スティーブ・ジョブズの説得にギブアップしたビル・アトキンソンは、角が丸い四角を描画するルーチンの開発を約束した。
  • 次の日、またしてもビルはデモを見せびらかしていた。
  • そのデモは、ほとんど普通の四角と変わらない、猛烈な速さで角が丸い四角を描いていた。
  • ビル・アトキンソンはそれをRoudRectと名付けて、QuickDrawに追加した。
  • その後、RoundRectはGUIの様々な部分で利用され、必要不可欠な存在になったということだ。

たぶん、ビルはブレゼンハムのアルゴリズムにも気付いたのかもしれない。スティーブ・ジョブズのこだわりが、QuickDrawをより高いレベルに引き上げてしまった。今でこそ角の丸い四角はGUIとして一般的になったが、25年以上も前からRoundRect一発で描けるQuickDrawって素晴らしい!


ドナルド・クヌース(Donald.E.Knuth)博士の質問で始まったQuickDraw・MacPaintのソースコードの公開までの話し。

2004年末に始まった出来事であったが、AppleからComputer History Museumに寄贈されてから、一般公開されるまで、長い時間がかかっていた。

Museumがコードを一般公開することについて、Appleとの合意(a handshake deal)は取れているのだが、実はSteve Jobsからの「魔法の一言(the magical words)」を、いまだに我々は待っているというのが現在の状況だ。

MacPaintのソースコード、続報

Computer History Museumには速やかに寄贈され、Appleは合意(握手の取り交わし)していたにもかかわらず、結局、一般公開されたのは、2010年になってから。実に5年近くの歳月が流れていた。

ヒューマン・インターフェース・ガイドライン

Macintoshには初期の頃から、ヒューマン・インターフェース・ガイドラインというものがあって、様々なGUI部品の使い方、意義、世界観みたいなことを詳細に解説していた。GUI部品のピクセル数レベルのサイズ、余白のピクセル数、OK・キャンセルボタンなどの並び順まで、事細かに規定されている*4。それは、最新のiOSヒューマン・インターフェース・ガイドラインにも引き継がれている。

以上のガイドラインをMacintosh、あるいはiPhone・iPadで開発する時に、尊守するよう求めているのだ。そのようにして、ガイドラインに乗っ取ったアプリケーションが提供されるからこそ、あの統一された外観と操作感が得られていたのだ。そのようにすることで、誰がデザインしてもある一定のMacintoshらしいデザインになる。ボタンは単なる画像のボタンではなく、操作した時により現実に近いリアルな感触を感じられるボタンになる。本質を理解して実装するからこそ、上辺だけ着飾った見た目だけのGUIにならず、ユーザーを自然と納得させる操作感が生まれる。

これはもう、職人の世界観を詳細なマニュアルにして、それを守ってもらうようなものだ。職人の親方は、些細なことでも とことんこだわって、厳しく注意する。利益を度外視しても、仕事の出来を厳しく追及する。そんなイメージがある。きっとAppleには職人の親方がいて、その規律をマニュアル化しているのである。それは彼が直接指示したものではないかもしれないが、彼の求める高いレベルの品質を維持するためには、どうしても必要となるガイドラインだったのかもしれない。

興味深いリンク

  • 気に入らない家具なら、ない方がマシと。


彼には会ったことも、話したこともないけれど、MacintoshやOSX、iPhone・iPadといった製品を通して、そのポリシーだけは常に感じ取っていた。そのポリシーの10000分の1くらいは、このブログにも引き継がれていると思われるように、精進しようと思う。

追悼。

*1:会社で使っていたWindowsパソコンについては、多少の知識があった。

*2:desktop.dbなどアクセスできない不可視ファイルもあったが、OS側が利用する設定ファイルなので、アクセスの必要性は全くなかった。アクセスは出来ないが、デスクトップの再構築で作り直すことはできた。

*3:iMacデスクトップの角が丸いのも実はディスプレイの性能ではなく、デスクトップを角丸で描画していたからなのだ。それが操作性やデザインの向上に寄与したかどうかは疑問だが。

*4:Webの世界で言えば、ユーザビリティーの高いページデザインとは何かを詳細に規定して、ボックスサイズやマージン・パッディングをピクセル単位で規定している感じ。

カナカナ 2011/10/18 18:56 当時のわくわく感が伝わってきて、
楽しく読ませていただきました。

サリガニさんならではの追悼文を読む事ができて
なんだかうれしかったです。

確かにお会いしたこともない方ですが、
毎日のように彼の分身と顔をつきあわせているわけですから、
もはや身近な存在のようにも感じられます。

shirocubshirocub 2011/10/18 19:27 NS***のくだりを初めて聞きました!

Xcodeでよく出てくるんで、由来を聞いてなるほどと感心しました。

すごいですね〜!面白かったです。

HogehogeHogehoge 2011/10/18 20:33 タイムスライスが弱いから、マルチタスク(っぽさ)はWin98に劣るとか
CUI がないからハッキングには強いんだ(?)とか
今にして思えば、ほんと?!と。

マカーじゃないけど、いい想い出です。

zariganitoshzariganitosh 2011/10/18 21:21 カナさん、
わくわく感て大事ですよね。
そうゆう道具をこれからも発表し続けてもらいたいですよね、Appleには。

> サリガニさんならではの追悼文を読む事ができて
> なんだかうれしかったです。

何か書いておきたいと、ずっと思っていたのですが、なかなか書けなくて、
今頃になってまとまりのないまま公開してしまいました。
そのような感想を頂けて、嬉しいです。(公開してよかった、)

zariganitoshzariganitosh 2011/10/18 21:38 shirocubさん、
NS系オブジェクト、すごいですよね。
内部的にはメンテナンスされてるんでしょうけど、開発当初の仕様も保っているのですから。
ある意味、cocoaはObjective-Cの一部ですから、
Objective-Cを使い続ける限り、NS系オブジェクトも生き続けるのかもしれません。
UIのNSは大分減ってきましたけど、foundationのNSはまだまだ活躍しそうですね。

zariganitoshzariganitosh 2011/10/18 21:49 Hogehogeさん、
OS9までは、OS主導のマルチタスクではなく、アプリケーション任せの紳士協定なマルチタスクでした。
アプリケーションを作る時には、確かイベントループの中で定期的にWaitNextEvent()を呼び出すルールだったと思います。
だから、どこかのアプリがWaitNextEvent()の呼び出しをやめてしまう行儀の悪いことをすると、それだけでOS全体がフリーズする原因になりました。(運が良ければ強制終了でそのアプリだけ終了できましたが)
OSXも10.2までは使えた代物ではなかったのですが、その後よく10.7 Lionまで進化したものだと思います。
今ではOSXに移行して本当に良かったと思えます。

> CUI がないからハッキングには強いんだ(?)

それは初耳でした。(笑)

山やま山やま 2011/10/19 13:45 はじめてMacをさわったときのわくわく。すべてを直感的に操作できる、グラフィカルなインターフェースの世界。機械オンチで決して新しもの好きでもない自分がコンピュータに夢中になったのも、ザリガニさんが書かれているようなAppleの魅力のおかげでした。
そう、ぼくにとっても「iMacが始まりだった」ことを思い出しました。

たしかにMacが存在しなかったら、今このブログに出会うこともなかったわけですね。
拙記事をリンクしていただきありがとうございます。

zariganitoshzariganitosh 2011/10/19 17:57 山やま さん、

はじめまして。
体験を交えた生ものの文章というのは、人の心に響くのですね。
yamachanblogを読んで、背中を押されました。
自分も自らの言葉で、何かを書いておかねばと。
ありがとうございます。

そういえば当時、自分もThink differentの意味をよく分からなかったのですが、その響きだけは強烈に脳裏に焼き付いてますね。
山やまさんのブログと、クローズアップ現代(福田さん)の記事を読んで、今頃になってそこに込められたメッセージがようやく分かりました。
Think different、実践していきたいですね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/zariganitosh/20111018/1318923340