こんにちは。デザイナーの伊藤です。
このコラムでは、ソフトウェアやユーザーインターフェース(UI)を持つハードウェアの開発に携わっている人であれば知っておいて損のない「OOUI(Object-Oriented-User-Interface)」について、デザイナーの観点からご紹介しようと思います。
OOUIは、使いやすいUI設計の基礎ともいえる考え方・取り組み(=フレーム)です。名称を知らない人は大勢いると思いますが、UI設計に関わったことがあれば知らずに実践しているかもしれません。
知っている方も知らない方も、この記事でOOUIの概念から効果まで理解を深め、使いやすいUIを実現するために役立てていただければ幸いです。
目次
OOUIとは? ざっくり解説
OOUIとはObject-Oriented-User-Interfaceの略称で、日本語に置き換えると「オブジェクト指向UI」となります。1980年代以降コンピューターが世に登場しはじめてから作り出された、比較的新しい言葉です。
このフレームワークを取り入れる代表的なメリットとしては下記のものが挙げられます。
- 劇的な遷移(ページ)数削減による工数縮小
- デザイナーとエンジニア間の手戻り減
- なによりもユーザーライクなUIデザインが可能になる事
オブジェクト指向とはどういう意味か?
OOUIを単語に分解して日本語に訳してみるとそれぞれ次の意味を持ちます。
Object:【名詞】物体・対象・物 Orient:【動詞】適応させる・方向づける・順応する User:【名詞】使用者・利用者 Interface:【名詞】境界・接点
つまり、Object-OrientedなUser-Interfaceは、”物体・対象として方向づけられた・適応させられたユーザーインターフェース”と解釈することができます。
ユーザーインターフェース(UI)という言葉は今ではさまざまなところで使われていますのでここでは深掘りせず、Object-Oriented(オブジェクト指向)の持つ意味に目を向けたいと思います。
「物体・対象として方向づけられた・適応させられた」とは一体どういうことでしょうか?
物体・対象として方向づけ・適応させ「られた」考え方があるならば、もう一方には、物体・対象として方向づけ・適応させ「られなかった」考えがある。と言えそうです。
この「物体・対象として方向づけ・適応させられなかった」UIを「タスク指向UI」と呼びます。実は世の中に出回っているインターフェースはほとんどこのタスク指向UIだと言われています。
次に、オブジェクト指向とタスク指向を比較することで、オブジェクト指向UIのアウトラインを導き出していきたいと思います。
オブジェクト指向とタスク指向
言葉遊びのようでややこしいのですが、ソフトウェアが構築される情報空間に物質は存在せず、「オブジェクト」や「タスク」もプログラムのテキストにその存在が依存しています。そのため、言葉の使い分けが非常に重要となってきます。
下図は現実の世界でカレーを作るという行為を、オブジェクト指向UIとタスク指向UIそれぞれの考え方に基づくインターフェース(目に見えている要素)として表現してみたものです。
こうしてみるとそれぞれの考え方や構造化の仕組みがわかりやすいのではないかと思います。
オブジェクト指向UIではユーザーの目の前に野菜・米・包丁・炊飯器といったオブジェクト(名詞)が陳列されています。
そのオブジェクトの中に切る・煮るなどの「機能(=タスク)」が内在しており、ユーザーは自由にオブジェクトを選択し機能を利用します。
一方、タスク指向UIにおいてユーザーはまず切る・煮るなどのタスク(動詞)のうちどれを行うかを選択してから、その機能の対象となるオブジェクト(名詞)を選択します。
自由度や一覧性がなく、線的または不透明なフローを持っています。
タスク指向UIの具体例としてよく挙げられるものに、現金硬貨で支払う旧式の自動販売機があります。一般的な飲料自動販売機の設定しているタスクフローは大まかにこう解釈することができます。
一般的な(タスク指向な)飲料自動販売機の購入フロー
- 硬貨を投入する(購入する指示を機械に出す)
- 買いたい飲料を選択する
- 飲料を取得する
既に自動販売機での買い物に慣れてしまった私たちは、このタスク指向UIと他のあらゆる現実世界におけるタスクとの違和感をなかなか思い出すことができないかもしれません。
しかし、通常であれば「飲料を購入する」という目標は次のフローでも達成できるはずです。
オブジェクト指向な飲料自動販売機の購入フロー
- 買いたい飲料を選択する
- 硬貨を投入する(購入する指示を機械に出す)
- 飲料を取得する
どちらのフローもゴールは同じです。
しかし、タスク指向の自動販売機では「購入する」という動詞(タスク)が優先され、オブジェクト指向の方では「飲み物」という名詞が優先されているのがわかります。
モードとモードレス
タスク指向とオブジェクト指向の自動販売機のフローにはどういった差異があるのでしょうか?
わかりやすくするために、次にモード/モードレスとエラー回避の問題を挙げてみたいと思います。モードという言葉はさまざまな文脈による異なる意味を持ちますが、ここではコンピュータープログラムにおける意味を抽出したいと思います。
コンピュータープログラムにおいては「モードを持った/置かれた状態」を「モーダル」と呼びます。
「モードを持った/置かれた状態」とは、通常ソフトウェア内を自由に動き回って可能なタスクであれば何をしてもいいはずのユーザーが、開発側によって設定された一定のタスクしか処理できない状態(モード)に突入した様子を指します。
反対に「モードを持った/置かれた状態」以外の状態は「モードレス」と呼びます。
- モーダル:一定のタスクフローを終えるまで他の操作を受け付けない状態
- モードレス:タスクの途中で他の操作に移るなど自由な操作ができる状態(いわばこちらが普通の状態であり、ほとんどの場合モードレスという言葉を用いて説明する必要はありませんが、モーダルと対比する際にモードレスと表現されます)
このモーダル/モードレスという考え方を先ほどの自動販売機の例に照応させると、タスク指向な自動販売機では、「1.硬貨を投入する」の段階で、ユーザーは「飲み物を購入しなければならない」というモードを持ってしまったと考えることができます。
また、「2.買いたい飲料を選択する」でボタンを押した瞬間にチェックアウトが成立してしまうため、誤選択をしてしまったときのリカバリーもできません。ここでエラー回避の観点からもユーザビリティが下がってしまう可能性が挙げられます。
一方オブジェクト指向な自動販売機は「1.買いたい飲料を選択する」ではまだお金を入れていないので、購入をやめたり違うジュースを選んだりできる状態であり、「2.硬貨を投入する」まで縛られた状態は発生しません。従ってこのフローにはモーダルな状態は含まれていない(モードレスである)と言うことができます。スーパーやコンビニで買い物するのとなんら変わりのないフローです。
上記からと次のとおり解釈できそうです。
- オブジェクト指向UIは物・道具(名詞)を選んでからそれを使って/それに対して何かをする(動詞)という「人間の現実世界における自然な考え方・概念」と近い。
- タスク指向UIはまず動詞(指示)があってから働きかけるオブジェクト(名詞)を選ぶという、「人間の現実世界においては不自然な考え方・概念」を持っている。
なぜオブジェクト指向なUIは使いやすいのか
オブジェクト指向UIのアウトラインがみえてきたところで、その考え方・フレームがどうして「使いやすいソフトウェアの開発を可能にするか」を考えて行きたいと思います。
現実の空間と情報空間のギャップへの対処
通常、人間の物事の捉え方は現実世界の物質的な環境で育まれ、その法則や現象に慣れ親しんでいるのに対し、プログラミングによって創り出されたウェブサービスやソフトウェアはある種の異次元の情報の羅列であり、そのままでは一般の人間には理解できません。これがソフトウェア・アプリケーションのUIをデザインするときに直面する最初の大きな問題となります。
そこでエンジニアとデザイナーは「プログラミングの世界」の手前に、これを翻訳して「現実の世界」にわかりやすく映し出す場をつくることにしました。これが「GUI(Graphical User Interface)の世界」です。
この「GUIの世界」は現実とプログラミングの2つの世界のルールを守っていなければそれぞれの面で機能しません。きちんとプログラムで繋がれていなければその先の情報空間とやり取りできませんし、現実の空間で親しみのある見た目や振る舞いを持っていなければ一般の人々はUIの意味するところを理解できません。
この現実世界側の面に映し出された(=物質的法則をもった振る舞いをする)GUIがわかりやすい(考えなくても自然と理解できる)ものであれば人間にとって「使いやすい」といえるのですが、先述したように世の中に出回っているインターフェースはほとんどが「人間の現実世界においては不自然な考え方・概念」を持っているタスク指向UIだと言われています。
その原因は、ソフトウェア・アプリケーションの設計過程にあると考えられます。多くの場合、設計の手順としてまずタスクの整理が行われ、そのタスクを実現するための機能を詰め込んでUIを作ってしまうためタスク指向なUIになってしまうのです。
一方で、OOUIは、タスク指向になりがちなソフトウェア・アプリケーションのGUI設計に「慣れ親しんだ現実の世界の人間の考え方・概念」(オブジェクト指向)を取り入れるという態度・取り組みです。
GUIによって現実の空間と情報空間のギャップを埋めるだけでなく、GUIの世界に「より人間にとって自然な法則」を持ち込んだことが、ユーザーの理解を助け「使いやすい」を可能にする最大の理由なのです。
NCDCの多彩なUX/UIデザイン
今回はOOUIについて解説しましたが、いかがでしたでしょうか。
NCDCはこうした優れたUX(ユーザーエクスペリエンス)を実現するためのデザインの知見から、それを実装するためのテクノロジーまで、一元的に提供可能です。
新たなデジタルプロダクトを開発する際のUX/UIデザインのご依頼や、UX/UIデザインを学びたい方向けの研修の企画など、幅広いご相談に応じていますので、UX/UIデザインに関するお悩みのある方はぜひ一度お問い合わせください。