小野マトペの業務日誌(アニメ制作してない篇)

はてなダイアリーの閉鎖をうけ、旧ブログ http://d.hatena.ne.jp/ono_matope/ から移行しました。続きは→ http://matope.hatenablog.com/

UI2

…という事で悩みつつW-ZERO3はてブを巡回していたところ、まさに今の俺にぴったりな文献が出てきた。
プログラマのためのユーザインタフェースデザイン
実際のところ、ユーザーに与えられるべき快適な体験というものを一度でも深く考えたことのある人間なら、少なくとも前半の内容は割と自明の事だったりするんだけど、ここまできっぱりと断定されると嬉しいし、とても刺激的な内容。プログラマーもデザイナーも必読…ていうか読んで欲しいな。俺は。以下、要点抜粋メモ。

  • てもっとも幸福な日々というのは、たくさんの小さな成功と少しのフラストレーションの日々だということを、私は理解し始めた。
  • ユーザインタフェースのデザインが良いというのは、そう振る舞うだろうとユーザが期待したようにプログラムが振る舞う ことである。
  • オプションを提供するときはいつも、ユーザに決断を求めている。
  • 見かけには影響するが機能に影響せず、ユーザには選択を無視する完全な自由があり、なんにせよ自分の作業ができる。これはオプションの良い使い方だ。
  • よくデザインされたオブジェクトは、見ただけでそれがどう機能するのかはっきりとわかるものだ。大きな金属製のプレートが腕の高さの位置にあるドアがある。この金属プレートに対してできる唯一のことは、それを押すことだ。ドナルド・ノーマンの言い方をすると、そのプレートは押すことをアフォードしている。ほかのドアには大きな丸い引き手があり、引きたいと思わせる。それらは引き手のどこに手をかけるべきかということさえ暗示している。引き手は引くことをアフォードしている。引き手はあなたにそれを引きたくさせる
  • 4年ほど前、多くのウィンドウが右下隅に3本の小さな峰をつけるようになり、それはグリップのように見えた。これは引っかかりが良くなるようにスライド・スイッチの脇についている溝のようだ。これはドラッグすることをアフォードしている。これはウィンドウを広げるためにドラッグしてくれることをせがんでいる。
  • ユーザはマニュアルを読まない。
  • 実際のところ、ユーザは何も読まない
  • あなたがどんな種類のものであれソフトウェアを作るときには、作るのに使える時間より三倍多くの機能を思いつく、というのが現実だ。どの機能を作るか決める最良の方法は、どの機能がもっとも重要なユーザアクティビティをサポートするか評価してみることだ。
  • あなたは想像上のユーザを作り出して記述することなしにUIをデザインできない
  • おしゃれでかっこいいユーザインタフェースを持つことで得られることは多い。Kaiのような優れたグラフィックデザインは見ていて楽しく、人々を引きつける。秘訣はルールを破らずにそれをやるということだ。ダイアログの見た目をちょっと変えても いいが、機能は変えないこと。
  • 要約すると、良いソフトウェアのデザインは6ステップからなる:
    • 1. ユーザを作り出す
    • 2. 重要なアクティビティを見つける
    • 3. ユーザモデル--そのアクティビティを行うためにユーザがどういう期待をするか--を理解する
    • 4. デザインの最初のドラフトを書く
    • 5. あなたの想像上のユーザの能力で十分楽に使えるようになるまで、より簡単になるよう繰り返しデザインしなおす
    • 6. 現実の人間があなたのソフトウェアを使おうとしているところを観察する。人々がつまずいた部分に気をつける。それはたぶん、その部分でプログラムモデルがユーザモデルと合っていないことを示している。

個人的な話だけど、UIデザインで等幅フォントが推奨されているのが嬉しい。何故って、テキストエリア内に入力されつつある文章が今何回改行されているのか、(デザイン上の合理性を保ったまま)計算によって求めることが出来るから。
あと、UI設計者はユーザーを何も出来ないと想定すべきだという主張は非常に共感した。というのも、俺はユーザーを阿呆だと思って設計するようにしてる。あるいは、ユーザーを阿呆にするデザインを。…と書くと俺が人でなしのようだけど、俺は開発者とエンドユーザーの関係において費やされる知性は常に一定であり、開発者が優れた体験を実装するほど、ユーザーに求められる知性は低下する*1、という力学を信じているので。つまりはそういうソフトウェアこそが優れていると。上のリンクを読めばその妥当性が分かるかと。
というか、この論文自体が高度にデザインされているという事実。そして、こんな素晴らしいユーザーインターフェイス哲学を持った人間がMicrosoftにいたという事実が最大の衝撃であり理不尽。
数ヵ月後に追記:上で書いてある俺の認識は、今は微妙です。

*1:直感的に使える