2009年10月22日木曜日

無名の質

About Face 3 の読書ノートのつづきで、次はデザインパターンのところを書こうかな、と思ったんですが、この部分、結構あっさりしてまして。

デザインパターンといえば、GoFのやつが有名だけど、インタラクションデザイン方面では「デザイニング・インターフェース」なんてのがあるよ。そもそもデザインパターンって発想はアレグザンダーの建築論からはじまるわけだけど、インタラクションデザインの場合は、うまく作るため、というより、みんなに喜ばれるものを作るためにパターンを活用しようという点で、GoFのやつ(ソフトウェア工学)よりアレグザンダーのもの(建築学)により近いよね。とかなんとか。

どうもここは、なるほど、としか言えそうもないのでしれっとスルーの方向で、ということにしたんですけど、ただ、そういえば、アレグザンダーのデザインパターンって実際どんなものなのか、急に気になってきたんですね。なんとなく話には聞いているけど、実はちゃんと見たことがなかったんです。

それなら、素直にアレグザンダー本を読めばいいんですが、ちょっとお高いので、まずは入門編をってことで「パターン、Wiki、Xp」を手にとってみました。

この本、デザインパターン、Wiki、エクストリームプログラミングのそれぞれの発展史なんですけど、アレグザンダーの思想がそれらに与えた影響を丹念に追っていくといった趣向で書かれているですね。だから、アレグザンダー入門としても読める。

読んでみると、アレグザンダーのことだけじゃなく、デザインパターン、Wiki、エクストリームプログラミングについても、知らないことばっかり書いてあって、結構、びびりました。

それぞれいっとき夢中になったものばかりなんですが、実際上の功利ばかり追いかけて、それらがよって立つ由来や思想的な背景に思いを馳せるなんてことはまったくなかったもので。それにしても、デザインパターンだけじゃなく、エクストリームプログラミングやWikiも、アレグザンダーの影響下にあったとは。隣の席の北橋くんから聞いた話だったら、うそつけ、このやろうの一言で片付けてしまいそうです。

この本によれば、デザインパターンやアジャイルな開発手法にも影響を与えたアレグザンダーの思想のキーワードは、「無名の質(QWAN, Quality Without A Name)」ってやつなんですね。

入門書を読みたての生半可をはじめにお断りして言いますが、アレグザンダーが「無名の質」と呼ぶのは、要するに、古い街並みにみられるような、おそらく時間をかけて自然に出来上がったと思われる、なんとも言えない具合のよさ、みたいなことです。

それは、うまく定義することができないし、はっきり名指すこともできない。しかし、その場に居合わせれば、たしかに感じ取ることができるので、あるある話としては、ずらっと具体例を並べ立てることができる。でも、それ全部ひっくるめて何て言うの?とあらためて問われると、やっぱりうまく言い当てることができない。年甲斐もなくはしゃぎながら「イーンダヨ、イーンダヨ、ナンダカワカンナイケド、スッゴクイーンダヨ!」と言って回るしかない。

でも、結局、デザインとして一番いいのは、そういうものなんじゃないかと。

そこで、アレグザンダーは、そういう「無名の質」を、なんとか人工的な建築物にも持ち込むことができないかと考えるんですよね。

自然の成り行きにまかせて「無名の質」が出来上がるのをただ待つのではなく、どうにかして人為的に生産してしまおうというわけですよ。じつに大それてますね。しかし、そうして、ソフトウェアのデザインパターンやアジャイル開発プロセスにもつながるような、さまざまな原則や実践方法を編み出していったんですね。

だけど、「無名の質」って、やっぱりちょっと釈然としませんよね。

どうしても名付けられない何かなんていっちゃって、それって、「考えるな、感じよ。」式の神秘主義か、見えない何かに賭けるロマン主義かなんかじゃないの。真理や奥義のチラ見せで弟子を引っ張っていこうなんて古い手だなあ!とか言いたくなる向きも、実際少なくなかったようです。

この本もだいぶそこのところにひっかかっていて、最後、あとがきのところでは、「無名の質」はやっぱり難解すぎるとしながら、

「アレグザンダーはおそらく「読者に自分で考えてほしい」と思っていたのではないでしょうか」

なんて小学校の道徳のようなことをいってます。

まあでも、よし、それじゃあってことで、ぼくも自分で考えてみましたよ。

以下、アレグザンダーの著作に直接当たることもなしにこんなことを言う資格がないことは百も承知で言いますが、Quality Without A Nameを、「名付けられない質」じゃなくて、「名前を持たない質」と考えてみたらどうなんでしょうね。

もっとベタに言うと、「名前がないという属性を持つ何かについての質」。

名前っていうのは、コンテクストに依存しないで、つねに同じ対象を指示できるものだとしますよね。(哲学に可能世界と固有名の議論がありますね。)

すると、コンテクストに依存することによってしか存在することができない存在があるとしたら、それは名前を持たない、持つことができないといえるでしょう。

