インターフェースの話 にインスパイヤされて

【naoyaのはてなダイアリー::インタフェースの話】

一部のブログツールなんかは更新した直後に管理画面で「エントリーを更新しました」みたいなメッセージが出るようになってます。一方のはてなダイアリーは、更新された画面にリダイレクトするようになっている。はてなダイアリーのインタフェースの中心を作った id:jkondo 曰く「更新された画面にリダイレクトしてその画面が更新されたということが分かれば、メッセージでそれを教えなくても直感的に理解できる。それができる状況でメッセージを用いてそれを教えるのは冗長だ。」と言っていました。これを聞いたときはなるほどな、と思いました。37Signals の Yellow Fade Technique なんかもそういう更新後の画面のビジュアルで、それが更新されたということを直感的に理解させるといういい例だと思います

http://d.hatena.ne.jp/naoya/20060215/1140019065

それが、「初心者でも分かりやすいように」という議論になった途端に「初心者でも理解できるように目に付くところに説明を設けよう」という案がなぜか出てきたりする。でもおそらくどんなに不慣れな人でも、更新直後の画面がそういう動きをするということを一回か二回経験すればそれは理解できると思うんです。おそらくそういうインタフェースこそが初心者でも分かるし、上級者にもストレスのないインタフェースということなのかなと思います。

読んでて「アフォーダンス」と「ユニバーサルデザイン」いう言葉を思い出しました。

アフォーダンスを生かしたインターフェイスってのは、たらたらと説明文を付け加えなくても、直感的に意味を認知し操作できるもの」 ってのが大体の意味とらしくて、まさに一つ目の引用にかかる話です。
ドアを設計する際、取っ手をつければそれが引き戸であることを直感的に示唆できる。また押して開けるドアの場合、取っ手の代わりにに四角い薄い板を貼ることで それが押して開けるべきドアだということが直感的に分かる。「アフォーダンス」ってこんな話だったと思います。(『オブジェクト指向Perlマスターコース』に書いてた)

よく見ると「アフォーダンス」をうまく生かしたデザインは身の回りに溢れています。テレビのリモコンは数字を書いたボタンがついてるだけだけど、ボタンを押すとその数字に該当するチャンネルに変わるってのは小さな子供でも分かりますよね。余計なメッセージがない、つまり特定の言語に依存しないでいいわけです。それはより多くの人に使ってもらえることに繋がります。リモコンの「アフォーダンス」は世界標準の分かりやすさ。また危険や警告を示す信号やサインには赤や黄色が使われ、×や△や□の形になっています。赤い色で大きく書かれた×印は 何か危険なものを直感的に感じさせますよね。一方で安全や平穏を示すサインには青や緑が多く使われ、○型の形が多いようです。(これはそれほど普遍的ではないかもしれないな)

これらの例が動物的直感なのか、社会的経験から身につくものなのか どっちかよく分からないけど、ともかく、人は言語的な説明を介さなくてもオブジェクトの意味をある程度は直感的に受け取ることが出来るようです。

*追記:APIもある意味アフォーダンス的なのかな。少し限定された人たちのためだけど


次にユニバーサルデザイン。あっちでもこっちでも流行ってる言葉だけど概論すると、「子供でも大人でも年寄りでもハンディを負った人でも、誰もが使いやすい質の高いデザイン」 って感じです。引用元id:naoyaでは少し狭い範囲の「はてなユーザー」を対象にしていますが、煮詰めていくとはユニバーサルデザイン的なインターフェイスを実装したい という話に繋がってくると思います。

ところで、バリアフリーユニバーサルデザインは似ているけど、少し違います。バリアフリーは、「現在の環境に存在している障壁や障害を取り除いて、『バリア』を限りなくゼロに近づけていこう」という概念です。バリアフリーの概念は、そもそも 障壁や障害が存在することを前提とした上で話を進めなければいけません。何かネガティブですね。また、バリアをゼロにする目的を達成できるのであればどんな解決方法でもいい という必要条件だけ考えてしまう傾向が強いです。十分条件として、よりよいデザインをするという考えはあまり含まれていません。(例えば バリアフリー住宅には無機質な補助装置がいっぱいくっついてて、どことなくダサい。 ってのは広く理解してもらえると思う。)

