はうすてんぼぶ

コードかいてて疑問に思ったことや、興味あることをつらつらと暇なときに書く場所、ここはそんな場所

「誰のためのデザイン?」を読み終えた

UIの勉強として一冊読み終えたので感想などを書いてみる。

誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)

誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)

 本書では実際に世にあるモノを例として多く挙げられる。良い・悪いデザインをしたモノの良い・悪いを与える要因はどこなのかを、著者の心理学と認知学の両方の観点から説明されるため、読んでいて非常に面白い。読んでみると、私達が日常的に扱うモノを見つめなおすきっかけをくれ、使いにくい場合にはその原因がどこにあるのかを考える癖が付くと思う。
 一方で、困ったり、迷ったりせずに私達がモノを使えている要因を考えたり、見つめなおすのは難しい。なぜならその「モノの使いやすさ」とは、ユーザが自然にそれを扱えるようにデザイナーがちゃんとした理由に基いてデザインしたモノであるから。それに気付きづらいのは当たり前で、そうなったモノの形や見た目で私達の手に届いていることを今は幸福に感じる。良かったキーボードのキー配置がこの配置で、とかね。

 本書は発行が大分前(1980年)で、扱われている例も時代を感じるものが多いが、30年前も現代もデザインに関して同じような問題は抱えたままなんだなと何か少し安心したし、残念にも思った。「多機能化」が抱える問題は本書でも何回も登場するが、その問題が現代でどう解決されたのか(それとも未解決のままなのか)を探したり、考えたりするのは面白そう。

 私が学生時代に講義として受けた「失敗学」に通じるところがあった気がした。失敗学は運用や環境の観点からの考察が多かった(詳しい講義内容はもう忘れてしまったけど、H鋼が事故原因になりすぎだろ…みたいなツッコミをしながら講義を聞いていた記憶がある)が、本書はデザインからの観点から事故原因が説明されていて興味深かった。思い返す意味でもまた読みなおしてみようと思う。
 たしか講義中に扱ったのはこの本だった気がする。

失敗学のすすめ (講談社文庫)

失敗学のすすめ (講談社文庫)

 以下、誰のためのデザイン?の各章で気になった点やまとめやなどを書く。節の題名は個人的に付けただけなので本書中の節とは関係が無い。なんか全体的に冗長的に書いてしまっていて良くないなーと思っている。あと本書で頻出するデザイナーという単語をやたらとここでも使ってしまっているが、現代ではユーザとのやりとりするUI部分を作っている人たちもそのデザイナーに含まれているものとして考えて良さそう。

第1章 毎日使う道具の精神病理学

自然なデザイン

 私達の日常生活の中でドアの引くと押すを間違えるケースは良くあると思う。家の中の扉だと慣れや経験から間違えないとは思うが、始めて利用する施設の扉では間違えてしまうことは多いと思う。実際、私は帰宅時に利用する駅に通ずる扉の押し引きを半年経っても良く間違える。たぶん今後もずっと間違える。
 扉の押し引きをなぜ間違えるのかと言うと、扉に可視性(visibility)が不足しているからで、押すことしかできない見た目や引くことしかできない見た目をしていたらたぶん間違えることは少なくなる。そういった見た目はシグナルと言い、そうすることしかできないような自然なシグナルを使うことを自然なデザインと本書では扱っている。後述する手がかりやアフォーダンスは自然なシグナルをユーザに与える一つの要素みたいなもの。
 ちなみに私が何故家の中の扉の押し引きを間違えないのかを軽く考えてみると、扉の押し引きが自分の部屋のレイアウトと各部屋の広さのバックグラウンドの知識があるからだと思う(行き詰めると経験則から押し・引きの判断が瞬時に脳内で導き出されているとは思うけど…)。扉を操作する際の私は、洗面台のある部屋に扉を可動させる分だけの領域が無いというの知っているということと、洗面台の足元に厚みのあるマットが敷かれているため扉を廊下側から洗面台の部屋側に扉を押すと扉の下部がそのマットにぶつかることが予測できる。私が洗面台のある部屋と廊下の扉の押し引きを暗闇でも間違えないのは、この2つの要因からだと思う。ある種、部屋やレイアウトが限定的な操作を私に強いているとも言えるが、結果として間違えずに済んでいるのだから良い。もちろん、洗面台側の部屋に扉を押すだけの広さがあったほうが自分の生活はもう少し豊かになると思うけども。
 ちなみに限定的な操作をユーザさせることに関しては5章あたりで詳しく触れられる。

