オブジェクト指向デザインの道具論

+M解題インタビューシリーズ Vol.1

上野 学 / Manabu Ueno

2020.10.28

——— 上野さんが出版された本『オブジェクト指向UIデザイン※1』は、体裁が実用書という形で、副題には「使いやすいソフトウェアの原理」とあって、そしてユーザーインターフェース(UI)の「操作性と開発効率の劇的な向上」と書かれています。なので、基本的にはUIデザイナーの人たちに向けた実用マニュアルみたいなもので、そこをメインターゲットとして想定しているんでしょうか。

上野:
これは技術評論社という出版社の一連のシリーズなんです。もともとコンピューター関係の技術本を出してるので、想定読者としてはコンピューター技術者ですね。たぶんこのシリーズで初めてのデザインに関する本なんですが、技術者向けの枠組みでデザインについて書いています。担当編集者の方には、前から雑誌記事でお世話になっていて、僕がどういうことを書くのかよくわかっていたので、かなり好きなことを書かせてもらいました。

§

——— ただこの「オブジェクト指向」という概念は、UIデザインという意味を超えて、そもそも「人間にとって道具とはどういうものか」とか、あるいは「デザインってそもそも何なんだろう」といった、非常に拡張性の高い問題まで広がっていくコンセプトになっていると思うんですね。なので、まずは書かれている内容を簡単におさらいをして、その上でオブジェクト指向という概念が上野さんからどのように出てきたのかを聞いていきたいと思っています。

結構多くのページを占められているのが実践演習で、実用書という体裁を保っているとは思うんですけど、「はじめに」とか「おわりに」とか、後半の「オブジェクト指向UIのフィロソフィー」では、かなり抽象度が高い話も交えてますよね。

上野:
最初はプログラミング教本みたいにノウハウだけが書かれた体裁にしようと思ってたんです。「まずこの文字を打ってください。それから次にこれをしてください。この通りにやれば誰でもできますよ」みたいな。だけど、今回「ワークアウト」と呼んでいるところを書いていたら、もうすこし説明がないとわかんないよねと思ってきて、そしたら公理系のメモがどんどん増えていき、半分ぐらいになってしまいました。

§

——— 逆に言うと、上野さんはもともと公理系が身体化されていて、実践ではその場の課題に合わせて公理系を導きながらお仕事されてるんですよね。要するに、マニュアルが先行してあるわけではないと思うのですが。

上野:
そうですね。自分がやってることをメソッド化しながら書きました。もちろん人それぞれで勝手にやっていいし、いろんなやり方があるんだけど、その背景にある考え方は、自分のなかで確たるものがある。そこをあえてメソッドにして一存をまとめてみました。

§

——— そういうことですよね。では内容に入っていきながら、その辺の背景にある思考のコアコンセプトが、上野さんのなかでどうできあがってきたのかを、徐々にお聞きしていきたいと思います。

まず大前提として、多くのUIが非常に使いづらいと言われます。それは利便性を損なっているだけではなくて、使う人から創造的な試行錯誤の機会をあらかじめ奪っている。つまり、使う人間がある種の疎外感を持っているというのが、電子機器に接する多くの人の印象なんじゃないかと思うんです。この問題については、本の「はじめに」でオブジェクト指向とタスク指向を概念として対比しながら論じられています。

すごく単純化すると、多くのUIが使いづらいのはタスク指向で作られてるからだってことだと思います。タスク指向は、ゴールをあらかじめ想定して、そこに向けて最適化しているデザインであり、その最適化されたライン以外の道をすべて排除することによって成り立っている。それが使いづらさを生んでいるんじゃないかってことですよね。

このように、そもそもいろんなUIがタスク指向で設計されてきた要因を、上野さんはどのように考えられてますか。

上野:
タスク指向については、おっしゃるとおりですね。本の「はじめに」で石器の写真が出てきます。実はこの写真の使用許諾を得るのが結構大変だったんですけど、ここに石器を載せた理由は、この本が「道具論」であるという導入にしたかったからなんです。

道具を作ったり使ったりするというのは、人間の根本的な営みです。そして道具は、われわれが世界とインタラクトするインターフェースでもある。パソコンが普及して、さらにスマホやクラウド系のサービスが生活のなかに浸透して、使ってる時間も長くなっています。そういったものとネイティブに接している世代からすれば、ソフトウェアのバーチャルな世界とリアルな世界は区別がないと思うんですよ。そうすると、ソフトウェアのインターフェースは世界のインターフェースであるとも言える。だから、そのあり方を考えるのはデザイナーとして重要だし、人間としても重要なんじゃないかってことですね。これはUIデザインやソフトウェア開発といった特定のジャンルというより、もっと普遍的なテーマだと感じていました。

そのなかで問題になっているのが、先ほど指摘されたようにコンピューターのデザインがタスク指向になっていることです。自分なりにその要因を考えると、もともとコンピューターは高速に計算をする機械として便利だから、ということになります。コンピューターに高速に計算をさせるために、そのプロセスやロジックを教えるプログラミングをする。そうすると、人がやっていたら何人も必要で長時間かからないと終わらないことを、ものすごく高速におこなうことができる。つまり、長いプロセスをコンピューターに埋め込むことで、たくさんのステップを自動的に実行するという考え方が先行してあると思うんです。

その発想だと、コンピューターにやらせる計算は、目的に向かって線形化して正規化してプログラミングをするというプロセスになってしまいます。コンピューター以前からそうかもしれないですけど、自動化というのは機械を使って機械化することなんです。そして、次に複数のプロセスを連続的に走らせる。なので、コンピューターでシステムを作るときは、どうしても線形化したタスクを実行するという固定観念になってしまいます。今も業務系のシステムは、そっちの方が多いと思います。

だけど、それはわれわれの世界の認識のしかたや物の考え方と違う。それに気がついた天才的なコンピューター科学者たちが、オブジェクティブに操作できるコンピューターを作れないか考え始めた。60年代に始まって、70年代から80年代と研究してきた人たちがいて、今のコンピューターやスマホみたいなグラフィカルユーザーインターフェース(GUI)ができました。