一方で ユニバーサルデザインバリアフリーを拡張した概念です。障壁や障害なんぞは作らないことが大前提で、その上でどんなデザインを施せばより多くの人に快適性や利便性を提供できるか という バリア・ゼロからさらなる+∞を目指す進歩的な概念です。ユニバーサルデザインの根底は「デザイン」であって、必要性よりも十分性、つまり「質」を追求していくことが求められます。お年寄り向けの住宅を作るにしても、何もゴツゴツと工業的で無機質な補助器具を室内に散りばめる必要はなくて、もっと洗練されたやり方で補助機能を実現できれば必要条件の安全性に加えて イイ家に住んでるという充足感も満たすことが出来ます。
(概念と書きましたが、大事なのは言葉の厳密な定義うんぬんではなくて、そのような意志を根底にすえてデザインすることが重要なんですよね)
話がそれましたね。元に戻しましょう。

今回のid:naoyaのインタフェースの話は「WEBブラウザ上」もしくは「はてなのサイト上」でどうやってアフォーダンスを獲得し、ユニバーサル化 していくかという話でもあると思います。そして視点がデザイナーではなく、プログラマの視点であること。

こまでつらつらと書き連ねてきましたが、実際にどうすればアフォーダンスでユニバーサルなインターフェイスになるのかと聞かれるとぜんぜん分かりません。。。Ajaxだったり、細かなアイコンデザインだったり、ページ遷移の見せ方やメッセージの表示のタイミングといった部分がキーとなるようです。また必要条件の「使いやすくて」さらに十分の「イイ物使ってる感」を追求していくのも大事だと思います。少しぐらい使いにくくても綺麗なインタフェースであれば、多少の欠点は許容されることと思います。美人が料理下手でも、誰も文句言わないみたいな。。。(WindowsPCに比べて少々処理が遅いMac Osを賛美するマカーさん達は、「多少演算が遅くても、カッコいいじゃん」っていう気持ちが強いんじゃないかな?もちろん見た目だけでなく、機能的にもMacは秀逸なインターフェースを提供していますね。自分はwindowsですが・・・)

なんにしろ、Ajaxの登場で分かったの、WEBページのインターフェースはまだまだ発展性の糊しろを残した領域だということですよね。

っと未開拓な領域だから、ここで他分野にインスパイヤされるのもありなんではないか?というのが僕の考え。インターフェース論はWEB世界だけに限定する問題ではなくて、建築やインテリア・デザイン、諸々のプロダクト・デザインなどにも拡がるもなので、他分野で優れた先例にインスパイヤされて、クロスオーヴァーな視点を確立するのも一つの手でしょう。ちょっとしたヒントぐらいは必ず得られるはずです。

*追記 id:naoyaファミコンのインターフェースの話を取り上げていました。ファミコンのゲームの中にも参考になりそうな良質インターフェースが眠っている気がしますね。処理能力が全然なくて限定されたリソースしか使えなかった。ゆえにシンプルなんだけど、創意工夫を経て使いやすいインターフェースが生まれたんだろうな っと。

インターフェースの話はここらへんで。



最後に。

それから、これは個人的な意見ですが、プログラマはコンピューターの扱いになれているから、そうでない人が使うためのインタフェースを設計することができない、みたいな話をときどき耳にしますが、僕はそれに懐疑的です。インタフェースをうまく設計できない人というのはプログラマに限った話じゃない。それは「プログラマは営業ができない」と乱暴にまとめてしまうのと同じようなこと。

凄く共感します。「プログラマ だからプログラムが出来る人」ではない。「プログラムが出来る人だから プログラマである」 ですよね。プログラムが出来て、インターフェース設計も営業も出来る っていうジェネラルな才能を持った人も多くいるはずです。意味形成のプロセスが逆になってる気がする。演繹的な話の仕方は時に凄く危険です。

こんな風に、実質的な中身よりもカテゴリやジャンルが先にきてしまい、対象を型にはめて話をする人がたくさんいてウンザリします。例えば、「血液型がB型だから、あなたは□□な性格なんでしょ?」という話だったりもっと二元論的で極端なカテゴライズになると「理系だから○○、文系だから○○」「男は○○、女は○○」だったり・・・そういう見方って突き詰めていくと「ユダヤ人は下等な民族だ」としてしまったヒトラーの強い偏見と同じ話に辿りつく気がします。型にはめた思考をしてしまって、途中で思考放棄に陥っています。

世の中の多くのものごとは、言葉と一対一の対応関係にない物の方が圧倒的に多い気がします。「あなたは○○系だから つまり○○だ」で思考を放棄し、偏見を持たないで、より実質的な部分に突っ込んでいく姿勢を持ち続けたいですね。(それはかなり疲れるのですが)

話が広がりすぎたし、長くなったのでこんなんで筆をおきます。