bonotakeの日記

ソフトウェア工学系研究者 → AIエンジニア → スクラムマスター・アジャイルコーチ

Normanの概念モデルは的を外している 〜『優れたデザインにとってコンセプトが重要な理由』補遺〜

この記事は、MITのDaniel Jackson教授が書いたブログ記事 "Conceptual models missed the point "を、彼の許可を得て翻訳するものです。

ざっくりと訳したので一部こなれておらず、十分なクオリティではないことはご容赦ください。また、"concept" は以下の翻訳ではDonald Normanの『誰のためのデザイン?』(原題:The Design of Everyday Things) に寄せて「概念」と訳しています。「デザイン」と「設計」も適宜訳し分けています。


概念モデルは的を外している

2022/10/18
Daniel Jackson

大きな影響を残したDon Normanの著書『誰のためのデザイン?』は、ドア、電灯のスイッチ、冷蔵庫について語り、ソフトウェアについてはほとんど言及しなかった。しかし、Normanが見立てた診断とそれへの処方箋は、多く私たちの領域にもうまく適用された。

たとえば、ソフトウェアにおいて、ユーザーの意図と解釈をシステムのアクションと出力から分離する実行のへだたりと評価のへだたりは特に厄介であることが認識され、ユーザーインターフェイスウィジェットの選択にはNormanのアフォーダンスの考え方が取り入れられた。

おそらくもっと重要なのは、私たちがNormanの説得力のある議論に触発されたことだ。私たちはユーザビリティ・カルトのグルーピーとなり、ほとんどの成果物が明らかに無能なデザインであることに(時には自惚れながら、しかししばしば正当化されながら)憤りを表明し、私達はソフトウェアの仕事においてより良いものを作ろうと誓った。

しかし、改めて本を読み返すと、その処方箋がソフトウェアの設計においては、いくつかの重要な点であまりマッチしていないと思うようになった。2013年版では、オリジナルから25年後に、Normanは新しいデザイン思考の章を追加し、以下のように語った。

一人の人がこのように多くの分野で働くことがどうして可能なのか。それは、人のためのデザインの基本原則は、すべての分野を通じて皆同じだからだ。人は皆同じであり、だからデザイン原理も同じなのだ。 (『誰のためのデザイン?』より引用)

しかし、デザインは人に関するものだけではない。技術に関するものもあれば、人とその作成物の接点におけるものもある。異なる作成物には根本的に異なる課題がある。都市デザイン、グラフィックデザイン、工業デザイン、ソフトウェア設計はすべてデザインの形態かもしれないが、それらは異なるスキルと感性を必要とする。

Normanの冷蔵庫

私は常にNormanの冷蔵庫の例について疑問を抱いていた。概念モデルのセクションで、Normanは、標準的なアメリカの冷蔵庫の温度調節がユーザーに誤解を与えていると説明している。 よく「冷凍庫」と「生鮮食品」とラベルが付けられている2つのコントローラーは独立した温度調整を提供しているように思える。しかし実際には、1つはコンプレッサーのレベルを設定し、もう1つは各コンパートメントに流れる冷たい空気の比率を変更するものだ。

Normanは、これが設計上の欠陥であると正しく指摘している。信頼できる温度調整を行うのはほとんど不可能であるためだ。冷凍室の設定を低くすると、コンプレッサーの圧力が上がり、生鮮食品もより冷たくなり、サラダが凍ってしまう。生鮮食品をより冷たくしようとすると、冷凍庫からより多くの冷気が逸れ、アイスクリームが解凍される。さらに悪いことに、冷蔵庫の温度変化は安定するまで通常1日かかるため、一連の調整を行うには1週間かかる。

しかしNormanは、議論を通じ、この問題が主に冷蔵庫の冷却メカニズムの設計ではなく、コントローラーの見せ方――Normanが「システムイメージ」と呼ぶもの――の問題であると何度も示唆している。以下は彼の主張の要約である。

