見出し画像

概念に触れることから、創造性は生まれる——OOUIの目当て #WIAD2019

2019年2月23日、Information Architecture Instituteが主催する、『World IA Day(WIAD)』が開催された。本イベントは、情報アーキテクチャ(以下、IA)の観点から情報のあらゆる場面における課題の発見と定義、考察や議論の深化を目指す。

2019年は「IA in IxD(インタラクションデザインにおけるIA)」をテーマに、オブジェクト指向UI設計(Object Oriented User Interface、以下OOUI)とUIデザインの関係についての考察と議論がなされた。

イベントのメイントークでは、OOUIに造詣の深いソシオメディア取締役の上野学氏が登壇。『OOUIの目当て』と題し、「オブジェクトとは何か?」を問うところから始まり、OOUIと非OOUI的なUIの裏側の違いや、その目的について語った。

本記事では、上野氏がイベントで話した言葉をかみ砕きつつ、ブログに記された内容をあわせて、レポートとした。

何千もの小さな仕組みが、大きな構造体を動かす

セッション前半は、“OOUI(Object Oriented User Interface)”という言葉、それぞれが意味するものを知ることからはじまった。

まずは、“Object”だ。「前へ、その方へ」を意味する接頭語の“ob”と、「投げ込む」を意味するラテン語の動詞が過去分詞化した“ject”が組み合わされてできた“Object”は「その方向へ投げる」というニュアンスを持つ。

“Object”の対義語は、「主題」とも訳される“subject”。“sub”は「下に」という意味を持つが、原義では「支配される、下に仕える」というニュアンスがある。上野氏は、この2つの概念を、プラトンの「洞窟の比喩」になぞらえ、「“object”=究極の理想世界」、「“subject”=人々が暮らす世俗的世界」と解釈し、これらを媒介するのが”verb(原義は「言葉」)”であると指摘した。

「『洞窟の比喩』では、我々は洞窟の中に住んでいて、外の世界にある究極的な理想の概念を影として洞窟の中で見ているとされています。この画の左側にある、抽象的で観念的なものから、右側のような具体的なものや感覚的が生み出される、という流れを覚えておいてください」

続いて“Oriented”を見ていこう。「東洋の、東の」を指す“orient”は、古代ローマ人から見た日の昇る方向を指す言葉だった。そこから「あるべき・本来の方向性」へと意味が転じ、“oriented”は「志向された・意識を向けるべき方向性」となった。これらを踏まえると、“Object Oriented”は「オブジェクトを志向する方向」となるが、”Object”自体が「その方向へ」という意味を包含するため、“Object Oriented(以下、オブジェクト指向)”は同語反復的なニュアンスを持つ。

このObject Oriented(オブジェクト指向)は1960年代に、はじまったプログラミング技術が入り口にある。“オブジェクト指向”という言葉をはじめて使ったとされるアラン・ケイは、以下のような言葉を残している。

オブジェクト指向とは、オブジェクト自身が自分が何をできるのか知っているという意味である。——(アラン・ケイ 『ユーザーインターフェース 個人的見解』より)

この言葉を引用しつつ、上野氏はオブジェクト指向を以下のように説明した。

「オブジェクト自身が自分が何をできるのか——つまりデータ(=オブジェクト)と動作(=何をできるのか)がパッケージになったもの、それがオブジェクト指向です。オブジェクト指向プログラムでは、たくさんの小さなオブジェクトが集まり相互作用することで、全体として大きなシステムを動かす仕組みになっています」

オブジェクト指向プログラミングを、先ほどの「洞窟の比喩」と照らし合わせて考えてみよう。たとえば、「犬」というひとつの抽象的な概念を作る際、まずは「クラス」と呼ばれる型を作る。これが大きなシステムそのものだ。個々の犬が持つ毛色や名前、鳴き声は「プロパティ」、鳴いたり走ったりする機能的な振る舞いは「メソッド」と定義する。

