エレガンス
From The Joel on Software Translation Project
2006年12月15日 金曜
Joel Spolsky / 青木靖 訳
アラン・ド・ボトンのThe Architecture of Happiness (Pantheon Books, 2006)にはソフトウェアデザイナなら親しみを感じるだろうエレガンスに関する一節がある。
彼はスイスにあるサルギナトーベル橋と、
イギリスにあるクリフ・サスペンション・ブリッジを比較している。
この本は私が読んだ建築に関する本で最高の一冊だ。
- 「ロベール・マイヤールによるサルギナトーベル橋とイザムバード・ブルネルによるクリフ・サスペンション・ブリッジは力の構造であり、どちらも致命的な高さを安全に渡れるようにすることで我々に畏敬の念を抱かせる。しかし2つの橋を比べると、マイヤールの橋の方が際立った軽快さと、苦もなくその役割を果たしている点でより美しい。ブルネルの橋の方は重苦しい石造建築と重い鋼鉄の鎖により、2点間を飛ぶ前にズボンをずり上げ、うるさく他の人の注意を引こうとするずんぐりした中年の男を思わせる。一方マイヤールの橋は、セレモニーなしで飛び出し、舞台を去る前に聴衆に慎み深く頭を下げる俊敏なアスリートを体現している。どちらの橋も大胆な試みを実現しているが、マイヤールの橋の方が苦もなくやり遂げる美点を付け加えており、それが簡単でないはずであることが分る私たちにより強い称賛の念を抱かせるのだ。この橋には美のカテゴリの1つ、私たちがエレガンスと呼ぶものが授けられている。これは(支え、広がり、覆うという)抵抗の活動を、力とともに洗練と経済性をもってやりおおせ、それが乗り越えている困難の大きさに注意を引こうとしない謙虚さをもつ建築作品が備える資質だ」
このコンテキストで、私が最近扱った選択とシンプルさというテーマを再び訪れ、3番目の概念であるエレガンスを付け加えたい。
人々がソフトウェアをいじるのは、多くの場合、それで遊びたくてそうしているわけではない。彼らがソフトウェアを使うのはツールとしてであり、それで彼らがやりたいと思う別なことを実現するのだ。彼らがチャットプログラムを使うのは、それでウィットがあるところを見せて、チャットの相手に一緒に時を過ごしたいと思わせ、そうして最終的には抱くことが出来るチャンスを高め、そうして利己的な遺伝子が自己複製できるようにするためなのかもしれない。彼らがスプレッドシートを使うのは、それでもっと大きなアパートに移れるかどうかやりくりして、デートの相手が来たときにより良い印象を与えられるようにし、抱くことのできるチャンスを高め、これまた遺伝子を利するためなのかもしれない。彼らがボスのためのPowerPointを作るのは、それで昇進して、給料を増やしてより広いアパートを借りられるようにし、そうして相手を引き寄せ、抱けるチャンスを増やし(アイデアが掴めた?)、利己的な遺伝子が複製できるようにするためかもしれない。彼らが素晴しいゴートチーズのラビオーリのレシピをインターネットで探しているのは、・・・遺伝子だ。
彼らがソフトウェアレビューで生計を立てているというのでもない限り、ソフトウェア自体はあまり気にかけていないものだ。そしてソフトウェアに気を使わなければならない程度が大きくなるほど、彼らは煩わしく感じる。
したがって選択は良いものにも悪いものにもなりうる。ユーザがやろうとしているタスクをごく直接的に助けるとき、選択は良いものとなる。私はチャットの相手を選択したい(あたりまえだよね)。一方、ユーザのDNA複製の目的の妨げになるなら選択は悪いものとなる。何日かごとにインストールしたことを覚えてもいないつまらないソフトウェアが煩わしい告知をポップアップして、何かをアップグレードしたいかとか聞いてくる。私はそんなものまったく気にかけていない。今やっていることがあるから、どうかほうっておいてほしい! この素晴しいJavaバーチャルマシンの新バージョンをリリースしたばかりのSun Microsystemsのチームは、そのインクリメンタルリリースについて昼も夜も、何ヶ月にも渡って考え続けていたことだろうと思うが、しかしこの惑星上のその他の50億人はまったく気にかけていないのだ。その新しいJVMをインストールするかどうかで私の人生の3秒だって費やしたくない。誰かがすでにGmailを立ち上げて、そのJVMが単なるアップグレードではないことを教えてくれようとしていることだろうと思う。そうだね、それで「何かが動作しなくなるかもしれない」んだから。ああ、Java開発チームの集合知を全部かき集めても、それが何かを動かなくするかどうか分らないなら、どうして私にわかるというんだ? 勘弁してほしい。
シンプルさを「洗練と経済性」とか「エレガンス」の意味で使うなら、それは大変結構だ。これのいい例は、Rhapsodyで曲を見つける方法と、iTunesで曲を見つける方法の違いだ。Rhapsodyはアルバム、トラック、アーティストの何を使って探すかユーザに選ばせる。iTunesには選択肢はまるでなく、検索はすべてのフィールドを対象に行われ、それは同じようにうまく機能するが、より簡単だ。この場合経済性はパワーを意味しており、それは一種の機能なのだ。
一方でシンプルさをパワーの欠如や機能の欠如という意味で使うのは、ペーパークリップ業界でやっていくつもりであるなら結構、幸運をお祈りするが、あなたの製品が私の抱える問題を解決できる可能性は縮み始め、あなたの潜在的なマーケットシェアも縮むことになる。
(オリジナル: Elegance)