§

——— そもそもの開発プロセスが、タスク指向と親和性が高いってことですよね。もしかすると「はじめに」で書かれていることに、もうひとつの観点があるのかもしれないと思いました。

顕在化した課題に対する即物的な解消手段として狭く捉えること。システムの全体性を軽視して部分最適化を偏重すること。テクノロジーにのって人々の射幸心を狡猾に刺激し、その行動を支配して盲目的な消費欲を増幅させること。権力者の要求に合わせてその他の人々を一方的なタスクに従属させること※2

ここに書かれているようなUIは、市場構造みたいなものを背景にした要請とも言えるんじゃないかと思います。「人々の射幸心を狡猾に刺激する」と書かれているところは、ユーザーに物を買ってほしいとかサービスに契約してほしいといった、事業者の強い動機が反映されたゲームの課金システムやランディングページを思い出させます。こうした動機は、市場としては当然のことなんですけど、その実現手段としてユーザーにこう動いてほしいという前提で、多様性を与えないように作られてるものが多い気がします。費用対効果を計算して、それに最適化するデザインが優秀と言われるような環境ですね。

オブジェクト指向UIデザインという考え方は、こうした市場の要請自体を根本的に変革していこうという視点を孕んでいるような気がします。つまり、アテンションエコノミーと言われるような市場性に最適化されたデザインに対して、どうにか変革していこうという意図もあったりするんでしょうか。

上野:
資本主義システムに駆動されたコンピュータテクノロジーが急速に発展して、ビジネスはとても狡猾になっています。それがアテンションエコノミーやインテンションエコノミーといった言葉であり、行動経済学的な考え方ではないかと思います。そこでおこなわれているのは、「人はこういったものにこう反応する」というパターンラーニングで、そのパターンマッチングによるデザインです。そうなると、われわれのようなユーザーは、自由意志で行動してるようで実はコントロールされてる。泥臭い話なんですが、それに危機感を感じています。

しかし、コンピューターやデザインの歴史において、オブジェクト指向やGUIは、リベラリズムに根ざしてきました。一部の特権的な人が持っていたコンピューティングパワーを開放して、自分たちで作ったり使ったりできるようにしようという考え方です。その観点だと、デザイナーは事業側が持っているテクノロジーの使い方を監視する役割を持つべきとも言えます。それを「はじめに」のところですこし書きました。

§

——— デザイナーだと、事業者がクライアントでお金をもらうという事情もあるので、そこに抵抗するのはなかなか難しいと思うんですね。ただ事業者にとっても、ユーザーフレンドリーな環境を作った方が利益性が高い。それを考えると、このオブジェクト指向UIデザインはものすごくアクチュアリティの高い手法という印象がありますが、それを実践のなかで感じるようなことはありますか。

上野:
デザインの受発注関係では、事業者が欲しいと思っているものを作って対価を得ている構造があるので、それに反した行為はあまり意味がない。だけど、今言われたとおり、事業者も実際ユーザーにとって意味が感じられないものを作ってもどうしようもない。じゃあ何をすればいいのかというと、事業者から何か頼まれて作るというより、事業とは直接関係のない部分で、デザイン行為として本来いいものを提案していくことになります。

その提案というのは、事業者に対する提案でありながら、ユーザーに対する提案でもあるんです。この本で何度も書いた「ユーザーに合わせたものではなく、ユーザーが合わせられるものを作りましょう」という話です。ユーザー自身は、自分たちが何が欲しいのか言語化できないので、デザイナーから事業者や市場を通じて「こういうものはどうですか」と、ユーザーに提案する形になっていくべきじゃないかと思います。

§

——— この本の「はじめに」でも、「業務の形骸を暴き、それを創造の場にリフレームする※3」と表現されてましたね。ただ事業者はどういうものを作ればいいのか、何の確信もない状態だと思うんです。それをユーザーに聞こうとするんだけど、ユーザー自身も自分が何をしたいのか答えを持っていない。だから、デザイナーがある確信を持って、両者を啓蒙していくポジションにいるべきなのかもしれません。

さて次に聞きたいのが、オブジェクト指向UIの「ユーザーを対象に直接的にアプローチできるようにする」という定義についてです。これをより細かくしたのが次の4つになります。

  • 人々をそれぞれの目当てに接続すること。
  • ユーザーが自分なりの方法で目的に向かっていけること。
  • 行動の可能性を解放し、その道具を使うことで仕事や遊びに対する自身の意味空間を創造できるようにすること。
  • 思弁性をもって潜在的な課題に取り組み、道理をわきまえ、異なる視点を得られるようにすること※4

これは「道具」全般の話として聞けました。ハンマーは釘を打つのに使われる道具だけど、たとえば泥棒が来たら防犯対策にもなる。つまり、ハンマーを使う人は、その形状からいろんな使い方を導き出すことができる。釘を打つという行為ひとつを見ても、大工のようにエレガントな技術レベルで打つ人もいれば、うまく打てない子供もいます。

これはあらゆる道具に言えることで、たとえばギターが一本あれば、それでどんな音楽を作るかは無限にバリエーションが考えられるわけですよね。オブジェクト指向の前提として、何か道具があってそれに触れられることを先行させれば、人間は自由に道具の可能性を引き出せると考えていいんでしょうか。ハンマーだと、実際に物質として存在しますけど、コンピューターのUIだと存在しないわけですが。

上野:
物理的なものでも、最初はそこに何かがあるというだけで、それが何なのかは決まってないと思うんですよ。たとえば浜辺に貝が落ちていて、それを食べるためには割らないといけないですけど、手では割れないから石を使って割ったとします。そこにあった貝と石と食べるって行為はまったく別なものだけど、ある瞬間にひとつになるわけですよね。われわれが生きていくなかで、そういった瞬間は何度も発生してくる。