で、コンテクストに依存することによってしか存在することができない存在って、またややこしい、何だよそれ?ってことになりますけど、それは、もうコンテクストそのものですよね。

そう考えると、無名の質って、簡単に言えば、コンテクストそのものとしか言いようのないものの質ってことじゃないでしょうか。

それのいいやつを、アレグザンダーは自分たちの力で意志的に作りたいって言ってるんでしょう。

しかし、コンテクストってのはやっかいですよ。

それは関係性の無際限な広がりのことだし、いろんな観点から観察できるけど、ある一点からの観察では全体を把握することができないような全体性のことだし、さらに、つねに一回こっきりのものだし。

これは再現や再生産の対象には到底なりえませんよね。

設計図や雛形をもとにして計画的に作れるようなものではない。設計図や雛形をもとにコンテクストそのものを人為的に作ろうなんていったら、それは神をも恐れぬ悪魔の仕業ですよ。

当然、アレグザンダーは悪魔ではないので、直接「無名の質」を作ったりはしないわけです。

ただ、現に「無名の質」を作り出している自然生成のプロセスをよく観察して、シミュレートしてみたらどうかと。長い時間をかけて積み重なったたくさんの偶然の結果としてある自然生成を、リーズナブルにシミュレートする方法を考えてみようと。

アレグザンダーがデザイナーとして直接手を下したのは、そこのところですよね。シミュレートをうまくやるために必要な道具と作業のデザイン。それができたら、自分でも自然生成のシミュレーション環境に飛び込むだけ。

* * *

って、どうです。これで丸くおさまっているかんじじゃないですか。

でも、いろいろググってみたかんじでは、これは確実に「無名の質」の誤読なんですけどね。

2009年10月8日木曜日

インタラクションデザインの原則、の見取り図

About Face 3 読書ノートの19。

優れたインタラクションデザインには共通する特徴がある。はず 。クーパー目線でそれらをさらって、原則として打ち立ててみたのがこの本、といってもいいと思うんですが、PartIIの冒頭の chapter では、その原則の数々をゆるくまとめて、ざっと俯瞰して見せてくれています。

(本全体は26のchapterを3つのPartに分けた構成になっています。ちなみに今までの読書ノートはおもにPartIを対象にしていました。今回からPartIIに入ります。)

原則の、さらにその"まとめ"なんで、非常に耳触りのいい言葉が並んでいて、ツルツルと読めてしまうんですが、どうも一読しただけでは、はっきりとした手応えが得られないんですよね。ぼくの頭では。

そこで、自分なりに噛み砕いてみることにしました。自分なりにゆがむかもしれませんが、なにしろ自分の現場で使いこなすのが第一の目的ですから、まずはそれでいいことにします。

さて、原則にもいろいろな粒度がありまして。だいたい次の4つのレベルに分けて考えることができるといいます。抽象度が高い順に並べると、

レベル1. デザインの価値観に関する原則
レベル2. コンセプトに関する原則
レベル3. 振る舞いに関する原則
レベル4. インターフェースに関する原則

と、こうなります。

最初の「デザインの価値観に関する原則」なんですけど、これって他の3つと並べるようなものじゃないですね。経験から導き出された原則というより、戒律とか、カントの定言命法みたいなもんで、いわばデザインの神様の命令です。それを疑ったり、試したりしてはならない。ほかの原則たちもすべてここから導出されるか、または、その枠内でのみ存在を許されるか、みたいなかんじです。

いわく、それがデザインである以上は、

・倫理的であれ
・合目的的であれ
・実践的であれ
・エレガントであれ

と。もうすこし中身に踏み込むと、以下のようなかんじでしょうか。では、聖書でも読む気分でどうぞ。

人の権利や安全を脅かしたり、感情を害することのないよう細心の注意を払いなさい。何らかの点で必ず有益であり、どんなにわずかでも人類の進歩に寄与するものでなくてはなりません(倫理的)。

そして、いったい何のために存在し、誰のどんな目的に奉仕するのかを常にわきまえていることが肝要です。いかなる状況にあってもゴールダイレクテッドを旨としなさい(合目的的)。

それは現世において、あなたがた自身の手によって実現できるものでなければなりません。どんなにすばらしいアイディアであっても、神の奇跡を条件にしてはなりません(実践的)。

行いの正しさのみをもって神の御心にかなうと考えてはなりません。もっとうまくやりなさい。もっともシンプルで、もっとも調和のとれたものを作りなさい(エレガント)。

(念のためいっときますけど、この通り本に書いてあるわけじゃないですよ。ぼくの勝手なまとめです。)

個人的に胸に手を当てて考えてみると、案外、「倫理的」というところが穴だと思いました。実際、つい調子に乗って畜産業メタファーの紳士録とか作っちゃうほうです。ぼくは。いけませんね。ここで懺悔しておきます。

ともかく、このデザインの神様の4つの命令をよく守るために、続く「コンセプト」「振る舞い」「インターフェス」に関する原則が経験から見出されてきた、そういう構造で捉えるとわかりやすいと思います。

