JSTTweet少々ショッキングなメールを貰いました。ここ数年、通っていた銀座のイタリアンが閉店するそうなのです。オーナーも若いし、客席は連日満杯。それが突然の閉店の知らせ。お気に入りの店だっただけにとても残念です。ああ、好きな店がなくなるのはこれで何軒目でしょうか。事情はいろいろとあるのでしょうが、うまい料理にうまい酒を出し、客に愛されてもたたむ時はたたまなくてはなりません。個人的に、うまい店の条件は、シェフでもソムリエでもないと思います。ソムリエはワインを選ぶだけ、シェフは料理を作るだけです。決定的な違いは、ギャルソンです。食事をサーブする直接の担当者。これが本当に美味い店かどうかが決まる決定的な要素となるのではないかと思っています。優れたギャルソンは客の様子を見ていつも最適な提案をします。疲れてる客には「まずはスパークリングで元気になりましょうか」と声をかけ、ニコニコした客には「なにかいいことあったんですか?しっかりめの白ワインと白アスパラから始めましょうか」とさりげなく食べ方の提案をするのです。サーブそのものも違います。料理を持ってくるのではなく、並べ方、立ち振る舞い、取り分け方、そして情報。「これはシチリア島の南部、チェラスオーロ・ディ・ヴィットーリアの赤ワインです。胡椒のような風味があって、こちらの仔羊のグリルと合うと思いますよ」そういうさりげない情報が食事の楽しみを何倍にも広げてくれることになります。別にこんなに気取った言い方でなくてもいいのです。田舎の伯父さんのうちに遊びにいった時、「どうだ、今朝、そこの港で採れたばかりのホタテだ。ここのホタテは、この貝ひものとこが美味いんだよ。裏の山で作ってる地酒だ。これが合うんだ」と勧められているのと同じですね。「そうか、そういうものか」と思って食べると、五感が研ぎすまされたようになって新しい美味しさを見つけることができます。ギャルソンは最後の最後に食事をサーブする、いわばレストランと客のインターフェースになるわけです。ギャルソンがオーナーをやっているこじんまりした店が一番美味しいレストランだと個人的には思います。オーナーシェフの店も悪くないけど、どうしてもオーナーは厨房に篭っていて、お客さんの顔を見れないというのはビハインドになってしまいます。ギャルソンがオーナーだと、客の細かな表情の変化を読み取り、接遇で料理やワインの欠点を補うこともできます。意思決定者が客の動きに集中し、彼らを感動させるためにはどんな料理を出せばいいのか、どんなワインを出せばいいのか、それを考えるようになるというわけです。この、インターフェースがすべての印象を決める、というのは、プログラムの世界では当たり前のことです。WindowsやMac、iPhoneやAndroidといった「OS(基本ソフト)」と呼ばれているものも、内部構造に詳しい人間でなければ、一般消費者(ユーザ)から見てわかる違いは、ユーザーインターフェースしかありません。内部構造がどれだけ優れていても、ユーザーインターフェースがダメならすべてダメに思えてしまいます。そのいい例がWindowsVistaです。WindowsVistaの内部構造はとても優れたものでした。ユーザーインターフェースは最悪。セキュリティを優先した結果、ユーザー体験は最悪なものになってしまいました。これはWindows8にも似たことが言えます。Windows7の改良を経て、Windows8ではユーザーインターフェースの大規模な改革が行われました。Windowsシリーズは、WindowsXP以降は内部構造にそれほど多くの変化はないのですが、ユーザーインターフェースを劇的に変えることで「新しさ」を打ち出しています。遅くて評判の悪かったVistaに比べるとずっと高速ですし、快適なのではないかという期待がありますが、実際には不評なようです。Windows8ではユーザーインターフェースがタッチ操作に対応して劇的に変わりすぎてしまったため、急な変化にユーザがついてこれていないのです。その点、Macintoshに関しては、MacOS自体のルック&フィールはほとんど変化しないまま今日まで数十年の月日を過ぎています。OSXになるときに一度劇的な変化があった以外は、それほど大きな変化がありません。それがOSの安心感・安定感を生み出し、確実なファンを地道に獲得することに成功しています。ビル・ゲイツとスティーブ・ジョブズの違いをレストランに例えれば、ゲイツはエンジニアのオーナーシェフで、ジョブズは接遇を得意とするオーナーギャルソンだったと言えるでしょう。ゲイツは間違いなく20世紀を代表する天才プログラマの一人でした。OSの構造については並々ならぬ拘りがあります。それは日本マイクロソフト会長だった古川享さんも同じで、気に入らない製品があれば現場まで出かけていって「ソースを見せてみろ」と迫ることもありました。WindowsXPのもとになったWindowsNTを開発したデイビッド・カトラーもまた、超絶的な天才プログラマーでした。NTの前後には、アメリカではグラフィックス・プログラミングの神とさえ言われているマイケル・アブラッシュも開発に参加しています。逆に言うと、MicrosoftのOS開発者のうち、有名なのはエンジニアだけなのです。Microsoftでは、社内に明文化はされていませんが、はっきりした序列があります。それは、言語開発者、OS開発者、SDK開発者、アプリケーション開発者、UI開発者の順に偉い、という考え方です。これは、非常にエンジニア的な価値観と言えるでしょう。メタ(高次)な仕事に関わっている人が尊敬されるべき、という大原則です。Microsoftはプログラミング言語そのものも、OSの根本機能そのものも、すべて自分たちが作らないと気が済まないのです。ところがAppleは、というかジョブズはそこが全く違います。NeXT社を設立してからのジョブズは、自らの哲学をより先鋭的な方向へ進化させました。彼はエンジニアではないので、自分が根幹部分の設計に関わることに拘らないのです。初代Macintoshにしろ、エンジニアではないジョブズが拘ったのは、徹底して、外観、見た目でした。Valley」では、ジョブズが天才エンジニア、ビル・アトキンソンに角丸長方形を描画するプログラムを書かせるシーンが出てきます。角が丸い長方形は、そもそもプログラミング的には難易度が高く、複雑です。角丸長方形を描け、と言われたアトキンソンは、反射的に反論します。「角が丸い長方形なんて、誰が必要とするんだ?」するとジョブズは「何だって!?」と声を荒げ、アトキンソンを屋外につれていきます。「あれを見ろ」ジョブズが指差したのは、道路標識です。「あれの角は丸いだろ。クレジットカードを見ろ。角が丸くない長方形が当たり前なのは、君らエンジニアの頭の中だけだ。世の中は、角が丸い長方形の方が多いんだよ!」アトキンソンはそれで観念して、複雑な角丸長方形を扱う方法を考えだしたそうです。これが彼が天才と呼ばれる所以でしょう。角丸長方形を実現するために考えだした方法によって、角丸だけでなく、あらゆる形状の領域(リージョン)を自由に扱えるようになりました。Macintoshが登場した1984年に、そんな複雑な情報処理を行うプログラムを書いたというのは、とてつもないことです。Windowsが同様の処理を実現できたのは、つい最近です。ジョブズは、社内の仕組みそのものも、非エンジニア的な考え方で運営します。Appleには、CTO(最高技術責任者)もアーキテクトも存在しますが、殆ど注目されません。反対に、デザイナーのジョナサン・アイブは幾度も表舞台に登場します。反対にWindowsのユーザーインターフェースのデザイナーが表に出てきて何かを語ったことはほとんどありません。社内ではデザイナーには長らく大きな権限が認められていなかったからです。重要な存在とも思われていませんでした。その結果、WindowsはいつまでたってもMacOSの出来損ないのようなユーザーインターフェースしか持つことができず、AppleはMacOSとは別にさらに優れたユーザーインターフェースを持つiOSの開発に成功するのです。呼び方そのものにも、二社の考え方の根本的な違いが現れています。Microsoftは、Windows3.1を発売して以降は、一貫して自社のOSにいかなる目的があろうともWindowsのブランド名を付けることにしています。Dreamcastは本当にお笑いで、そもそもゲーム機向けのOSだからウィンドウなどひとつも出てこないのです。Windowsという名前を使っているから、絶対に「ウィンドウ」を出さなくてはならず、内部的には、画面全体が一つの(そして唯一の)ウィンドウとして定義する必要がありました。この馬鹿げた前提を日本のゲーム開発者の方々に受け入れていただくというのが私の21歳の頃の仕事で、これは非常に骨が折れました。この馬鹿げた前提は、それから20年近くの時が経過した現在でも続いているのではないかと思います。ウィンドウなどどこにもないのに、内部的なウィンドウを作らないと、WindowsというOSではプログラムが書けないのです。Serverという商品もありました。サーバ製品というのは本来、ウィンドウなど邪魔です。Serverは、やはり馬鹿げたことに、ウィンドウを必要とするのです。Microsoftの本当に凄いことは、この非常に馬鹿げた、労力の掛かり、利益の少ないことを、単にマーケティングの都合だけで、無理矢理、実現してしまうことです。多少の身内びいきを差し引いたとしても、私はプログラム開発能力そのもので見たら、Microsoftは未だに世界トップだと思います。Googleも言語開発をしていますし、複雑なサーバープログラムを書いていますが、あちらはどちらかというと数学的に高度なことをしているだけで、ソフトウェア工学的に複雑なものを作っているわけではありません(複雑なものが必ずしもいいというわけではないので、これはこれで正しいのです)。Appleは?ソフトウェア開発能力は決して低くないものの、GoogleにもMicrosoftにも及ばないのではないかと思っています。そもそもエンジニアの絶対数が違うのではないかと思います。Appleにとって、ソフトウェアは製品の一部です。Googleにとって、ソフトウェアは膨大なサーバークラスタと電力によって動かされる重要なパーツではあるけれども、ビジネスの根幹となっているのは広告です。Microsoftにとって、ソフトウェアは全てです。その名の通り、Microsoftにとって、ソフトウェアはその魂の根幹を成すのです。その絶対的な開発能力を持つはずのMicrosoftは、Windows8という失敗作を作ってしまいました。WindowsPhoneの売れ行きも芳しくありません。AppleのiOSやGoogleのAndroidにWindowsPhoneは負け続けています。実はみなさん覚えておられるかわかりませんが、ジョブズはiPhoneを最初に紹介した時、iPhoneにはMacOSが載る、と説明していたのです。iPhoneでは「デスクトップクラスのアプリケーション」が動作すると言いました。iOS(登場時はiPhoneOS)は、もともとMacOSなのです。OSを最下層の言語レイヤーから全部自力で作り上げるMicrosoftに対し、AppleはOSのコア部分をDarwinというオープンソースに頼っています。コンパイラもオープンソースのgccです。Appleは自社でソフトウェアの根幹を作ることに拘らず、ただし、ユーザーインターフェースに関しては徹底的に自社で作り込んでいます。MacOSと呼ばれているものの根幹部分はオープンソースですが、ユーザーインターフェースだけは全てAppleが自社で作っています。ユーザーはAppleの作ったユーザーインターフェースだけを見てMacOSやiOSを評価するのです。内部構造的にはMacOSとiOSは殆ど同じOSと呼んでも差し支えません。ユーザーインターフェースでみればこの二つは明らかに違います。別の名前を与えているのです。ゲイツが作ったMicrosoftは、いわば素材から自分たちで作ることに拘った、究極のオーナーシェフ料理店で、ジョブズの作ったAppleは、素材はできあいのものを買ってきて、盛りつけや店の内装の美しさ、そしてユーザをサーブ(おもてなし)で感動させるギャルソンのいるレストランである、というメタファはそれほど外れてないのではないかと思います。どれだけギャルソンがすばらしいサービスを提供してくれたとしても、経営がうまくないとどうにもなりません。ジョブズも初代Macintoshを作った直後は販売不振の責任を問われて会社を追われましたし、ゲイツはひどい料理を作りながらも巧みな経営手腕で世界一の大富豪になりました。まずい料理でも経営さえうまければ店は畳まずに済むケースは往々にしてあり、非常に残念な気持ちになるとともに、その二つのバランスのとれたお店がもっと増えるといいのになと思います。レストラン経営もベンチャービジネスの一種と考えると、天才とよばれるプログラマーが会社を飛び出して起業しても、自分でコードを書きすぎて会社をつぶしてしまうケースが思い当たります。プログラマー社長がプログラミング能力をコンピュータのプログラムだけに活用することに集中すると、会社はいつまでたっても大きくなりません。プログラマーはプログラミング能力をもっと別の分野、組織や経営といったことに活かしていくべきなのです。Tweetおすすめ記事と編集部のお知らせをお送りします。亮(しみず・りょう)新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。