つまり、道具の「道具性」は、意味があとからラベリングされる性質を持っていると思うんです。まずは何でもないオブジェクトそのものがあって、われわれはそこに意味を与えていくという能力がある。そう促すのが道具の「存在性」だと思います。だからこそオブジェクト指向なんだと。

§

——— なるほど、非常にわかりやすいです。今言われたのは、道具のインターフェースでありインタラクションの話ですけど、ここで縮約してコンピューター画面のUIについて聞いていきたいと思います。

コンピューター画面のUIって、表示されているのがグラフィックであれテキストであれ、単純に言うとひとつの記号にすぎないわけですよね。その記号にすぎないものをオブジェクトと感じさせる原則が書かれていて、これがおもしろいと思ったんです。

オブジェクト指向UIの原則

  • オブジェクトを知覚でき直接的に働きかけられる
  • オブジェクトは自身の性質と状態を体現する
  • オブジェクト選択→アクション選択の操作手順
  • すべてのオブジェクトが互いに協調しながらUIを構成する※5

このなかでも、「オブジェクトは自身の性質と状態を体現する」と「すべてのオブジェクトが互いに協調しながらUIを構成する」という原則が、非常に奥深いものに感じました。

「オブジェクトが自身の状態を体現する」というのは、単純な例だとマウスオーバーでボタンの色が変わるといったことだと思います。物を自由自在に使えるのは、物とのインタラクションにおいて、それがどんな形の反応をするのかが、自分の記憶のなかで構成されるからですよね。UIデザインは、それを見越して物の性質をあらかじめ付加しておかないといけない。すべては予測できないかもしれませんが、人間の心理に合わせてオブジェクトの挙動をあらかじめ反映させておく。これはかなり高度なことをやっている印象を持ちました。

上野:
まず「オブジェクトは自身の性質と状態を体現する」について話します。タスク指向が使いづらいのは、先に誰かがゴールを決めて、必要な手順が設定されているからです。そうじゃなくて、われわれが現実世界で物理的なものに対してインタラクトするような感覚を、データのなかでできるようにしないといけない。この本の「オブジェクト指向UIのフィロソフィー」に書いたのは、そういった発想で研究してきた人たちの話でした。

UIと言っても、最初はただの光の点だったんですけど、当時は画面に絵が出ているだけで画期的なことでした。なぜなら、初期のコンピューターにはディスプレイがなかったからです。それどころか、もっと初期にはキーボードもなかった。今のわれわれからすると、コンピューターにはディスプレイやキーボードのような入力装置がついてるのは当たり前ですが、最初は単にどこかで作ったプログラムを読み込ませて、結果が紙テープみたいなもので出てくるだけでした。もちろんリアルタイム性もまったくありません。

それから、リアルタイム性を持たせるために、まずはディスプレイが必要だよねということなったんです。文字でも絵でもいいから、コンピューターのなかで起こってることを、その場で何とか表示させる。今度は表示されてるものに対して、こちらから何か入力をしてインタラクションさせたいという発想になりました。入力したいから、キーボードやマウスみたいなものが出てきます。そうやってディスプレイと入力装置がコンピューターにあるということが、かなりエポックメイキングなことだったんです。

コンピューターはさらに発展していくんですけど、たとえば計算するときに数字を画面に映し出すとします。これは紙に字を書いたり読んだりするメタファーに則っている。二次元のディスプレイに記号を映し出し、われわれはそれを見て、数字が出ていれば数字とわかるし、絵が出ていれば絵だとわかる。こうやってコンピューターで扱っている情報や概念を、絵や記号や文字に見立てて表してきた。今では当たり前だと思うんですけど、当時は画期的なことでした。つまり、今われわれが当たり前にコンピューターを通じて知覚できることが、当初は意外とできてなかったんです。

さらに、われわれが知覚しているものが、本当に「そのもの」であることを示すには、インタラクティブに反応しないといけません。字を打ったら字が出なきゃいけないし、字を消したら消えなきゃいけない。そこにリアルタイム性を持たせることで、自分がイメージしているとおりに操作していると認知するわけです。文字を打っても出てこなかったら、自分が何やってるかわからないし、そこにあると思ってたものが実はないってことになる。

このように認知心理学的な観点で、われわれがそこに期待していることが起こっているように見せかけるのは、とても重要でした。そうしながら、現実世界にある物と同じような感覚で、概念を対象化して画面のなかで操作可能にしていったわけですが、これはオブジェクト指向のプログラミングとオブジェクト指向のUIが、内的に連動してるから実現されています。そのおかげで、ユーザーはどうプログラミングされているか知らなくても、アイコンのようなグラフィックを自由に操作できる。この本でも引用したアラン・ケイが、プログラム構文の記述とUIの組み立て方は一貫しているべきで、内と外がひとつの原理に基づいて作られているのがオブジェクト指向の特徴だと言っています。

コンピューターを立ち上げて、仕事を始めて終わるまで、その手順は無限にあるじゃないですか。従来のコンピュータープログラムの考え方で、無限に条件分岐がある手順を、ひとつのプロセスに線形化するのは不可能です。ユーザーの作業を線形化しない代わりに、ボタンを押したら光ったり、図形を引っ張ったら変形したり、オブジェクトというカプセル化された概念自体に振る舞いが定義されていれば、それらをつなぎ合わせて無限の操作ができるようになる。この操作の体系を作るために、オブジェクト指向のプログラミングが生まれたわけです。だから、オブジェクト指向でこれができるというよりは、これをできるようにするためにオブジェクト指向プログラミングが作られたってことなんです。これを考えた人は天才的だと思います。

もうひとつの「すべてのオブジェクトが互いに協調しながらUIを構成する」という話も、似たような話になります。ひとつひとつのプリミティブなオブジェクトがあって、それぞれは自律的に独立していて外からは遮断されている。その代わり限定的なインターフェースがあって、あるボタンがクリックされたらこう動きなさいということが、あらかじめオブジェクトのなかにプログラミングされています。オブジェクトはプログラミングされた反応をするだけ。ボタンはユーザーに押されたとき、どういう文脈の命令かはまったく知らずに、ただ自分の仕事をしているだけです。それらが集まってより大きな体系を作ると、さらに複雑な仕事をサポートできるようになります。