私の古い冷蔵庫の温度調節は非常に難しかった。なぜか?コントローラーが誤った概念モデルを示唆しているからだ。

これは非常に奇妙な主張だと思う。温度が調節しにくい理由は、適切なコントローラーが提供されていないためだ。コントローラーが誤ったモデルを示しているのは事実だが、それが問題であるなら、ラベルを変更することで修正できる。たとえば「全体的な冷たさ」と「冷蔵庫/冷凍庫比率」といったラベルに変更すればよい。それは理解しにくいかもしれないが、嘘ではないとは言ってよいはずだ。では、それは役に立つだろうか?全く役に立たない。

概念モデルの背後にある仮定

ここには、より明確な表現が必要な根本的な前提がある。Normanは、基礎となるメカニズムの設計をほぼ当然のものと考えている。彼の興味はメカニズムを再構築することではない。彼はそれはエンジニアに任せている。彼の興味は、デザイナーの概念モデルの「システムイメージ」をどのように投影し、ユーザーの頭の中にモデルを生成するインターフェイスをより良くすることにある。

この点では、Normanの本の元のタイトルである The Psychology of Everyday Things(日常の物事の心理学)の方がより適切である。Normanは心理学者として、ユーザーがメカニズムをどのように理解(または誤解)するかに興味を持っており、彼の著書の価値ある貢献は、ユーザーとメカニズムの間の「へだたり」を埋めるために、心理学的洞察をインターフェイスのデザインに活かすことができるという認識にある。

Normanにとって概念モデルは、具体的な現実から独立した心理学的な構造である。デザイナーは概念モデルを形成するためのゆとりをあまり持っていない。現実は固定されていて、モデルが正確であるためには、そこから大きく逸脱することは許されないからだ。

Normanが出演するオンライン講義はこの点を明確に示している。概念モデルの典型的な例として、水の循環が紹介されているのだ。

サーモスタット再訪

混乱した概念モデルの古典的な例が伝統的なサーモスタットである。多くの人々が、部屋が十分に暖かくない場合は、ダイヤルをトップにまで回すべきだと誤解している。しかし、これによって暖房システムがより多い、またはより熱い空気を生み出すわけではない。サーモスタットの設定は、暖房がオフになる温度を制御するだけだ。したがって、実際に必要な温度を設定すれば、同じくらい早く温かくできる。

Normanもこの例を使っており、私にとっては彼の主張において冷蔵庫よりもより説得力のある例だ。正しいモデルを採用すると、サーモスタットをより効果的に操作できる。温度が気に入ったら、ダイヤルを全開にしてから再び下げる必要はない。1回だけ設定すれば済む。

根本的には、基礎となるメカニズムには何も問題がない。それはユーザーのニーズを満たし、かつ、単純な部品(通常は温めると曲がるバイメタルの帯と、傾くと水銀が流れて暖房システムをオン/オフする水銀球が付いたもの)を使用して安価に作ることができる。低コストかつ効果的なメカニズムがあるので、デザイナーがこの現実を所与のものとして受け入れ、代わりにユーザーの概念と操作に集中することは理にかなっている。

しかし、ここでGoogle Nestのような最新のサーモスタットを考えてみよう。このデバイスには温度を読み取るセンサーがあるが、その制御メカニズムはソフトウェアで定義されている。センシングとスイッチングの両方を含む手頃な物理的メカニズムを作る必要がないため、設計者は自由に好きなように動作させることができる。さまざまなモードやスケジュールを設定したり、人の存在を認識したり、予熱期間を設定したりすることができる。

これらの動作は概念(スケジュール、休暇モード、ゾーンなど)に整理することができるが、これらの概念は心理学的な抽象化ではない。モデルの一部でもない。それらはソフトウェア設計における現実であり、ユーザーインターフェースと同様に変更可能なものなのだ。

ソフトウェアの概念設計

