オブジェクト指向UIとタスク指向UIの違い
「オブジェクト指向UI」を理解するためには対比される「タスク指向UI」と対比しながら理解するのが早いです。
タスクUIの説明でよくあげられるのが自動販売機のUIです。
飲み物を購入するまでの手順を見てみましょう。
これは典型的な「タスク指向UI」です。
長い間、この自動販売機のUIに親しんでいるため問題がないように思えてしまうかもしれませんが、よく考えると、①お金をを先に払い(タスク)、②商品(オブジェクト)を選んで購入 という流れは物を購入する際の流れからして明らかにおかしいです。
例えば、スーパーで買い物することを想像してみてください。
購入したい商品を選び、それをレジに持っていってからお金を支払いますよね?
ということは、本来は以下の流れが自然ではないでしょうか?
これが「オブジェクト指向UI」となります。
例えば、最近だと自動販売機でもSuicaなどの電子マネーで決済するときは先に商品を選択してから支払う流れになっていませんでしょうか?
このUIであれば、購入をキャンセルしたくなった場合はわざわざ返金ボタンを押さなくてもお金を支払わなければ購入されないので一手間減らすことができます。
また、商品選択が購入の意思決定とならないので、商品のご購入の可能性も減らすことができるはずです。
実際のプロダクトで考えてみる
好きな映画のタイトル、監督、感想を登録できる簡単なアプリのUIで考えてみましょう。
まずはタスク指向UIだとどうなるでしょうか?
中心の初期画面からやりたいこと(タスク)を選び操作するデザインです。
いかにも冗長ですよね...
このままだとタスクが増える度に更に冗長さが増していきます。
これをオブジェクト指向UIに修正するとどうなるでしょうか?
初めにオブジェクトである「映画」を選ばせるようにした結果、編集や削除のタスクをそれに対して持たせるようになったのでかなりすっきりしました。
操作の手順もこちらの方がわかりやすくないでしょうか?
機能を拡張する場合もこちらのほうが冗長になりづらいはずです。
まとめ
タスク指向UIは、
__「動詞→名詞」__の流れで作られ、
__タスク選択後__にそれに対しての__オブジェクト__を選択します。
一方、オブジェクト指向UIは、
__名詞→動詞__の流れで作られ、
__オブジェクト選択後__にそれに対しての__タスク__を選択します。
実際のプロダクト開発では、タスクごとに振り分けられるため、どうしてもタスク指向UIに陥りやすいです。
オブジェクトをきちんと洗い出し、名詞→動詞でデザインしていきましょう。