これはわれわれの言語構造のようなものに感じます。単語みたいに独立したプリミティブなものがあって、それらを組み合わせて無限の表現ができる。その言語体系の全体性のなかで、単語のように個別に存在している。こういう言語体系みたいな構造を作る仕組みとして、オブジェクト指向のプログラミングがあって、われわれの複雑な仕事をサポートできるようになっているわけですね。

§

——— 先ほどの繰り返しですが、オブジェクト指向的に考えると、ハンマーがあれば釘を打つだけじゃなくて、防犯にも使える。だけど、そのハンマーという形がないと使い方のバリエーションは発想できないってことですよね。

上野:
ハンマーみたいなものを作って、それで釘を打ったら具合が悪かった。じゃあちょっと形を変えてみようって話になる。だけど、ソフトウェアの場合には、作るまでに時間も人もいっぱいかかって、非常に複雑で難しい。あらかじめ作業を計画しておかないと見積もりすらできません。なので、とくに規模が大きくなると、現状は何度も作り直すフローはできないケースが多いです。

たとえば業務系のシステムだと、業務要件をまとめて機能を決めて、それらを実現するのに必要な仕組みを定義した仕様書ができて、それに従ってプログラマーが作ります。だけど、そのUIを作ろうとすると、成立しない場合が結構あるんです。ソフトウェアは自由度が高いので、プログラム上ではなんでもできるんですけど、実際に使われるUIとして人間が理解できる形で表現できるかというのは、また別の問題になります。つまり、UIとして成立するものに合わせて、要件も定義しなきゃいけないってことです。

§

——— UIとして成立するものというのは、おそらく人間の習慣がある程度ナレッジとして共有されてる状態じゃないかと思います。当然ながらUIを使うのは人間なので、人間の認知や身体とのインタラクションとして適切じゃないといけないわけですよね。

先ほどコンピューターの歴史において、グラフィックという発想が画期的だったとお話されてましたけど、おそらくデザイナーは開発の場面で、まず形をつかむという抽象的なプロセスをしている気がするんですね。悪い意味ではなく、勘で仕事しているというか。デザインじゃなくて彫刻家の仕事でも何でもいいんですけど、そういう人たちは形を表したところで仕事が完結するので、まずはその形をつかむということを、仕事の一番最初にしてるんじゃないかと思うんです。

これはUIデザインに関しても同じ気がしています。つまり、いろんな要件から必然として演繹的に導かれるものではなく、こういうシステムにするならこの形になるというのを、まず帰納的な状態でつかむ。そうやって直観を働かせるというプロセスが先にあるんじゃないかと思うんですけど、実際の作業ではどんな感じなんでしょうか。

上野:
その通りですね。こういう入力をしたらこういう出力があるという仕様通りに動いたら、プログラムとしては完成なんですけど、グラフィックなどのデザインでは、機能的な要件は一定でも表現の方法は無限です。プログラムは中身が見えないので、出てきたものが合ってればいいですけど、グラフィックデザインは中身が見えている。だから、デザイナーは中身そのものの形で評価されるし、勝負しないといけません。

僕がいつも比喩的に言うのは、真っ白の紙の上で最初の点を打つときのことです。そこには言葉に表せないような不安や恐怖があります。無限に可能性があるなかで、どこに点を打つかは非常に恣意的で、職人の勘のようなものにかなり依存していると思います。だけど、点を打たなければ次に進まないので、どこかに打つ。これは清水の舞台から飛び降りるようなものです。

それで、とりあえず一度どこかに点を打ったら、その次の点は最初よりは楽なんです。なぜなら、最初の点がここなら、次はここに打てばいいというのが、今までの自分の経験である程度予測できるからです。無限にあった可能性が、最初に点を打つことですこし狭まって、それを繰り返しながら最終的なものができあがっていく。そういう意味で、UIデザインはグラフィックデザインの性質を持っていると思います。

理論上の話ですが、プログラムは無限の情報を扱えます。なので、無限の情報が扱えることを前提にプログラムは作られます。たとえば顧客情報が無限に入れられる箱を作ったりといったことですね。それに対してUIは、ソフトウェアとしての無限の利便性を有限にすることで、人が見て把握できるようにしないといけない。

僕はよく「ガッツ」という言い方をするんですけど、恣意的な判断をデザイナーが引き受けて責任を取らないといけないんです。色はこれで数はこれぐらいなどと、無限のなかに有限性をもたらしていく。そこについては、ある種の直観というか、職人的な判断は常にあると思います。

§

——— 最初の点を打つとき、当然まったくデタラメに打つわけにはいかないし、たぶんデタラメに打つと次が成立しないと思うので、そうやって直観みたいなものを働かせると思うんですね。で、その直観はアブダクションじゃないかと。アブダクションというのはチャールズ・サンダース・パースが提示した概念ですけど、いわゆる神秘的な啓示とはすこし違う。日本語では帰納的推論と言われたりしますが、天から啓示が降りてくるようなものではなくて、今までの経験が身体化されていないと、そういった勘がそもそも働かないというメカニズムだと思うんです。このメカニズムがどう動いているのかを考えていきたいと思います。

ここで鈴木宏明の『類似と思考※6』という本を紹介したいのですが、ここにはアブダクションの基礎には類推、いわゆるアナロジーで結ばれた記憶のマトリックスがあると書かれています。要するに、無限の可能性のなかで点をひとつ打つというのは、言ってみればまったく未知のところにひとつの実践を導入する作業だと思うんですけど、これは自分が白紙状態では何もできなくて、すでに経験したいろんなことのマトリックスによって思考して導き出されるんだと言うわけですね。これはいわゆる演繹的な論理思考ではなくて、抽象化されて断片化された既知のものが、経験のレゴブロックみたいな状態になっていて、まったく未知の仕事をするときには、自分なりにそれをカチャカチャと組み立てて、形を見立ててポンと打つみたいな作業をしているんじゃないかという議論がされているんです。