操作の手がかり

 モノのデザインは「ユーザのしたい操作の手がかり(ヒント)」をユーザに与えられるようにしとくべきであり、これを本書は対応付け(mapping)として扱っている。この対応付けが成されていないと、ユーザはやみくもな操作をするか、目的が達成できずに諦めるかの二択を迫られたりする。フィードバックも手がかりとしては重要な要素を担っていて、「操作の結果、何が起こったのか」や「捜査の結果、今どのフェーズに移行したのか」などは音やディスプレイですぐユーザに対して分かるようにしているとユーザが困惑することは防げる。
 ボタンの長押しや二度押しは単一のボタンで複数の機能を割り当てられてデザイン側からすると魔法のような機能だが、それができるきっかけをユーザに与えなければ全く使われない腐った機能になるか、不意にユーザの意図と異なった振る舞いをする機能に成り下がってしまう。iPadiPhoneといったApple製品では二度押しや長押し操作がよくあるけど、Appleユーザは皆よく訓練されてるなと個人的に本当に思う。少なくとも私は始めて触ることになったApple製品のiPad2を買った際に、Apple製品をよく知る友人に聞く(購入してから2日後)までホームボタンの二度押し操作のことは普通に知らなかった。
 長押しや二度押しができるものに、「●(単押し)」「●●(二度押し)」「■■■■■(長押し)」みたいな記号を付けることも考えられそうだけど、そもそもアイコンが何を指しているのか知らなければ意味を成さないし、デザイナーがそれを良しとはしないと思う。そもそもそういったデザイン的に別のサポートが必要になった場合は、本書的には元のデザインが誤ってることが多いらしい。

アフォーダンス

 アフォーダンス(affordance)はそのモノをどのように使うことができるかを決定する特徴のことを指す。例えば椅子は支えることをアフォードする(支えるための)ものであるから、椅子に座ることを可能にする(座ることをアフォードする)みたいな使い方をする。ここで扱われているアフォードはモノの素材に関しても挙げられていて、ガラスは透き通して奥を見ることや割られるためのものであって、木は支えたり不透明さを確保したり、支えるためのものであることが例として取り扱われている。経験的には「色」も何かをアフォードするには十分な要素を持っているとは思う。白い壁やねずみ色の壁は書かれることをアフォードしているため、コンクリの壁や柱にはスプレーで落書きされているのだと思う。
 

概念モデル

 デザイナー自身が持つ概念モデル(デザインモデルと呼ぶ)と、ユーザの持つメンタルモデルは、時として食い違う場合が多い。というのも、デザイナーはユーザと直接対話するのではなく、具体的なモノ(ドキュメントやアプリ、教則本など)を通してユーザとやりとりが行われるためである。そのモノ(システム)がユーザに与えるシステムイメージはユーザのメンタルモデルの元になる。つまり、デザインモデルとシステムモデルが食い違っているとユーザは間違った解釈をする可能性がある。ユーザが総じて使いづらさを感じるのは、モノの持つシステムイメージが良くなかったりする場合である。「こう操作したらこうなるでしょ」みたいな考えを持って操作した時に異なった結果が起こったらユーザは困惑するが、これは「こうなるでしょ」の部分をユーザが作り上げたメンタルモデルをベースに導き出した結果起こっているものであり、そもそもそのメンタルモデルはシステムイメージをベースにしていて、そのシステムイメージはデザイナーの考えたデザインモデルから作られているのだから(正しく反映されているかどうかは別にして)、いき詰めると「デザインが悪い」に尽きる。

第2章 日常場面における行為の心理学

事故は起こるよ

 ボタンの押し間違えや誤った操作は、多くの場合、人は自分に責があるかのように思ってしまう。著者が言うにはユーザがそういったヘマをしてしまうのは、デザインが悪いのであって、ユーザ側に責は基本的に無い、とのこと。これはフィードバックが貧弱であったり、ひどいデザインのものを扱っていると思いがちで、それを他の人がうまく扱えているとなおさら「自分が悪いんじゃないか」と思ってしまいがちになるらしい。
 ただ、ユーザがエラーをおかしてしまうのは必然なので、デザイナーはそれを想定した上で、起こる確率や起こった時の影響が最小になるようにデザインする必要がある。これは可能であれば可逆性を持っているとなお良い。