ソフトウェアシステムやアプリに「概念モデル」があるという言い方は誤解を招く。これは、ソフトウェア自体の現実とは異なるモデルが存在することを示唆している。実際にはそうではなく、概念のデザインはソフトウェア設計そのものなのだ。だから私は、ソフトウェアの "概念モデル "ではなく、むしろ "概念デザイン "について話すことを好む。

これは大きな視点の転換である。ソフトウェア・システムのユーザー・インターフェースから、その根底にある意味論へと私たちの注意を向けるのである。心理学は重要ではあるが、ユーザビリティを達成する上でそれほど中心的なものではない可能性を示唆している。そして最も重要なことは、それが、ソフトウェアの概念構造こそが本質であると指摘し、その構造がどうあるべきか明らかにするよう我々に求めてきていることなのだ。


(翻訳ここまで)

この翻訳は、先月出版された以下の本を皆さんにより深く読んでほしい、という思いから公開することにしたものです。 (丸善出版さんから献本いただきました。遅まきながらありがとうございました)

この本は、僕が以前(当時の勤務先の)ブログで紹介した Daniel Jackson の最新の著書 "The Essence of Software" の邦訳です。 以下がそのブログ記事で、当時ちょっとバズったので記憶にある人も多いかもしれません。

note.com

それから1年経って日本語版が出たのですが、書影を見たとき、僕は思わず、あっ、と心の中で叫んでしまいました。
日本語版のタイトルに「デザイン」という言葉を使っていたからです。
この本の翻訳にこんな罠があるとは、と、そんな事にここで初めて気づきました。

この本にとっては不幸なことに、日本語においてソフトウェアにまつわる "design" の訳は2種類あります。「デザイン」と「設計」です。
歴史的経緯から、ソフトウェアエンジニアは主に「設計」を使い、UI/UXデザイナーは「デザイン」という言葉を使ってきました。そして問題は、この本で扱っている "design" が意味するのはその両方だ、ということなんです。
もっと踏み込んで言えば、この本は「ソフトウェア設計」と「UXデザイン」を、「コンセプト」(概念)を依り代に統合させようという野心的な試みについて書かれています

実はこの本の内容は、特にソフトウェアエンジニアや、あるいはソフトウェア工学の研究者にはとてもインパクトを感じさせる内容になっています。
一方で、この本はdesignの訳語に「デザイン」を使い、タイトルにも使用しました。だからきっと、書店でこの本を手に取る人の多くはUXデザイナーなのではないか、と推測します。
UXデザイナーはこの本のタイトルを見ただけでは、もしかしたらピンとこないかもしれません。UXデザインにコンセプトが重要なのは当たり前のことだからです。

さらに言えば、この本はNormanの『誰のためのデザイン?』に大きく影響を受けていますが、同書はUXデザイナーにとっては必携の書と言っても良い古典なので、なおのこと、この本に何か目新しさを感じられないかもしれません。

以前そういった、この本の新しさがUXデザイナーには伝わらないかも、といったことを原著者のDaniel Jacksonとメールでやり取りをしていて、そのとき彼から紹介されたのが、上で翻訳したブログ記事でした。
この内容が、従来UXデザインで常識となっていたことと彼の主張の違いを非常にわかりやすく説明しているので、それで僕は彼に許可を得た上で、日本語版出版のタイミングで翻訳することにした、というわけです。(色々手間取って1ヶ月以上かかってしまいましたが)

UXデザインとソフトウェア設計を統一する、というのはどこか無謀に聞こえるかもしれませんが、彼の6月のブログ記事によると、この本の提案に従い、米国Palantirで「コンセプト」をソフトウェアモジュールとして設計し再利用する、といった試みが始まっているそうです。
また別の文脈で、AirBnbがプロダクトマネージャー職を廃止し、UXデザイナーにプロダクトマネジメントをさせる試みを始めたという話が最近話題を呼びました。時代の流れも実は同じ方向を向いているのかもしれません。

注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。