当然ながら、何か形をアブダクションとして直観するためには、いろんな経験が自分の身体に高い抽象度で記憶されて眠ってるんだと思うんですが、この話はデザイナーに共通する資質だと感じますか。

上野:
そうですね。おそらくデザイナーだけじゃなくアーティストも同じように、最初の点がどこにあっても、何かしら作ることはできると思います。というのは、その経験のパターンみたいなものの数がかなりあるので、点がひとつあるだけで可能性はかなり絞られるからです。きっとたくさんある自分の引き出しで対処できる。

僕はもともとグラフィックデザイナーだったんですね。グラフィックデザイナーは、最初の仕事で名刺を作らされることが多いんですが、名刺はどれも機能としては同じで、名前と会社名と住所といった要素が決まっていて、そこにグラフィックデザイン性が加わってくるじゃないですか。最初に自分で名刺をデザインしたとき、もっと経験値の高いデザイナーが作ったものと比べると、明らかに差があったんですよ。自分が作った名刺はどこか素人くさくて、経験値の高いデザイナーが作ったものは、プロっぽいとしか言いようがなかった。同じ情報をデザインしているのに、ものすごい差があったんです。

まあその差を出せるのがプロってことだと思いますが、なぜその差が出せるかというと、おそらくプロっぽく見えることをたくさん知ってるからなんだと思います。そのセオリーやパターンにしたがって、ここに置いたら違和感があるからすこし位置を変えるといったことを、非常に細かく実践している。だけど、途中で素人が手を出すと、そこに素人っぽいものが加わって、全体に素人っぽいものになる。つまり、最初の点を手がかりに、すべての点を打ち終わるまで、一度もプロっぽい場所を外さずに最後まで行かないといけないということなんだと思います。

原体験みたいな話ですが、小学校の頃は漫画家になりたくて、漫画クラブの部長をやってたんですね。あるときクラスの女の子が転校することになったので、みんなで寄せ書きをしてました。それが僕にも回ってきたので、そこにイラストを描こうと思ったんです。ちゃんと水彩絵の具で色を塗って、いい絵を描こうと思ったんですけど、失敗してしまって。変な絵になったので、水で絵の具を溶かして消そうとしたら、うまく消えなくて紙がボロボロになったんです。

次の日に渡さなきゃいけなかったので、夜中に一生懸命描いてたんですけど、代わりの紙もなくて、これは明らかにヤバいという状態で徹夜になってしまい、もう絶望的な気分でした。でも、そこで一旦落ち着いて、もう一度やり直そうと思ったんです。紙が削られて薄くなって穴があきそうなんですが、水でその絵の具を丁寧に溶かしました。これが最後のチャンスだから冷静になって、最初に描こうと思っていたのとは違うものだったんですが、その場で自分が書けそうなものを改めて描きました。そうしたら、すごくいい感じのができたんですね。

自分がとても気に入るものが描けて、それを転校する子に自信を持ってあげることができた。今でもこの経験がしっかりと記憶に残っています。自分はまったく何もできあがってない最悪な状態からでも、何か形を作り出すことができる人間なんだという確信があって、それが自分に対する信頼になっている。

話を戻すと、ひとつの点から次の点を打って、そのクオリティのまま最後の形まで持っていけるのは、自分に対する信頼がドライバーなんじゃないかなと思います。それがないと、ある点を打って何か違うと思って、さらに次の点を打って、また何か違うってなったときに、あきらめてしまうと思うんですよ。これも自分の経験の話でしかないですけど。

§

——— 個人的な話がおもしろいですね。上野さんの言い方だと「デザインの目的は形である」という前提があるわけですもんね。

上野:
はい。それはクリストファー・アレグザンダーの受け売りですが※7

§

——— 「形とはわれわれの認識のあり方であり、事柄を結ぶパターンであり、行為の可能性である」というやつですね。さっきの『類似と思考』に話を戻すと、この「われわれの認識のあり方」「事柄を結ぶパターン」「行為の可能性」という自分の潜在的なものが形を見て、そこでインスパイアされて賦活されるようなものが、プロっぽいものとして成立する形だという議論だったんですよ。そして、その形はロジカルに抽出できるものではなくて、最初から形としてとらえるしかないものだと。さっきの上野さんの話を聞いていて、それがオブジェクト指向のデザインでも重要な前提になるんだという気がしました。

ここからは、さらに抽象度の高い話になりますけど、オブジェクトと対峙するときに、そもそも人はなぜ自由になったり創意工夫ができたり創造的に物と関わることができるのかを掘り下げていきたいと思います。

まずは上野さんの過去のツイートから関連しそうなものを挙げていきます。ひとつ目はこれですね。

道具の手元性を自己帰属感と言うこともできるが、オブジェクト指向的に主客を転回すると、自分の拡張として道具が帰属するのではなく、道具のインターフェースとして自分が接続されるのである。道具存在が感覚から退隠するのは、自分がその実在的対象の側にあるからである※8

それから、もうひとつドリルの話があって、これも先ほどの主題につながる話だと思いました。

電ドラを使いながらその道具的存在性を確認している。私の関心は明らかに、締められたネジよりもこの道具自体、そしてそれを使うことによって起こる私自身の世界内存在としての変化(これは多分に詩的である)に向けられている。やはり穴よりドリルだ※9

マクルーハンのメディア論もそうですけど、「道具は身体の拡張である」って言われるじゃないですか。たとえば「ハンマーは手の拡張である」といったものです。でもこの理屈をよく考えると、自分の身体の拡張であれば、本来は自分の身体だけでも事足りるわけで、それをさらに便利にするものとしてしか道具は存在していないという話なんですよね。

だけど、おそらく上野さんはそのように考えられていないんだと思うんです。つまり、人間には素の身体みたいなものがあって、便利だから道具を使っているのではなくて、そもそも道具と人間というのがハイブリッドなものとして存在していた。そして、この道具とのハイブリッドなものとして存在していることが、他の動物と大きく違う人間の特質だと考えられている気がしています。