行為の七段階理論

 人の行為とは、何かをするということ(実行)とそれをチェックすること(評価)の2つの側面を持っている。その行為には、達成されるべきもの(ゴール)が存在し、ゴールを達成するためには特定の行為(意図)が必要になる。基本的にゴールは意図に変換され、人はその意図に沿った行為をする。
 行為の七段階理論の各段階はは以下の7つのことを指す。1.はゴール、2.から4.は実行、5.から7.は評価に該当する。

  1. ゴールの形成
  2. 意図の形成
  3. 行為の詳細化
  4. 行為の実行
  5. 外界の状況の知覚
  6. 外界の状況の解釈
  7. 結果の評価

 あくまでこれは近似的モデルであって、私達の行為全てがこの七段階理論に当てはまるわけではない点には注意が必要。プロセスはどの段階からでも始まる可能性があり、日常的な行為は総じてゴールや意図があいまいなまま行われることが多い。付箋を貼って行為を後回しにすることもできるし、本屋の近くを散歩中に偶然通ったから寄るなどはだいたい上の七段階プロセスのどこかから始まっている。
 ここで重要なのは、実行や評価にはへだたりがあるということ。実行のへだたりが小さいということはユーザの意図した通りの行為と、モノが利用可能にしている行為がどれくらい対応しているかのことを指す。評価のへだたりが小さいということは、ユーザの予測している期待と、モノの反応がどれくらいマッチしているかのことを指す。これらは、可視性、良い概念モデル、よい対応付け、フィードバックの4つのデザイン原則をどれだけ満たしているかに寄る。

第3章 頭の中の知識と外界にある知識

思い出す

 頭の中の記憶はあいまいなものになりがちで、いざという時に頭の中から思い出した記憶に自信が持てないのはそのせいでもある。本書には「思い出すこと」に関して面白いことが書いてあった。
 「思い出す」というのは、一見頭の中にだけある知識のようにも思えるが、外界にある知識にもなり得る。Googleカレンダーに重要な予定を登録しておいて、予定が近づいてきたらアラームが鳴るようにしておくことは、思い出すことは非常に容易になる。これを頭の中だけで思い出させようとすると、非常に難易度が上がり、忙しかったりするとその予定の記憶があいまいになったり、思い出すことすら困難になってしまう場合がある。傘を持って帰るのを忘れてしまうのは、傘を持ってきたという記憶があいまいになっているのも要因だと思う。そこに外に雨が降っている景色が見えるなどのきっかけがあれば、その記憶を思い出すこともできて、私が傘を忘れることも減ると思う。
 こういった「思い出させるもの」には2つの側面があり、「何かを思い出さなくてはならないことがある」ということと「何を思い出すのか」に分けられる。メモを書くのは何を思い出すのかには向いているが、メモを見ることを忘れてしまうと何を思い出すのかさえわからなくなってしまう。指に糸を結んでおく行為は、身につけている分、思い出さなくてはならないことがあることには気付きやすいが、何を思い出すのかのメッセージ性を失ってしまう。
 現代では、Googleカレンダーなどの優秀なリマインダーサービスやアプリが身近にあるため、あまり気にしなくて良いことな気もする。しかし、デザインに適用する場合には、ユーザにはなるべく外界にある知識だけで操作できるようにしておくほうが良く、「思い出す」といった行為をユーザに強いるのは最小限にしておくべきでもある。ガスコンロのスイッチや、部屋の電灯のスイッチなど、「このスイッチとあれが対応している」は頭の中に置いておくべき知識では無く、デザインから自然にその知識が導き出されるように対応付けをしておいたほうが良い。

頭の中の知識を外界に出す

 異なったり、久しぶりに統合開発環境を使う際は一部のショートカットキーが思い出せない時がある。これは、そのショートカットキーが頭の中にのみあるからであって、その記憶があいまいになっているからである(まぁこの問題はキーバインド合わせとけば多くの場合解決可能だけども)。私はこの問題に対して、特定のIDEでしか用いない一部のショートカットキーをメモに描いて職場のパーティションに貼ってある。こうやって頭の中野知識を外界に配置することで記憶の負担を減らそうとした結果である。
 これは、一見頭の中の記憶の負担が減らせて良い気はするが、自席に居ないとその知識を得ることができない問題があったりする。この問題はEvernoteを使うことで一応解決はしている。自席にいない時にその記憶が必要になった時はEvernoteを使えば良い。だったらEvernoteだけで良い気もするが、必要な記憶を早急に思い出すときに必要な操作はなるべく少ないほうが幸福だと思うのでメモ書きはたぶんずっとパーティションに貼り付けたままだと思う。首を左方向に60度回すだけで必要な知識が得られるのはわざわざEvernoteのアプリに切り替えて記事を検索よりも全然楽。