「『犬』という抽象的なクラスを基に、個体的な、実体のある一匹の犬=インスタンスをプログラムで作ると考えてみてください。プロパティにはそれぞれの固有の値を与えます。たとえば、名前はポチ、色は茶色、鳴き声はワンというように。振る舞い、つまりメソッドはすべての犬のインスタンスが共有します。そこで、ポチという値に『鳴きなさい』という命令を与えると、ポチは『ワン』という鳴き声を使って鳴くという処理ができる。これがオブジェクト指向プログラミングのベースとなる考え方です。普段皆さんが使っているソフトウェアのアプリケーション内には、これ以上に何百何千というオブジェクトが組み込まれているんです」

デザイナーに求められる、“ユーザーが理解していることへの理解”

Object Orientedを理解した上で、話はUIへ移る。耳慣れた“User”と、“Interface”という2つの言葉について上野氏は考察を深める。

まずは“User”だ。UCD(User Centered Design)など、デザイナーにとってユーザー視点は非常に重要な要素として認知されている。ただ、上野氏はその捉え方を再定義する必要があると考える。

「UCDはユーザーのニーズや潜在的な課題を見つけようとする姿勢として重要でしょう。ただ、デザイナーがユーザーに本当に共感してしまったら、ユーザー以上の視点は持ちえない。デザイナーは、ユーザーやプロダクトを取り巻く環境全体を理解し、“ユーザーが理解していることを理解する”必要があります。ユーザーが何に困っているのか、何を感じて考えているのかを観察し、新たなあるべきモデルを考えていくのがデザイナーの役目です」

最後は“Interface”。我々は普段、インターフェースを介してすべてのオブジェクトと対峙しており、インターフェース越しに対象を認識しコントロールしている。ジェフ・ラスキンは「顧客の立場から見る限り、インタフェースが製品そのもの」と語っているが、インターフェースを通してでしか製品(プロダクト)を認知できない、ユーザーにとっては、“インターフェイスそのものがプロダクト”である。

この前提で考えると、User Interfaceは、少々異なった見え方をしてくる。上野氏はブレンダ・ローレルが『劇場としてのコンピュータ』で用いた図をアップデートし、ユーザーとオブジェクトの関係性を以下のように示した。

「たとえばスマホを操作しているとき、ソフトウェアを操作しているという感覚はほとんど持たないと思います。Twitterを眺めているとき、その裏側にあるAPIやプロセッサの仕組みを意識することはありません。つまり、我々が対峙しているのはもはやコンピュータですらなく、なんらかのオブジェクトそのものである。そのオブジェクトとユーザーを取り持っているのがインターフェースなのです」

OOUIは「すること」ではなく「得るもの」から考える

Object Oriented User Interface——この言葉を理解した上で、「オブジェクト指向の目的とは何か」という今回のタイトルにも掲げられた問いへと向かっていく。

ここで上野氏は、『パタン・ランゲージ』で紹介されている「柱のある場所」の話を持ち出した。建物の作り手は屋根を支えるために柱を作るが、建物の中にいる人は憩いの場所、あるいは空間の間仕切りなど様々な方法で柱を利用する。作り手の意図を超えたところに意味が生まれる構造は、オブジェクト指向と近しいところがあると指摘した。

「このように、あるオブジェクトがユーザーにとってどのような意味を持つのか、デザイナーはモノの側の視点から、物自体の存在性について常に考える必要がある。作り手の意図を超えたところで、オブジェクトは使われながら新たな意味を獲得する。これこそが、OOUIの目指すところでもあります」

我々が現在日常的に使うGUIも、オブジェクト指向から生まれたものだ。画面上には操作対象が現れ、ユーザーはそれに直接的に働きかける。「対象→操作」の順へとユーザーは行動を遷移させていく。「仕事の対象」「それに対して行えるアクション」「結果」の3つが常に見えていれば、ユーザーはその道具(ソフトウェア)を使ってできることや役割を発見できる。そこにはユーザーの楽しみと創造性があると上野氏は考える。