これにまつわる話で、大藪泰の『共同注意の発達※10』という発達心理学とか発達認知科学あたりの分野の本があるので、簡単に内容を紹介します。まず類人猿は幼児の段階から「自己と他者」という二項性しか認識できないという話があって、非常におもしろいと思いました。これがあらゆる共同体の基盤になっているわけですね。それに対して、人間は言葉も喋れず立つこともできない乳児の段階から、「自己と他者」の間に物を関係させて、その三項性に基づいた行動パターンや意識が認められると論じてるんですね。

つまり、人間は最初から本能的に道具を組み込んでいく身体感覚を持った動物であるってことです。だから、まず主体があってサブジェクトとしてオブジェクトの道具を使うという関係ではなくて、先ほどの道具とのハイブリッド性の話のように、実はすべてをオブジェクトとして想定できてるということなんです。

こういった話は、上野さんも実感を持たれていますか。

上野:
絵を描いててうまく描けないというのは、あくまで自分のなかでの自分への評価で、すごく残念で悲しい気持ちになってるんですよね。逆にそれがうまくできたときは、その絵が自分とあまり分離してないものとして実現されたという感覚なんです。

自分のなかでこういうものを作ろうと思って作り始めるんですけど、大体は途中でうまくいかなくて、ああでもないこうでもないってやるじゃないですか。グラフィックを作るときもそうだし、文章を書くときも、プログラムを書くときも、自分ひとりで孤独な作業をしてますよね。そうやってずっと個人的な時間をすごしていると、同じものを見たとしても、よかったものがよくなくなったりして、自分の考えが変わっていく。もしくは自分自身が自分が作ったものに影響されて、次の考え方が変わることがあります。

そうやって、自分が作っているものとの対話を長時間繰り返していると、自分が作ったものでありながら、それに影響された自分が次の行動を取ったりするので、自分が作るものが自分でもあるし物でもあるという不思議な感覚になっていきます。そうすると自分が作っているというよりも、自分が作られているような感覚になる。われわれがしゃべっているこの言葉も道具のひとつですけど、そうやって道具を使うことによって自分たちが変容していく体験をずっとしているんだと思うんです。そして、これが自分たちの世界の見方そのものであるべきなんじゃないかと思っています。

§

——— そうですね。そのどこまでが自分でどこからが道具なのかは、実質的に切り離せないのかもしれませんね。それは道具や作品だけじゃなくて、言語なんかも同じことが言える。自己と道具を両極に置くとすれば、われわれの生はその中間ぐらいで成り立っていて、ここまでが自己でここからが道具と切り離すのは現実的ではない。

道具を作るという行為は、さらにその自分を変えたり道具を変えたりすることによって、自分自身を変えるという相互作用を発生させていくことになります。その相互性を認めるのであれば、道具というのは身体の延長ではなくて、やはり道具と人間の身体がハイブリッドであるという考え方が近いのかなと思いました。

さっきの絵の話もそうですけど、上野さんがそれをどこかで気づいて獲得したわけじゃなく、子供の頃から実感としてその世界観を持っていたように感じるところがおもしろいですよね。もちろん勉強して身につけたわけではないし、いろいろな経験も感覚を強めるエビデンスにはなってると思うんですけど、どうも最初からその感覚を持たれているような印象があって。何かを制作するというプロセスのなかで、作品と対話をして自分にフィードバックできる人は、必然的にそういう考え方になるのかもしれませんが。

上野:
よく言われるように、あらゆる芸術においてデザインをするときには、だいたい過去の誰かが作った何かを真似したり組み合わせたりします。たぶん、それ以外の作り方はありません。自分がすごく独創的なことをやっていると思っても、必ず何か元ネタがあるわけです。すくなくとも何か発想のきっかけはあって、アーティストやデザイナーは常日頃から何かを真似しながらすこし変えたり組み合わせたりして作っている。何かを作っている人であれば、自分が独創的にやったところは1%ぐらいしかないという感覚を持っていると思います。

僕はそれを「アートの委譲」と呼んでいます。ここで「アート」と言ってるのは、人が工夫して作った術とか技みたいなものです。そして、「アート」は人類の歴史のなかで蓄積されてきました。たとえば、ホームセンターに行って、小さなハンマーを500円で買うとしましょう。このハンマーの形や大きさや構造には、ずっと昔に石で貝を割っていたノウハウが蓄積されているわけです。

このハンマーは、何百万年も前の人がいろんな試行錯誤して積み重ねた結果なので、デザインの価値は500円ではないと思うんです。潜在的な価値を考えると、ものすごく高価なものですが、それが500円で売られているのは驚きじゃないですか。じゃあ今まで試行錯誤してきた人の努力はどこに行っちゃったんだと思うんですよね。実際どこかにあるはずなので。

この「アート」という人の術や技みたいなものは、無償で次の世代に受け渡されていくもので、今われわれはそれを受け取って次の物を作っている。だから、物を作るという行為は、そうやって別の人に価値を受け渡していくということでもあるんです。そこで昔の人たちから価値を受け取っていると感じることが、とても大事だと思います。500円で売ってるハンマーを見たときに、本来これは500円じゃないというロマンと言いますか。

§

——— 今なぜこうやって抽象度の高い話ができてるかというと、知的な蓄積を受け取ってるからですもんね。ゼロから自分で考えて発言しているわけではなく、過去の成果である言語を借りて、そこに乗っかってるだけですから。そう考えると、人とオブジェクトにおいて、むしろオブジェクトの方がマトリックスであって、人はそこに宿を借りてるぐらいの位置づけで考えた方が正確かもしれません。

生物の進化を見ても、まったく何もない状態から形ができるわけではなくて、先行形態からの転用によって成り立っているわけですし、形は神様がゼロベースで作ったものではないわけです。

