Jun 8, 2006

タバコは3つ、ジュースは1本

 ソフトウェア開発者の端くれとして、今日はユーザーインターフェイスというものについて少し。
 こちらにWebアプリのUI(User Interface)について書かれた記事があります。特別目新しい内容ではないのですが、UIに関して留意すべきポイントが改めて文章にされているので、なかなか参考になりました。以下この記事からピックアップして書いていきます。

 今やWebサイトでユーザー登録をしたことがないという方は少ないかと思いますが、この登録の際にはe-mailアドレスの入力を求められることがよくあります。そして、このフィールドは必ずといっていい程確認のために再度の入力を要求します。しかし、この要求は「なんとかして、ユーザー登録をしてもらう」という大目的を考えると、かなり不合理な点があるという指摘がなされています。
 登録を求める側から考えると、
   1.作業を手軽なものにして登録を促す
   2.登録者の正確な情報を取得する
 という二つの目的があります。しかし、言うまでもなく二度も入力を要求することは1.の目的にはそぐいません。では2.の目的を重視したものとしては合理的かというと、そうとも言えないというのがこの記事の指摘です。というのは、

 ユーザーの行動を観察すると、非常に多くの場合、ユーザーは一つ目に入力した内容をコピーして二つ目にペーストしています

 よって、二つのフィールドを用意するということは、正確な情報を取得するという2.の目的を何ら担保していないのです。これでは1.の目的を阻害するだけで何らのメリットもないのです。
 仮に大多数以外の希有な方がアドレスを二度タイプしてくれたとしても、二度の正確なタイピングを要求することは、2.の目的実現のメリットよりも1.の目的を阻害するデメリットの方が大きいといえるのです。つまり、その希有な方自体、タイプミスにより二つのアドレスが異なって再度の入力を求められても諦めずに登録作業を続けてくれるかどうかはかなり不確定であるのに、この希有で不確定な事態に対応せんがために大多数の方々に対する1.の目的を阻害するのはあまりにもデメリットの方が大きすぎるということです。

 これは何もPCの世界だけに限らず、身近な自販機でも見受けられると指摘されています。

 多くのジュースの自動販売機では、1000円札を入れた場合に、ボタンを押して商品を1つ購入すると「続けて購入モード」に入ってしまうので、いちいち釣り銭レバーを押さないといけません。しかし(おそらく)ほとんどのケースでは、ユーザーは一度に1本しかジュースを購入しないのです。つまり釣り銭レバーを押すという余計な操作が膨大な回数行われていることになります。

 ふむふむ。自販機設置者の意図として、この「続けて購入モード」に入るのはさらなる購入を促しているからだとしたら、決して促せてはいない。では、二本買うかもと購入者の便宜を図っているからだとしたら、一本しか買わないので邪魔と感じる人が大多数ということです。
 さらに考えると、タバコの自販機の場合はちょっと違って、小銭300円ではなく1000円札を入れた場合は、かなりの確率で三つ買うのではないだろうか。その辺を気にしてか、タバコの自販機は5秒だけ「続けて購入モード」が用意されているものが多い気がする。一つ買って5秒くらい何もしなければおつりが出てくるやつ。

 これらの事を一般論として、「エッジケースを過大視しない」とまとめています。

 プログラミング作業では、主要な使用方法に対する処理の作り込みと同じかそれ以上に、特殊な使い方をされた場合の処理の作り込みに時間をかけますが、ユーザーインターフェイスの設計では、一般的な使用状況に最適化した表現に気を使うべきです。プログラマーはエッジケースを重視しますが、インタラクションデザイナーはコモンケースを重視すべきなのです。起こりそうもない場合を考慮し過ぎて、起こるべきことの利便性を低下させてはいけません。

 そうそう。これ共感される開発者多いんじゃないでしょうか。UIの設計とはまさに利用する人を想像すること。この「想像」することの重要性は、何もアプリケーション開発に限られるものではなく、ビジネスのあらゆる分野で根底をなす最重要作業ではないでしょうか。
 明日はわからない、他人(顧客のニーズ)もわからない、時々自らのこともわからない中で、想像することこそが最良の、特に「持たざる経営者」にとっては唯一のリスクヘッジではないでしょうか。「何をいまさら、やってるよ」ではなく、これだけ二つのe-mailアドレス入力フィールドが用意されている世の中、実は我が身もと思いなおしてみるのがよいかもしれません。

(*)引用は、@IT 上野学「多くのユーザーは一度に1本しかジュースを買わない」より。