第4章 何をするかを知る

制約

 制約には大きく4つがある。物理的な制約、意味的な制約、文化的な制約、論理的な制約がそれに当たる。オートバイのレゴブロックが本書では例として取り上げられている。レゴブロックは接続できる箇所が限られており、それ自体に物理的な制約を持っていることが分かる。また、ヘルメットなどのレゴのパーツによっては付けられる箇所がさらに限定されるようなものもある。オートバイに人を乗せようとした時、乗り手とオートバイがマッチする方向は進行方向にオートバイの先頭と乗り手の正面が向いているといった、1つしかなく、これは意味的な制約によって導き出される。この制約は外界に関する知識に依存しており、知識の有無によっては制約になりえない場合もある(オートバイそのものを知らない場合、など)。オートバイのレゴブロックの1つにPOLICEと書かれたブロックがある。これをPOLICEと読めるように上下反転せずに配置するのは、文字表示はただしく読めるように配置するといった文化的な制約に基いて導き出される。部品が1つ余ったが、取り付けられる場所も1つに限定されていた場合、それは論理的な制約によって取り付ける場所が導き出される。
 制約は第1章のアフォーダンスと関連が強い内容である。これは制約を用いることでユーザへの手がかりをより限定的にすることができるからである。つまり、取手がない押すことしかできないような扉は、その物理的な制約によって、ユーザに「扉を引く行為」を連想させなくし、押す行為のみを行わすことができるのである。これを余分な取っ手やつまみを用いだすと、きっかけからユーザが多くの選択肢を連想してしまい、その中で間違った選択肢を選んだときに望んだ結果が得られず(対応付けの不一致が起こり)ストレスの原因になる。

第5章 誤るのは人の常

スリップ

 何かをやろうとしたが、いつのまにか他のことをやっていることをスリップと呼ぶ。このスリップは6つに分類されている。

  • 乗っ取り型エラー:習熟が原因で、不慣れな行為が習熟した行為で上書きされること
    • ex:買い物にでかけたら職場に行く道を曲がってしまう行為
  • 記述エラー:意図した行為を間違ったものに対して行ってしまうこと。同じ行為を両方のものに対して可能だと起こりやすい
    • ex:火を付けていないほうの鍋に油をひいてしまう行為
  • データ駆動型エラー:データ駆動による行為が現在実行中の行為列に割り込むこと
    • ex:連絡先を言おうとして、現在目で見ている別の番号を言ってしまうこと
  • 連想活性化エラー:外界のデータや頭の中の考えや連想が行為を引き起こしてしまうこと
    • ex:学校の先生をお母さんと呼んでしまうこと
  • 活性化消失エラー:行為の目的が失われてしまうこと。いわゆる「物忘れ」
    • ex:ベランダの扉を開けたが、何のために開けたかを忘れること。部屋に戻って洗濯物の山を見てその目的を思い出したりする。
  • モードエラー:現在のモードを別のモードと思って操作してしまうこと
    • ex:時計のストップウォッチモードと時刻表示モードで異なる意味を持つボタンを誤って押すこと

 スリップから2つの異なったデザイン上の教訓を得ることができる。一つはスリップが生じる前に防止する教訓で、もう一つは、スリップが起こった時に、見つけ出して修正するための教訓。例えばモードエラーであれば、モードを少なくすることでスリップを防止し、現在のモードを目立つように明示することで早い段階でユーザにスリップを気付かせることが可能である。