上野さんがデザインすることを「そこに物を置く」と言われるのも、そういった感覚を表しているのかもしれません。物が「そもそもそこにあるべきような形である」のは、自分が制御した結果として出す答えではなく、対話的に自分の創造性を働かせる態度、あるいは物に歩み寄っていく態度の方が、正解に近づく確率が高いと言いますか。

上野:
そうですね。だから当たり前だと思うんですけど、意外と自分たちが必要に応じて物を作ってるという感覚の人の方が、多い気がしますね。

§

——— 最初に話してたタスク指向じゃないですけど、サブジェクトがすべてのメタレベルに立っていて、その世界観で作業を成立させている感覚ですよね。しかし、サブジェクトの方がオブジェクトに従属してるか、あるいは対話的なレベルで関わっているという世界観を持たないと、オブジェクト指向における創造性は発揮できないんだと思います。

このあたりに関わる話で、上野さんがこんなツイートをされていました。

道具の道具的存在性とは、何かを作るためのエンパワーメントだと思う。そしてその道具も何かのエンパワーメントによって存在する。デザイナーはこのスパイラルを感じながら道具の使いこなしに貪欲であるべきだし、道具を作る道具を積極的に作るべきだ※11

これも、まずはさっき言われていたような視点を持とうということですよね。

上野:
そうですね。「アートの委譲」をちゃんと意識しましょうということです。

§

——— ここでは「道具を作る道具」という言い方をされてますけど、単純に手で道具を作るわけじゃなくて、ハンマーで釘を打って家を作るみたいに、そこには階層構造や段階があるわけですよね。そう考えていくと、家も道具なわけですけど、家はハンマーに比べてすこし機能が限定されてます。家に比べると、ハンマーは抽象度の高い道具と言える。

同じように、プログラミング言語も道具だと思いますけど、これも何でも作ることができる非常に抽象度の高い道具じゃないですか。人間はプログラミング言語も作るし、そのプログラミング言語を使ってひとつのソフトウェアも作ることができる。そうやって道具がいろんな形でネットワーキングされている状態で、それらをサブジェクトとして上から見るのではなく、そのネットワークに入っていく方がいいと読めました。

ここで興味を持ってしまうのは、オブジェクトがいろんな形でネットワークになった状況に入っていくサブジェクト、つまり主体としてのわれわれの意識のことなんです。それはいったいどんなモードなのか聞かせてもらえますか。

上野:
先ほどの「アートの委譲」の話と似てるんですけど、形を作り続けるのは、僕にとってある種の贖罪なんですよね。何か形を作るのは、そこでエントロピーを抑制してるわけですけど、それによって自分たちが利便性なりを受け取っています。だけど、エントロピーの加算法則から言うと、おそらくその代わりに、宇宙のどこかでより多くの混沌が生じてることになります。自分たちが便利なものを作る反作用で混沌が増してることに、罪悪感があるんです。

われわれが生きていて何かを作り続けることには、ずっと何らかの原罪があるという気がしています。だから、ある種のエコロジーとして、自分たちが作った形を次の世代に受け継いで、あまり混沌を増やしすぎないようにしなきゃいけないと思ってるんですね。そして、まったくその考えが感じられないデザイン、つまりただ物事を複雑にしているだけのデザインを見たときに、なんてことをしてるんだ、宇宙の混沌が増してるじゃないかと思うわけです。それをできるだけ減らしたいし、そう考えることも大事にしたいと思っています。

§

——— ひとつの会社が利益を最大化して成功しても、地球環境に悪影響を及ぼしてるかもしれないといったような話があるように、スケールの設定でも相対的に変わっていくような話ですよね。

最後にお聞きしたいのが、「道具を使うと人間は創造的になれる」と言われているところです。これまでの流れでも話されていましたが、もうすこしフォーカスしてクリアにしていければと思います。ここでも上野さんのツイートをいくつか引用して、話のきっかけにしてみます。

道具のエモーショナリティというのはやはりユーザビリティと相関しているだろうということ。ただしそのユーザビリティは合目的性のことではなく、コントローラビリティのことである※12

道具を手にすることでなぜ自己が肯定されるのか。われわれは子供の頃から様々な道具を使って外界に対するコントロール性を試す。その経験から、道具を見た時にコントローラビリティを評価するようになっている※13

人と道具の間には合目的性よりも先にコントローラビリティがある。これは主観的な期待値として評価されるのもので、操作性とは異なる。自分の延長として世界をコントロールできそうに思えるかどうかが重要だ。自己肯定のための試行錯誤が、人と道具の相互発展スパイラルを生む※14

世界をコントロールできそうかどうかの度合い。これをコントロール期待性と呼ぼう。われわれはコントロール期待性が高いものを好むのだ。その好みは経験によって異なり、中には複雑な道具を扱うことを好む場合もある。複雑な道具の力で世界をより複雑にコントロールしたい場合だ※15

まずは「コントローラビリティ」をすこし敷衍して考えてみたいと思います。

ミゲル・シカールという哲学者が、『プレイ・マターズ※16』という本で「遊び論」のようなものを書いています。「遊び論」というと、これまでもヨハン・ホイジンガの『ホモ・ルーデンス※17』やロジェ・カイヨワの『遊びと人間※18』などいくつかありましたが、この『プレイ・マターズ』には、今までにない非常におもしろい観点があって、それが「コントローラビリティ」の話につながるように感じています。

本のなかで、遊びの特質をいくつか羅列してあるんですけど、そのなかで重要だと思うものが2つありました。まずひとつは遊びが「個人的なもの」であるというもので、もうひとつが遊びはコードや文脈を乗っ取って「流用するもの」であるというものです。簡単に言うと、そこにある与件としての世界を、誰かの指示に従って生きるのではなく、おもちゃ箱のようなものと認識してるってことなんです。

そして、自分で自由に流用して、しかもその個人的なモチベーションのなかだけで通用するのが、遊びというモードだと書いてあるんですね。ここがまさに道具の「コントローラビリティ」に関わる問題だと感じました。

