次の方法で共有


ちょっとひと言

レベルの低下を賞賛する

David S. Platt

私の講演の後、典型的なコンピューターおたくが一番に話さんと、他の出席者を押しのけながら私の元に急いでやって来ました。「この 1 時間、あんたはプログラムを低レベルに作れとだけ言いたかったのか。ひどいもんだ、あんたなんか撃たれてしまえばいいんだ」と、彼は顔を真っ赤にして早口でまくし立てます。

私は講演で、とあるディスクの自動バックアップ プログラムを賞賛しました。シートベルトと同じで、ディスクのバックアップ プログラムは、ユーザーが使用して初めて機能します。バックアップが失敗する原因は、構成や実行の煩わしさです。私が賞賛したのは、シームレスな自動化によってこうした煩わしさを取り除いてくれるプログラムです。インストールさえしてしまえば、ユーザーが操作する必要はまったくありません。プログラムでは、どのファイルをバックアップするかを指定する必要はなく、リモート サーバーにあらゆるデータ ファイルが自動的にコピーされ、新しいファイルやその後変更されたファイルもすべて自動的にコピーされます。ユーザーが制御することはほとんどなく、独自の暗号化キーも、圧縮レベルも、プログラムを実行する日時も指定しません。すべてが見えないところで制御されます。例のコンピューターおたくは、そんなプログラムは買わないと宣言するだけでは治まらず、そんなプログラムは罰当たりで、存在してはならないし、賞賛する私は悪であると主張し、ユーザーによる制御が欠けていることに強く異議を唱えたというわけです。

私は、たいていのまくし立てる人々よりはまくし立てられることに慣れています。したがって、こう切り返しました。「フォードがモデル T から点火時期レバーを撤去したことが、レベルを下げたというんですか。手動クランクをセルフ スターターに置き換えたことが、レベルを下げたというんですか」

コンピューターおたく: 「いや、それは合理的だと思うよ。まあ、エンジンのクランクはハードウェアの問題だろう」

: 「あなたの車には GPS が付いてますか」

コンピューターおたく: 「ああ。とても役に立ってるよ」

: 「GPS が "1 レーン先を左に曲がって、次の分岐を中央に進んでください" と指示してくれることが、レベルを下げたというんですか。いや、あなたはこう言うはずでしょう。"1 メートルの精度か、すごいじゃないか" とね。パワーシートがシートを倒した位置を覚えていることや、カーステレオがお好みの曲を覚えていることはどうですか」

あきらめないコンピューターおたく: 「でも、車を運転するのにもコンピューターを使うのにも、頭が必要だろう。利口じゃないなら、そんなことすべきじゃないんだ」

そうかもしれません。ですが、車の運転もコンピューターの操作も、年々頭を使う必要がなくなってきています。私はどちらも大歓迎です。数年前までは、マイカーがスリップしたときはブレーキを細かく何度も踏むように教わりましたが、現代の安価な自動アンチロック ブレーキは、どんなに巧みなドライバーよりもずっと上手にそれをやってのけます。また、現代の自動トラクション コントロール システムによって、スリップの数も大幅に減っています。これによって、世界はより良い場所になっているでしょうか、それともますます悪くなっているでしょうか。私は「より良い場所になっている」と答えます。あなたが自動車修理工場を持っていなければ、ですが。

そういうわけで、"レベルの低下" なんて言葉、使わせないでください。これは、何かを主観的に決め付ける、意味深長な、我々の先入観をあらわにする言葉です。我々コンピューターおたくは、自分たちが賢いことを誇りに思っています。キーボード テンプレートを見なくてもコマンド キーを思い出せる人々や、画面に表示される 0.5 秒前にブート スクリプトを 1 行 1 行叫べる人々を尊敬しています。私たちのボキャブラリの中で最も害のある言葉は "愚鈍" です。

現代のコンピューターおたくの中には、プログラムを使いやすくすることを嫌がり、ユーザーに自分たちと同じように苦労させたい人々がいます。まるで、甘やかされて育った現代の若者を快く思わない、大恐慌時代を生きたお年寄りのようです。「わしらが子供のころは、柔らかいリクライニング シートのある、エアコンの効いたスクール バスなんてなかったもんだ。自分のテレビなんてなかったし、87 チャンネルの衛星放送もなかった。違う。雪の中を 15 km も歩かなきゃいけなかったんだ。行きも帰りもたいへんで...」。現代、利益を生み出す会社では、そんな姿勢ではいられません。まるで魔法のように自分でドライブする車や、自分で車を運転する必要性をなくす公共交通機関があったら、それらを使わない手がどこにありますか。

もちろん、レベルの低下は適切に行う必要があり、これには、洗練された対話のデザイナーが不可欠です。このデザイナーには、ユーザーの目線に立つこと、わかりにくいエッジ ケースを省いて主なユース ケースを簡単にすること、便利な既定値を選択すること、プログラムの実装よりもユーザーの思考に基づいて選択肢を説明することなどが必要です。私が suckbusters2.blogspot.com/2007/02/another-application-that-just-works-at.html (英語) でブログに投稿したように、Windows ムービー メーカーのデザイナーはこれをうまく行っています。

聴衆者を激怒させてしまった "レベルの低い" バックアップ プログラムが存在するということは、実際には、多くのユーザーがデータのバックアップを必要としていることを意味します。バックアップさえあれば、ディスクがクラッシュしたり、オフィスが火事になったり、ラップトップが盗まれたりしてもデータが失われません。これはきわめて賢明なことだと思います。

image: GPS interface
賢明ですか、それとも愚鈍ですか。

David S. Platt は、ハーバード大学の公開講座や世界中の会社で .NET のプログラミングの講師をしています。『Why Software Sucks...and What You Can Do About It』(Addison-Wesley Professional、2006 年) や『Microsoft .NET テクノロジガイド』(日経BPソフトプレス、2001 年) などの、11 冊のプログラミング関連の書籍の著者でもあります。2002 年には、マイクロソフトから Software Legend に指名されました。David は、8 進法で数える方法を学べるように、娘の 2 本の指をテープで留めるかどうか悩んでいるところです。連絡先は rollthunder.com (英語) です。