エラーに備えたデザインをする

 人がエラーを起こすことを必然という前提をすると、それは起こるものとしてデザインをする必要がある。エラー発生前に容易に戻すことを可能にしたり、発見しやすく前もってデザインしておくことは重要である。また、ユーザは基本的にエラーを起こしたくて起こしているわけではなく、目的に向かおうとした過程でエラーに引っかかっているという考えをデザイナー側が持つ必要性を著者は述べている。つまり、ユーザがエラーをおかしたからといってそれは恣意的に行った結果ではないため、エラー時でもユーザには優しく手を差し伸べるのが良いということだろう。
 
 デザインに限らず、運用に関してもそうで、ミスの起きやすい運用方法というものはあると思う。多くのミスの許されないプロセスを必要とする運用や、やたらと運用側に負荷がかかるものは総じてミスが起こると思う。ユーザはミスを起こすことを前提としてデザインするのであれば、運用側も運用側がミスすることを前提として運用方法を確立する必要がある。現代のCI自動化などは最たるものであると思う。人がミスをすることを防ぐための機構を完全自動化することで検出プロセスのミスを起こしづらくするのはとても良い。そこを人がやったらミスの検知にミスが起こるようになり、何を信じたら良いか分からなくなるだろうし。

強制選択法

 4章での物理的制約の一種であり、ある段階で失敗が起こった際に、それ以降のステップが実行出来ないようにすることを強制選択法と呼ぶ。エラーを含んだ行為の発見を容易にしてくれる良い側面があるが、一方でユーザストレスの要因にもなる諸刃の剣的な手段。ユーザが望んでいない行動を強制的に選択させることによるストレスは高く、時としてそれが別の事故を呼び起こしたりする。極端な例で言えば、確認ダイアログを3回出すというのがこれに当たったりする。3回ともOKが押されなければ行為は実行されないが、そもそもその行為をしたくてたまらないユーザからすると、3回も無意味に表示されるダイアログはストレスの要因にしかならない。
 もし、強制選択法を採用するのであれば、選択の結果は信頼性十分に動作することと、無視されても構わない場合と警告をはっしなければならない場面を確実に区別できるようにしておく必要がある。そういった必要な要素を十分に満たせる場面というのは基本的に事故を防止する場合であり、それ以外ではこの強力な制約を使うのであれば熟考が必要である。

第6章 デザインという困難な課題

デザインの進化と逆らう力

 基本的にデザインは進化していくものである。前のデザインよりも良くなるようにデザイナーはデザインしようとするし、ユーザもそれを期待しているのが常だと思う。
 ただ、現代の日常生活において「本当にそうか?」と思うような場面は結構ある。特にスマートフォンの進化なんかは比較的生まれたのが最近のせいか進化の過程がよくわかる。突拍子もないような見た目をしていたり、奇抜なUIをしていたり、本当にユーザはそれを望んでいたのかな?というような機種や機能は世に沢山あふれている。
 これにはセールスの世界での話が絡んでくるからだと考えられ、その話が絡んでくるとデザインの進化が立ち行かなくなったりするのだろうと思う。つまり、似たような製品を世に排出しても話題性が低いのである。前の機種や、別メーカーの機種との差分が大きくあったほうが話題は作りやすいし、広告も打ちやすい。これが、デザインの進化に逆らう力で、改良型が全然改良型じゃない状態でユーザにまで届いたりする。
 それと似たような話で美しさ重視の世の中の問題に関しても本書では取り扱われていた。無骨で無難なデザインよりも、よくわからんけど美しくきれいな方がデザイン界で賞を取るのであればデザイナーもそれにターゲットを絞ってモノをデザインするのはある種自然な流れではある。また、デザイナーはユーザに対してモノ(システム)を通してメンタルモデルを形成させると1章で述べたが、ユーザと顧客がイコールでない場合が多く、顧客を満足させるようなデザインでなければ、ユーザにまでデザインしたものが届かなかったりする問題もある。顧客といった存在によってデザイナーが望まないモノをデザインさせられる場合などこの世にいくらでもあると思う。

第7章 ユーザ中心のデザイン

 第1章から第6章までを非常に良くまとめている章であり、とりあえずこの本を読みなおすときはここの章を読めば最低限な部分は思い出すことができそうなものだと思った。この本を読んだ記憶を今稚拙ながらも文章にこうやってまとめているが、この第7章を読めば本の内容や概要をざっくり思い出すには良いということここに記述しておく。
 こうすることで、「思い出す」という行為に基づくと、自分が再度この記事の一番最後に目を通した時に、再度第7章を読むことがリマインドされ、「第7章は内容がよくまとまった良い章で、読みなおす価値がある」ということを覚えておく必要がなくなった(何を思い出すのかは外界に置かれた)。問題は、再度自分がこの自分の書いた記事を最後まで目を通すことがあるのかどうかというところ。