2010年10月31日

iPodは何を変えたのか? 人が問題にぶち当たったときには、どうするか?

iPod が巻き起こした奇跡的な成功をテーマとした本、『iPodは何を変えたのか?』を今頃になって読みました。

 

本書は iPod に関するさまざまストーリーをまとめた本です。たとえば、iPod 以前の音楽プレーヤはどういうものだったのか、 iPod がどのような社会現象を引き起こしたのかiTunes がいかに生まれたか、といったストーリーが合計で9つ収録されています。

個人的にとりわけおもしろかったのが、iPod がなぜクールなのかを扱った4章です。デザイナーのジョナサン・アイブ氏にインタビューして、 iPod のデザインで目指していたゴールとは、なぜ白なのか、といった質問をぶつけます。それらの回答もおもしろいのですが、特に印象に残ったのが、スティーブ・ジョブズ氏が自分のデザイン観についてアイブ氏に語ったという次の言葉です。

「人が最初に問題にぶち当たったときには、単純な方法で簡単に解決できるように見える。それは、まだ問題の複雑さを理解していないからだ。でも解決策が単純すぎたら,それはうまくいかない。そうしていったん問題の細部に足を踏み入れると、そこではたくさんの問題が複雑に入り組んでいることがわかってくる。込み入った問題のそれぞれに、手の込んだ解決策を考え出さなきゃならなくなるわけだ。たいていの人はこの段階で止まってしまう。確かにこういう方法でもその場しのぎはできるからね。でも、本当に優秀な人材はそこに留まらずに、問題の背後にある本質を見つけ出す。そして、美しくて簡潔明瞭で、しかも見事に機能する解決策を思いつくんだよ」

これはデザインに限らず、問題解決において共通する話だと思います。私が関わるソフトウェアの開発では、一見簡単にみえるような機能でも、実は実装するのが異様に大変で、調べれば調べるほど、あちこちをいじらないといけないことがわかってきて絶望的な気分になるということが多々あります。たとえばこんな感じです。

「これさあ。ちまちまファイルアップロードするの面倒だから、.zipファイルで一気に送れるようにできない?」「ああ、できると思いますよ。んーでもやってみないとわからないかも」「そのくらい難しいわけないでしょ」「いや、私の勘だとこれはやっかいなことになると思いますね。まあみてみますけど。えーと、ファイルのアップロードはここで処理されてるから、ここで zip を展開して、と。ああやっぱり、この先のロジックが全部、入力が1ファイルを仮定しているからそう簡単にはいかないよな。ここでループ回してもいいけど、ファイル多いとすごく遅くなりそう。かといってここでスレッド作るのもやりたくないなあ。そもそもこれ zip ファイルの中身が巨大だったらメモリすごい食うんじゃない?展開すると10GBみたいなゴミファイル入ってたらサーバ落ちちゃうし。ああ、zip ファイルにはディレクトリ情報が入ってるからそこみればファイルのサイズが事前にわかるか。ってここにウソの情報を書かれてたら終わりじゃん。んー、しかもこのライブラリ、段階的に展開するAPIが提供されてないし。じゃあプロセスサイズをリミットして別プロセスで開くとか?いやほんと、すごい面倒なんですけど」

というように一見簡単そうなことが実は激ムズで、うまく解決するには元のアイディアとは根本的に違うやり方(たとえば、バッチ的に要求を処理するキューイングシステムに投げて、結果を非同期的にユーザに戻すとか)が必要になったりします。

自分のやってることを振り返ると、あちこちいじくりまわして何とか解決する、というケースの方が圧倒的に多い気がします。問題の背後にある本質を理解して簡潔明瞭な解決策を見つけ出す、というのは非常に難しいことですが、こういう目標は忘れずに心がけておきたいものだと、くだんのジョブズ氏の言葉を読んで思った次第です。

まとめ

iPod が大成功したことは異論の余地がなく、本書は、なぜそんな奇跡のようなことが起きたのかを理解する上で助けになる一冊だと思います。今となっては iPod の成功は新鮮さがありませんが、やはり偉業だったのだなと再認識しました。

ちなみに、スティーブン・レヴィ氏の本はこれまでに『ハッカーズ』『暗号化 - プライバシーを救った反乱者たち』『マッキントッシュ物語』を読んでいます。他の三冊と比べるとこの『iPod は何を変えたのか?』は少しものたりない気もしましたが、十分に楽しめました。