ただ、残りの3つもなんだかぼんやりしているんですよね。そのままでは。

「コンセプト」って何だ? それから、「振る舞い」と「インターフェース」をどう分けて考えるんだ?ってなかんじです。

まず、「コンセプト」。各レベルの原則について、本書内のどのchapterで触れているかが案内されているんですが、「コンセプト」の部分は、

・Chapter3 初心者、上級者、中級者
・Chapter9 プラットフォームとポスチュア
・Chapter10 オーケストレーションとフロー

ということです。

Chapter3は、要するに、ユーザーのあり方(ほとんどの人は中級者)、Chapter9は、逆にデザイン対象のあり方(支配的なアプリ、単発的なアプリ、デーモン的なアプリ)、で、Chapter10は、両者の理想的な関係の話です。

ということは、これ、デザイン対象の存在のしかたに関する原則ということですね。制作のプロセスでいえば企画から要件定義のところ、それが何なのか、何のためのものなのか、誰をどんなふうに喜ばせるものなのか、という概念をデザインする段階の原則。

そういえば、えらそうに「この製品のコンセプトは ...」 とかいうときの「コンセプト」がこれでしたね。

よしわかった。次。「振る舞い」。

ここにあたるのは、ちょっと多いですけど、

・Chapter8 優れたデザインの総合: 原則とパターン
・Chapter9 プラットフォームとポスチュア
・Chapter10 オーケストレーションとフロー
・Chapter11 間接税的な操作を取り除く
・Chapter12 よき振る舞いのデザイン
・Chapter13 メタファ、イディオム、アフォーダンス
・Chapter14 ビジュアルインターフェイスデザイン
・Chapter15 検索: データをもっと簡単に手に入れるために
・Chapter16 アンドゥを理解する
・Chapter17 ファイルとセーブを考え直す
・Chapter18 データ入力の改良
・Chapter19 ポイント、選択、直接操作

だそうです。

ここらへんは、これから読書ノートを作っていくところなんですけど、まあ、前に一読して了解した範囲で説明を試みますと、以下に挙げるような、コンピューター・ソフトウェアが行う基本的な仕事を遂行する上で、人間によりよく奉仕するためにとるべき配慮やお行儀の話なんですね。

・データの検索
・データの操作(選択、入力、やり直し)
・データの永続化
・GUI(ポインティングシステムとウィンドウシステム)

たとえば、いちいち保存しますか?なんて聞くな、するに決まってんだろ?どういう根性してるんだ、おまえ。とかね(インターフェースではなくて、そもそもの根性のレベルの問題)。

アラン・クーパーは既存のソフトウェアのこのレベルでの出来に相当イラついているので、ここらあたりの舌鋒は異様に鋭くて読んでいて楽しいです。

これ、いってみればソフトウェアの"資格"を問うているんですよね。あまりにも有名なハードボイルド小説の主人公のセリフにならっていえば、「優しくなければ生きていく資格がない」ってやつです。ちなみに、生き抜く力(「強くなければ生きていけない」)のほうは、上の「コンセプト」のところでしょう。

で、最後、「インターフェース」。

ここに当たるのはおもに、

・Chapter13 メタファ、イディオム、アフォーダンス
・Chapter14 ビジュアルインターフェイスデザイン

で説明されている原則です。

生き抜く力があるか(コンセプト)、生きていく資格があるか(振る舞い)についての原則をよく守り、それぞれの水準でのデザインがうまくいったとしても、それがユーザーにちゃんと伝わらなければ意味がない。

ユーザーが、こいつはたしかに有用で、しかも、優しく接してくれるうれしいやつだという脳内モデルを育んでくれるのは、つねに具体的なインターフェースの操作によるインタラクションを通じてのことです。これが下手だと元も子もない。そのためにいろんな手管を使うわけです。

たとえば。

その存在のありようをなるべく効率的に了解してもらうためには、共有しているはずの文化的背景を当てにしたり(メタファー)、すでに一般化している慣習に従ったり(イディオム)、ヒトの知覚的な本能と経験則を利用したり(アフォーダンス)します。そしてそうする上で従うべき原則があります。

一方、行儀のよい振る舞いも、結局は、より小さなインタラクションの積み重ねです。そして、GUIの場合、インタラクションはビジュアル・インターフェースの状態の変化として表現されていきます。そこでは、ユーザーの視覚と認知と運動と記憶になるべく負担をかけないように配慮すべきなのですが、そのための原則がまたあります。

ってね。なるほど、これで「振る舞い」と「インターフェース」をどこでどう分けるのかがわかりました。

さて、以上をまとめてみますと、

・まず、デザインの神様の命令がある。
・その命令にしたがって、存在する意義と資格をデザインするための原則がある。
・さらに、その存在をよりよく表現するための原則がある。

ということになるでしょうか。これでぼく自身はすっきりしちゃいました。

一応、そんな見取り図を頭に入れて、続きを読んでいきたいと思います。