先に対象となるオブジェクトを開示し、ユーザーがそのオブジェクトの全体感を把握した上で、工夫し、好きな手順で目的を達成する——この過程が実現されたことで、人はソフトウェアの世界において、自由と創造性を手にした。

「ユーザーにオブジェクトを見せ、自由な操作を可能にすることで、ユーザーは直接オブジェクトとつながり、そこで為すことに自分なりの意味や手順を見つけ出します。先ほどの柱の例のように、オブジェクト指向に基づいたデザインでは、使う側と作られたモノが相互に作用しあって新たな意味を創出する。そこで生まれる意味、つまり、ユーザーが『得るもの』に焦点を当てるのが、オブジェクト指向の特徴です」

しかしながら、近年のデザインは、特定の課題に対するソリューションとして機能する方向で発達してきた。オブジェクト指向のもつ「得るもの」軸ではなく、「すること」を軸に行動をするタスクベースで構築され、短期的な意味を追求するようになっている上野氏は指摘する。

「タスクベースのデザインは即物的な問題解決にフォーカスしすぎていると私は考えています。このスタイルが普及しすぎた結果、デザインが『この問題をこう解決しましょう』という短期的な意味だけを追求する存在になってしまった。ないしは、『このソフトはこう使うもの』と作り手が決め、人間をコントロールする目的でデザインを駆使している。つまり、タスクベースのデザインは、ユーザーの創造性を奪っているともいえます」

オブジェクトをユーザーの活動領域から抽出し、何を見せるかをデザイナー自身が決定する

「すること」を軸にしたデザインではなく「得るもの」を軸とするデザインへ移行するため、我々は何をすべきか。OOUIにおけるポイントを、上野氏は以下の3つで表す。

そして、これを実装するために、上野氏はインターフェイスを「オブジェクト」「ビュー(ユーザーが画面上で目にする、ひとまとまりの情報表示領域)」「コントローラー(ビューの状態を変更したりユーザーの操作を受け取って処理するもの)」という3つの概念に分解し、以下のステップにしたがってデザインを行っていく。

1.ドメインからオブジェクトを抽出する
2.ビューの種類を決める(コレクション/シングル)
3.コントローラの役割を作る

メールクライアントを例に考えてみよう。まずはオブジェクトの抽出だ。メールクライアントの場合「受信箱」といった格納する場所と、個別具体の「メール」がオブジェクトしては存在する。

それをビューに落としていくと、「受信箱のビュー」、「メール一覧のビュー」、「メール本文のビュー」という3つが必要となる。メール本文は一要素しかないシングルで、それ以外は複数の要素が格納されるコレクションになる。

最後にコントローラをセットする。受信箱では「開く、追加、削除」というコントローラが求められる。同様に、メール一覧では「開く、削除」、メール本文では「返信、転送」を使うだろう。図に整理すると、以下の通りだ。

これをインターフェイスに落とすと、以下のようになる。

「OOUIの要となるのは、オブジェクトをユーザーの活動領域から抽出し、何を見せるかをデザイナー自身が決定するところです。『どのような概念を存在させるか』『何をオブジェクトとして提示するか』によって、生み出される操作や創出される意味はまったく異なります」

人々が自身のやり方で意味空間を思索し、愛智者として日常を汲んでいけること

OOUIを実装する上での考え方を述べた後、上野氏はいくつかの例を挙げ具体を通して、理解を深めた。そのあたりはブログが詳しいため、本記事では割愛させていただく。

OOUIの理解、実践の例を理解した上で、総括としてOOUIの役割をあらためて振り返る。OOUIは、単に操作手順を『対象選択→アクション』とする表現上の話ではなく、ユーザーとの向き合い方を再定義するものだ。『すること』から考え、ユーザーをコントロールするのではなく、『得るもの』から考え、創造性を開放する。

「人々が自身のやり方で意味空間を思索し、愛智者として日常を汲んでいけるようにすること。誰もが自らにとってのデザイナーとなり、世界を新たな方法で見たり感じたりできるようにすること——それが、OOUIの目当なのです」

[文]藤坂鹿