2008-02-16

「すばらしいソフトを作るには、カリスマが講演」より

プレゼンの内容はとても秀逸だと思う。
何回も読み返したいし、きっと引用もすると思う。
いつか消えてしまうと嫌なので、以下全文の引用を・・・(何かの違反じゃないよね・・・ダメなら消します。(^〜^:)


すばらしいソフトを作るには、カリスマが講演
2008/02/14翔泳社が主催するデベロッパーズ・サミット2008で講演するジョエル・スポルスキー氏
 記者という職業柄、これまで非常に多くのプレゼンテーションを見てきたが、プレゼンテーションの1枚目が半裸の女性モデルの写真だったのは初めてだった。

 2月13日、14日の予定で東京・目黒で開催中の「デベロッパーズ・サミット2008」で講演したFog Creek Softwareの創業者でCEOのジョエル・スポルスキー(Joel Spolsky)氏のプレゼンテーション「Joel on Developers Summit――素晴らしいソフトウェアを作るということ」は、型破りに楽しく、なおかつソフトウェア開発者にとって示唆に富む内容だった。

 スポルスキー氏は米マイクロソフトのExcelチームで、Excel用マクロ言語を、後にVBAと呼ばれることになるモダンなオブジェクト指向言語に置き換える仕事でプログラムマネージャを務めたことがあるなどソフトウェア開発のベテランだが、エッセイの書き手としても名を馳せている。ソフトウェア開発に関する珠玉のエッセイ集として知られるブログ「Joel on Software」(邦訳サイト)はハッカーの間ではカリスマ的な人気を誇っている。

1位と2位の埋めがたい差

 Joel on Softwareの文体は、ニューヨーカーらしいウィットとブラックユーモアに満ちたものだが、それは聴衆を前にしたトークでも同様だった。

 「これから皆さんは退屈なスライドをたくさんご覧になるので、まずはベッカム夫人、ビクトリア・ベッカムの写真をどうぞ」。

 そういうとスポルスキー氏は、胸元が大きくはだけたセクシーな写真をプロジェクターで表示した。続いて「性差別主義者と言われないように」と、今度は隣に上半身裸のデビッド・ベッカムの写真を提示。会場は笑いに包まれた。「この会場でベッカムのことをご存じの方は?」と言って満場の会場のほとんど全員が挙手するや、今度は「1、2、3……」と、その数を数え始め、そうかと思えばあっさり「オッケー、6人ね」と嘘っぱちの数字を口にするなど、テンポ良く聴衆の予想を裏切り、次々に笑いを誘う。

 この導入トークは、単なる眠気覚ましのスタンドプレーやジョークではなかった。スポルスキー氏はすかさず、ベッカムと同じチームの主将であるランドン・ドノバン選手の写真を提示して、こう続けた。

 「ベッカムがどうして人気があるのか私にはよく分かりません。このランドン・ドノバンのほうがはるかに優秀な選手で、チームにとっていい仕事をしています。でもベッカムのほうが有名です。グーグル検索では800万件と80万件の差があり、年俸でもベッカムが年に650万ドル以上もらっている一方、ドノバン選手はTシャツを破ったときに無償でTシャツがもらえる程度なんです」。

 興奮の渦中で自らTシャツを破り捨てる瞬間の写真を提示されたドノバン選手には気の毒だが、1位と2位の差は、それほど埋めがたいというのがスポルスキー氏の指摘だ。「これはiPodと、おもしろみのない暗い色のZuneの関係にたとえることができます」という。

 同様の違いは音楽や家具でも当てはまる。例えば、高級オフィスチェアの代名詞ともなった「アーロンチェア」は、登場した当時は誰もが昆虫みたいだと思った程度だが、いつの間にか、市場はアーロンチェアを真似た虫型の椅子だらけになった。しかし、そのどれもが、アーロンチェアよりも優れているものもあるというのに、まったく二流のままである。音楽の例では、1968年の全米ヒットチャートを見ると2位はリチャード・クレーダーマンの「恋は水色」、1位はビートルズの「ヘイ・ジュード」を挙げる。スポルスキー氏は2つメロディーを続けて聴衆に聞かせ、いかに2位の曲に比べて1位の曲を耳にする機会が多いかを指摘した。

ユーザーを不幸にするシステムとは

 一流ブランドと二流を分けるものは何か。スポルスキー氏は「これはほんの30秒ほどで考えたことなので、あまり真剣に受け止めないでほしいんですが」と前置きしつつ、こうした現象に背後にある「法則」を3つにまとめて提示した。

 「(成功の)方程式」(The Formula)と冗談めかして大げさに名付けられた法則とは、「人を幸せにする」「感情を考慮する」「美学にこだわる」の3つだ。これら3つについてスポルスキー氏は、具体的な例を挙げつつ、ソフトウェアやサービスを開発をするプログラマに向けて、それぞれの意味を説明した。

スポルスキー氏が示した「(成功の)方程式」(The Formula)
 人を幸せにするという観点でソフトウェア開発者ができることは、実はゴリゴリの技術者が思うよりもたくさんあるというのが氏の指摘だ。ソフトウェア開発では本質的なロジック部分を書くのがプログラマで、UIはグラフィックデザイナなどが後から付け足すものと捉えられていることが多い。これが大きな間違いの元だというのだ。

 スポルスキー氏は心理学者が「学習性無力感」(learned helplessness)と名付けた現象を紹介する。

 コーネル大学の心理学者のマーティン・セリグマンとスティーブ・メイヤーが1967年に行った、犬を使った有名な実験がある。21世紀の今なら動物愛護団体が飛んできそうな話だが、彼らは犬に電気ショックを与えた。一方のグループの犬はレバーを押すことでショックを止めることができ、他方のグループはレバーが機能せず、痛みを止めることができない。「やっても駄目だ」と学習したグループの哀れな犬たちは、徐々に無気力になり、鬱病に似た症状を示したという。

 人々はコントロールの主導権がないと分かったときに無力感に苛まれ、不幸になる。

 多くのソフトウェアやWebサービスは、まさに、そうした無力感をユーザーに与えているのではないか、というのがスポルスキー氏の指摘だ。

 ブログに写真をアップロードしたいだけなのに、システムの更新を強要され、更新ファイルのダウンロードを始めたと思ったら、今度は接続が切断される。プログレスバーが100%に達してダウンロードが終わったかに見えたと思えば、再びプログレスバーがゼロからスタートする。「インストーラを作る人たちは100%ってことの定義を知らないみたいですね」と、スポルスキー氏のジョークは手厳しい。ひょんなことでデジカメのケーブルがUSBポートが抜ければ、「抜く前に先に言えよ」とシステムに怒られる。今のPCではユーザーにコントロールの主導権がないことがあまりに多い。

あくまでも架空のシミュレーションだとしながらも、人々が常日頃感じている理不尽さを、ブラックユーモアたっぷりに表現した(2月15日編集部注:他社が著作権を持つキャラクターが使用されているためぼかしを入れました)
 Webアプリケーションも同様で、よく見ると良くできたeコマースサイトであっても、カートに商品を入れるところから発送手続きを終えるまで、必ず一定の手順で行うよう強要するようなことはよくある。ページ遷移は固定的。ひどい場合には戻るボタンを押すと正しく処理が終了しないと脅されるということもある。システムの都合でウィンドウサイズを勝手に変化させる、あるいは固定するといったものもユーザーを不幸にする典型的なUIだろう。

 そうしたWebアプリケーションに対して、ユーザーにコントロールの主導権を与える実例として、スポルスキー氏はアマゾンの会計画面を示した。カード情報や住所の入力ボタン、発送先の変更ボタンは1つの画面内に配置され、ユーザーは何から操作しても構わないようになっている。「アマゾンでは、ユーザーがコントロールできるのです」。

 AjaxやJavaScriptによるダイナミックなWebページがウケている理由も、こうしたコントロールの主導権の方程式で理解できる。スポルスキー氏は、ある衣料品サイトのデモンストレーションを行い、選択したパンツの色がユーザーのアクションに応じて即座に変わるというインターフェイスを例示。押した瞬間にシステムが反応するというレスポンスの良さが、ユーザーにコントロールの感覚を与えるのだという。「サーバに行って1秒もかかるなんて遅すぎます」。

 鬱病にもつながる学習性無力感には確立された治療法があるという。非常に簡単なタスク、例えば窓を拭くとか封筒をなめて閉じるとか、そういうタスクを患者に与えて小さな達成感を積み上げていくというものだ。ソフトウェア開発者は、ユーザーに極力コントロールの主導権を与えて小さなタスクを確実にこなせるよう配慮することで、「人を幸せにする」ことができるのだという。

クルマの安全設計のためにはカップホルダーが重要

 スポルスキー氏が示した3つの法則のうち「感情を考慮する」ということに関して、彼は一風変わったマーケティングの例を挙げた。それはSUVやRVと呼ばれる車高の高い大型車の安全設計に関するものだ。

 SUVは車高が高いぶん、事故で転倒する確率が高く、死亡事故発生率が他の車種よりも高い。しかし、メーカーとしては、そうも言えない。困ったアメリカのある自動車メーカーはフランスの著名なコンサルタントに相談に行く。そのコンサルタントが出した答えは、工学的にはナンセンスな、あるいは少なくとも工学には無関係のマーケティング上の処方箋、「安全設計のためにはカップホルダーが重要だ」というものだったという。しかも、車高はできる限り高くするべきだ、というのだ。

 人々が安全を感じるのは理屈ではない。もっと情緒的な情報処理による。

 例えば他人を見下ろせるということは、精神的に非常に心強くなる。そしてあちこちにエアバッグがあり、内装のどこもかしこも丸みを帯びていてソフトに見えることなどが重要だという。高い場所にいて柔らかいものに包まれる感触は、子どもの頃に「ママに抱っこしてもらって暖かい飲み物がそばにあった」という思い出と結びつく。柔らかいものに囲まれ、高い場所にいて、暖かい飲み物がそばにあるなら、つまり安全だと人々は感じる。だから、座席の横にコーヒーカップを置いておくカップホルダーが重要なのだという。揺れてこぼれるとか、カップの置き場所がなくて不安になるようでは“安全設計”としては失格なのだ。

 制御工学と製造技術の粋を集めた到達点であるはずの自動車のようなプロダクトにおいて、その製品が愛されるかどうか、選ばれるかどうかは、工学的、統計学的な理由付けとは無関係な、心理学的効果によっている。「だから、Windowsも、Windows 2000からWindows XPになったときに、ウィンドウの角が丸くなったんです」。そういってスクリーンショットを映し出すと、会場はまたしても笑いに包まれた。

 別の例として、スポルスキー氏は自身が体験した、ある開発プロジェクトの例も挙げた。2週間という短納期で、価格も安く、要求仕様もすべて満たしたソフトウェアを顧客の前でプレゼンテーションしたところ、大変に不評だった。そこでいったんソフトウェアを持ち帰り、画面表示の色を変えるなど「ソフトウェア開発者にしてみれば、何だこれごときでと思うような、非常にささいな微調整を行った」ところ、顧客の反応は180度違ったものになったという。スポルスキー氏は「人々はとても表面的な判断をするものです」と、見た目の重要さを指摘する。

醜悪さを徹底して嫌うオブセッションが愛される理由

 3つ目の法則、「美学にこだわる」という観点での王者はアップルのスティーブ・ジョブズだ。

 サムスンのスマートフォン「BlackJack」は99ドルでフルキーボード付き。アップルの「iPhone」は399ドルもするのに「指紋がベタベタ残るディスプレイだけ」(スポルスキー氏)。しかし、iPhoneは一級品である一方、BlackJackは人気の面ではiPhoneの比較対象にすらならない。

 BlackJackは、高速なHSDPA対応で、バッテリも自分で交換できる。アプリケーションを自分でインストールできる。一方、iPhoneはバッテリすら自分で交換できない。

 ユーザー自身によるバッテリ交換を可能にするには、どう設計しても本体のどこかに最低でも1本の「継ぎ目」が入る。アップルは、それを拒む。BlackJackが大量のプラグや継ぎ目でフランケンシュタインのようになっているのに対して、iPhoneは一切の継ぎ目を排した美しいデザインとなっている。

 この「ファッション性と実用性」の対立を、スポルスキー氏は同時代に建てられたパリとニューヨークのアパートの外観の違いにも認める。アメリカではヨーロッパ風の外観を持つアパートが多いが、ベランダには上下をつなぐジグザグの非常階段が常時設置されている。一方、パリのアパルトマンには、そうした醜悪な建造物は一切ない。「パリのアパルトマンに住む人々は火事のときに逃げ遅れて、丸こげになってしまうでしょう。でも、燃えながらでも彼らは美しく燃え尽きていくんです」。

 たとえ話はブラックだが、美学へのこだわり、あるいはオブセッションというべきものは、そうした理不尽さをはらんでいるもので、「ステーブ・ジョブズは密かにフランスのキングになったのだというのが、私の持論です」とスポルスキー氏は笑う。

ソフトウェアの世界における装飾は「堕落」か

 では、iPhoneと同様に、ソフトウェア開発でも美学を追究してシンプルな外観を目指すべきか。この問いに対して、スポルスキー氏はまったく正反対の結論を出す。氏は、ソフトウェアと近代建築の世界を比べて論じる。

 かつて西洋の建築の世界では教会の威光を示すかのように、ごてごてとしたゴシック建築の文化が花開いた。しかし、近代的な建築では装飾は「堕落」だとして否定する。そうしてバウハウスなどから出てきたのが、無駄な装飾を一切排した幾何的デザインの建築様式だった。近代的なビルやマンションは直方体か、せいぜい屋根に傾斜がある程度。「むかし、すべての屋根を平たくしたら北欧で雪の重みで家がぺちゃんこになることが増えた。それでまあ、1つぐらいなら傾斜を入れてもいいでしょうということになったんです」。スポラスキー氏はそういうと、屋上が斜め45度に傾いた高層ビルの写真を画面に出し、会場にはドッと笑いが広がった。

 モダンな建築様式に相当するのは、ソフトウェア環境で言えばUNIXだ。昨今のヘビーなGUIやデスクトップ環境を備えたUNIXではなく、テキストベースのUIには、一切の無駄がなく、かつ必要な情報が、すべて表示されている。「しかし、人々が愛するのはUNIXではなく、Mac OS Xだったりするのです」。そういってスポルスキー氏は“無駄な装飾”だらけのデスクトップを大写しにして、改めて聴衆の関心をUIとは何かという難しいテーマに振り向けた。

 もちろんスポルスキー氏とて、近代的なGUIデスクトップ環境を、すべて無駄な装飾として本気で切り捨てているわけではないだろうが、無駄に思える装飾が多いのも事実だ。それには2つの理由があるとスポルスキー氏はいう。

 1つは、ソフトウェアというものが、建築ほどまだ装飾に飽き飽きしていないこと。確かにPCの世界ではハードウェアでもソフトウェアでも性能向上を競い、多機能をうたう風潮が長く続いた。そのため、人々は「装飾=機能」と錯覚してきた面があるのかもしれない。

 愛されるソフトウェア製品を作る秘訣として、スポルスキー氏が装飾が重要だと指摘するもう1つの理由は、またしても心理学的なものだ。

「今日聞いた話を全部忘れても、これだけは覚えて帰ってください」と言って心理学用語の「誤帰属」という概念を紹介するスポルスキー氏
 人間は、自分が感じている感情や生理的な反応の原因を、直接因果関係のない事象に帰結させてしまう傾向を持っている。心理学者が「誤帰属」(misattribution)と呼ぶこの現象を、スポルスキー氏はこういう例で説明する。「デートでバーに行くのはいけませんね。アルコールは人を鬱状態にします。逆にコーヒーを飲むのがおすすめです。コーヒーを飲むと心拍数が上がる。ドキドキする。あなたがデート中の女性は、自分がドキドキしていると感じる。あら私はドキドキしてる、目の前にちょっとキュートな男の子がいる、私は恋に落ちたに違いない、と考えるんです」。

 コーラをがぶがぶ飲んで映画を見た場合でも、おしっこを我慢して映画を見続けたか、カフェインの影響で興奮状態であったかで、映画を見た後の評価は180度変わりうる。

 ソフトウェア開発者は従って、人々に愛される製品を作るために、印象を左右する装飾やUIを軽視してはならないのだ、というのがスポルスキー氏の指摘だ。ソフトウェア開発者にとって表面的問題に過ぎないかもしれないが、人々がすばらしいソフトウェアだと感じるかどうかは、ロジックではなくUIにかかっている面も強い。

 多様な事例、写真、音楽をスピーディーに展開して、ジョークもくまなくちりばめたスポルスキー氏の講演。最後には「私の講演も、何だかよく分からなかったけど、おもしろかったし、ビートルズの音楽も良かったし、すばらしかったと思ってもらえるんじゃないかと期待しています」と締めくくり、聴衆の持つ誤帰属の傾向を狙ったプレゼンテーションだったことを明かす自己諧謔的なオチまで用意する周到さだった。

2008-02-09

The Structure of Collaborative Tagging Systems 翻訳−3

前回の続き
2章が終わったら、しばらく別のやつを翻訳するから、後半は恐らく上げないと思うw
__________

2.1分類法の意味的および認知的側面
タグ付けシステムと分類法のどちらも、これまでの言語とそれらが説明している物の間で成り立つ関係を築く自然な進化する過程から生じる必然的な不完全性による問題に悩まされている。それらの問題のうち、多義性、類義性、と基本的なレベルの変動の三つがある。
多義語とは多くの意味を持つ言葉である。例えば、「窓」とは壁に開いている空間をさすし、またはその中にある窓ガラスを燃さすかもしれない。(Pustejovsky 1995)実際、多義号は関連するが潜在的に応用不可能な物を返すことで検索の結果の意味を薄める。表面的には、多義語は多くの無関係な意味を持つ同音異義語に似ている。しかし、関連した語句を追加することによって、大概の不必要な同音異義語を除外できるので、同音異義語はさほど問題ではない。もちろん多義語ではなく同音異義語が意味的な関連をすることがある。例えば、アップルで仕事を探すとき、CEOの姓の紛争で問題が起こるかもしれない。
タギングに矛盾した語句を用いることで、関連する全てのものが見つかったと人に確信しづらくさせることで、議類語、あるいは同じか近い意味を持つ熟語はより大きい問題をタギングシステムにもたらす。タグ付けをする人にとって、一貫した言葉でタグをつけることは難しい。例えば、テレビに対するものは「テレビ」とも「TV」ともタグづけられる。この問題は共同タグ付けでさらに悪化する。全ての利用者は広く慣例に従うか、あるいは複数かもっと複雑な設定を出して可能性をカバーする必要があることを認めなければならない。類義語は重要な問題である。なぜなら、どのくらいのものがそこには入っていないかを知ることができない。人は自分のもうけた問いから取り戻したがるが、そうはいかない。(?)

2008-02-07

The Structure of Collaborative Tagging Systems

前回の続きとして、hp Labで拾った興味深い論文の翻訳を記録用に掲示しておきます。

--------------------------------------------

2タギングと分類

支持者は、特にブログコミュニティーにおいて、しばし共同タグ付けのことについて分類システムに基づくラベル化を引き合いに出す。後者は階層的であり、排他的である。前者は非階層的であり、包括的である。同類による分類法は動植物のリンネ分類学や書籍においてのヂュイナー十進法(米国の十進分類法)、また電子書類を整理するためのファイルシステムを含む。それらのシステムにおいて、動物や本、ファイルなどは明確なカテゴリーに属し、そしてさらに普遍的なカテゴリーにも属している。例えば、ライオンや虎はヒョウ属である。猫はネコ属である。しかし、ヒョウ属と猫属のどちらもがネコ科に属し、ライオン、虎、猫のすべてがその一員である。同様にアフリカ地理学の本はヂュイナー分類法では916に該当し、南アメリカの方は918に該当する。しかし、どちらも地理学全般を含む900番分類に組み込まれている。
それと比べると、タグ付けは排他的でもなければ、階層的でもない。故にいくつかの状況では上記の階層的分類法より優れている。例として、ある研究者がアフリカ特有の猫に対する論文をダウンロードしたとしよう。もしこの研究者が手に入ったすべての論文を整理しようとしたら、ファイルシステムにはいくつかの想像しうる選択肢があり、そのうちの4つを検討するとしよう。
1. c:\書類\猫         すべての書類は「猫」フォルダーに入れる
2. c:\書類\アフリカ      すべての書類は「アフリカ」フォルダーに入れる
3. c:\書類\アフリカ\猫    すべての書類は「アフリカ」フォルダーの中の「猫」フォルダーに入れる
4. c:\書類\猫\アフリカ    すべての書類は「猫」フォルダーの中の「アフリカ」フォルダーに入れる

それぞれの選択は各々の特徴の相対的な重要度を反映している。フォルダー名と階層はその中ではラベルのように有益で、その範囲内で持っている情報の内容を示している。先に上げたフォルダー1番や2番は「猫」と「アフリカ」に対する重要な事実を作るが、しかし、ほかのすべての分類情報を無視している。
3番と4番は両方のカテゴリーを使ってファイルを分類しているが、最初のカテゴリを主要的に際立たせ、次のカテゴリーを従属的あるいは具体的なものとさせている。しかし、3番のフォルダーに入っているファイルを4番で探すことは無意味であり、複数の場所をチェックする必要が出てくる。
これらの限界にも関わらず、このような階層を課すのにいくつかのよい理由もある。特にフォルダーを無計画に作ることで、多くのものが階層にあることになるにもかかわらず、能率的に制作された階層はきちんと、そして明瞭にファイルの中身を反映する。キーワード検索のように、利用者が一つの問いに対して、すべての物があることを確信できないのとは違って、階層構造は検索者に含まれる物がすべて安定したところにあることを保証する。
階層型ファイルシステムとは対照的に、排他的ではない並列的なタグシステムは上述したシステムと違って、論文を同時に多様なキーワードで特定することができる。そこには「アフリカ」と「猫」のみならず、全般的な「動物」やさらに具体的な「チータ」をも含むことができる。

ベン図のように、猫とアフリカの両方のタグをつけた物は性格に一様に交差している。すなわち、アフリカの猫とタグ付けされた書類である。しかし、これも完璧ではない。例えば、「チータ」とだけタグ付けされた文書は恐らくそうであるべきなのに、「アフリカ」と「猫」の交差では見つけられない。上記の収納の例では検索者は依然複数の場所を探す必要がある。
別の見方をすれば、タグはフィルターのようである。すべてのタグをつけられた、可能性のある書類(あるいはそれ以外のもの)から、フィルター(すなわちタグ)はあるタグをつけたものだけを返してくる。
実施と質問に従いタグは交差を提供する代わりにタグの組み合わせを提供することができる。それはすべての与えられたタグに対応するものというよりむしろ、そのうちのどれかのタグに対応する全てのものを返す。利用者の展望から見て、タグによる誘導はキーワード検索することと似ている。実施に関係なく、ユーザーは適切な物を手に入れるための明確な記述項目を与えられる。