つまり、人間は何かを学習するときに、学習プランに沿ってひとつひとつ自分のなかにインストールしていくのではない。幼児が積み木で遊ぶときのように、いろんな形で試しながら、そこの挙動を自分のなかにフィードバックさせながら、物の扱い方を学習していく。その学習は楽しかったはずなんです。なぜ楽しかったかというと、ミゲル・シカールが言うような「個人的なもの」として創造性があり、なおかつ自分で楽しめるように自由に「流用するもの」だからです。そういった遊びの自在性が担保されていることで、楽しいモードにいられたんだと思います。

おそらく「物を最初に出す」というオブジェクト指向の話も、誰かの指示に従うモードから、そのものを遊ぶというモードに転回させるという意味が含まれてるのかなと思いました。つまり、人間が「コントローラビリティ」が高いことに対して反応するのは、自分で自由に使えて試せるからだと思うんです。

上野:
まさにそうです。遊びには見立てが関係していて、たとえば棒切れが一本落ちているときに、それがちょうどよい長さや太さであれば、途端に遊びの玩具になる。これは、われわれがオブジェクトを何かに見立てるのを、自動的におこなっているということなんだと思います。それが道具として役立つこともあるし、既存のコードを乗っ取って、木の枝でおこなうべきではないと考えられているようなことを触発されて、楽しそうだから思わずしてしまうこともあると思うんです。この見立ての能力というか習性みたいなものは、遊びにもオブジェクト指向にも共通してると思います。

2万年ぐらい前の洞窟には、牛とか馬の壁画がありました。当時どれぐらい言語が発達していたのかは解明されてないと思うんですけど、とにかく絵を描くことはやっていた。でも、洞窟のなかにいないはずの牛や馬の絵を描くということは、牛や馬の概念を対象化できていたということじゃないですか。それを絵として表象していたわけです。

つまり、昔から人はそうやって遊んでいた。それが楽しい遊びだったのか、コミュニケーションだったのか、どういう意味があったかわからないんですけど、あまりそういった区別もされてなかったんじゃないかなと思うんです。

人が絵を描いたり、物を玩具のように扱うという行為をし続けているのは、われわれが世界とインタラクトすることそのものなんだと思うんですよ。オブジェクト指向でUIを表すというのも、コンピューターのなかで扱っている情報を玩具化するということですよね。

§

——— 今のお話に対応するような内容として、前に「創造性とは、サブジェクティブな駆り立てではなく、オブジェクティブな見出しから伸び栄えるものである※19」ともツイートされていましたね。

たとえばインターネットを見ていても、あまり楽しい気分になることはなくて、何か一方的にこうしなさいと指示されているような、ある種の掌握感があります。これはUIというよりも、市場社会が要因になっているかもしれませんが、遊園地に行っていろんな遊具を見て何をしようかワクワクするモードと、ブラウザでいろんなWebサイトを見たときの気分は全然違うわけです。だけど、本来は遊園地にいるときのような楽しい気分であるべきものなんじゃないかなと思います。

上野:
まさに最初に話していたタスク指向の問題だと思います。機械化が起こって、さらにコンピューターみたいな高速で処理をするものが出てきたときに、プロセスを自動化するという発想があった。そうすると、コンピューターに対してだけじゃなく、ユーザーに対しても何か仕事をさせるといった使役的な考え方になる。コンピューティングパワーを使って、ユーザーに何か一連の行動を取らせるように設計されているケースが非常に多い。

たとえば、子供の玩具を見ても、積み木のように好きに遊べるオープンゴール系のものもあれば、手順に従ってうまくできるかどうかを競わせるものもあるじゃないですか。本来の遊びは、前者のオープンゴール系なんだと思います。

§

——— 後者の手順に沿った遊びについては、さっきのミゲル・シカールの本でもゲームデザインの問題として取り上げていました。ゲームデザインは、デザイナーが仕切るエモーショナルのデザインだと考えられているけど、遊び本来の意味から考えると、すこし歪なんじゃないんじゃないかという議論です。

ただオープンゴールにすればいいというわけではなくて、人間社会は当然ながらある程度の「型」を文化的に備えているものです。さっきの「アートの委譲」の話でもあったように、ある一定の「型」を、自由な動きのなかから見出していくものだとも思うんですね。あるいは、その自由な動きさえも、ある一定の「型」がないとそもそも実現しないところがあったりして。

なので、デザイナーはさっきの「アートの委譲」のなかで「型」を与えることで、人々の創造性をインスパイアしていく。そんなポジションとして考えた方がいいのかもしれません。

上野:
その通りだと思います。だから「型」を作る。そういった意味で、デザインはメタデザインだと思ってます。

——— デザインをデザインする。

上野:
そうですね。コンピューターのプログラミングではキーバリュー(Key-Value)という言い方をしますけど、「色」とか「スピード」みたいなキーがあって、それに対して「赤」とか「100km/h」といったバリューがある。デザインもキーの方、つまり「型」を作ることによって、バリューで遊ばせるというところがあります。

§

——— やはり人間の創造性は、そこに没入する精神の運動だと思うんです。没入することが楽しいかどうかは、主観的な問題になるんですけど、没入していること自体は客観的なモードだと思うんです。今日のお話を聞いて、オブジェクト指向UIデザインとはそこに誘うための基本的原理という感じがしました。

上野:
物理的な物であれば、右から左に移動させれば、その物はちゃんと右から左に移動しますが、ソフトウェアのなかではデザイナーやプログラマーがそう振る舞うように作らないといけません。ユーザーがマウスで右から左にアイコンを移動したら、アイコンを右から左に移動するように作って、「コントローラビリティ」を感じさせる。

GUIの歴史では、それをプログラムで自然に見せるために、ものすごい努力をしてきたわけです。われわれはそれをさまざまな形で「アートの委譲」として受け取り、日々デザインしている。そう考えていくと、オブジェクト指向UIデザインのことも当たり前に感じてもらえると思います。

§

2020年7月3日
インタビュアー: +M(@freakscafe

連載記事「+M解題インタビューシリーズ」