🎨

オブジェクト指向UIデザインを読んだから図解してみる

2022/12/10に公開

この記事は、スターフェスティバル Advent Calendar 2022の 10 日目の記事です。

はじめに

スターフェスティバル株式会社 エンジニアの@nano72mkn です!

先日、社内でオブジェクト指向UIについて考える機会があったので オブジェクト指向 UI デザイン -使いやすいソフトウェアの原理- という本を読みました。

みなさんは、オブジェクト指向 UI というものを知っていますでしょうか?
検索などをしているとオブジェクト指向UIというよりも、
Object Oriented User Interfaceの頭文字を取ってOOUIと表記しているところが多いですね

実は、GUI が誕生した時から存在していた言葉らしいですが、
GUI の方が浸透してしまいOOUIのほうはそこまで普及しなかったようです。

そんなOOUIについて、今回は図解しながら解説していきたいと思います!!🙌

オブジェクト指向 UI とタスク指向 UI

UI にはオブジェクト指向UIタスク指向UIの2種類が存在します。

オブジェクト指向 UI

オブジェクトには色々意味がありますが、今回はわかりやすく名詞のことを指している事とします。

  • コンビニに置いてある商品
  • アルバムの中にある写真
  • マップに表示されている店舗

オブジェクト(商品、写真、店舗)

たとえば、オブジェクトチョコレートとした場合

チョコレート→食べる、作る、買う

チョコレートを選択してから食べる 作る 買うなどの選択をする。

このように、オブジェクト(名詞)を中心に設計するのがオブジェクト指向UIです。

タスク指向 UI

タスクというのは動詞のことを指しています。

  • 商品を売る
  • 商品を買う
  • 商品を追加する

タスク(売る、買う、追加する)

たとえば、タスク食べるとした場合

食べる→チョコレート、クッキー、キャンディー

食べるを選択した後に「何を食べる」か選択します。

このような、タスク(動詞)を中心に設計するのがタスク指向UIです。

銀の弾丸、OOUI

デザインはトレードオフの集合であり、常に有効なメソッドというものはほとんどありませんが、「タスク指向からオブジェクト指向への転回」だけは、半ば機械的に行えることでもあり、もう銀の弾丸と言っていいほど汎用的で強力な UI 改善方法なのです。

と、オブジェクト指向 UI デザイン -使いやすいソフトウェアの原理-でも紹介されています。

また、帯でも OOUI は銀の弾丸とまで称されています。

では、なぜ銀の弾丸と言えるほど OOUI は優れているのかを考えてみます。

日常の行動を何でもいいので文字に起こしてみます。

  • フリスビー投げる
  • 切符買う
  • 盗んだバイク走り出す

基本オブジェクトタスクの順番で文字にできます。

犬をみて→なでる、餌を与える、散歩させる

人は無意識にオブジェクトタスクの順番で選択しているということです。

「何かなでたいなー....犬か猫かどっかいないかなー」
とはあまり考えないと思います。(考えませんよね?)

人が普段行っている行動は、実はオブジェクト指向になっているから
それに沿った UI である OOUI は使いやすい = 銀の弾丸である ということです。

タスク指向は 100%悪か

タスク指向は 100%悪なのかということが疑問に思いました。

ATM の UI はタスク指向になっています。

ATMのUI

オブジェクトが限定的で選択する必要がなければ例外的に許容される、とのことです。

ATM であれば、キャッシュカードを ATM に入れた段階でどの口座(オブジェクト)かを選択した状態といえるということです。

では、不動産サイトでは?

不動産サイトで、オブジェクトとなるのは物件です。
ですが、基本不動産サイトで物件を見る前に検索をします。

不動産サイトの検索欄

最初に検索というタスクから始まっているのでタスク指向 UI といえます。

一斉削除

写真を削除する時、
写真を選択削除は OOUI です。

ですが、一斉削除の場合
削除というタスクから始まり、写真というオブジェクトを選択するので
この場合は、タスク指向 UI となります。

以上のことから、
タスク指向UIも 100%悪とはいえないと思っています。

まとめ

基本はオブジェクト指向 UI を意識しておけば使いにくいと思われない UI 設計ができます。

ただし限定的ではありますが、
タスク指向 UI を織り交ぜることで、さらに使いやすい UI が出来る事もあるという事が分かりました。

オブジェクト指向 UI だけ考えるのではなく、タスク指向 UI も同時に考える事でうまく使い分けていきたいです!

採用頑張っています!

オブジェクト指向 UI デザイン -使いやすいソフトウェアの原理- を読んで自分の考えがめっちゃ湧いてくると思います!

  • これは OOUI に沿っているの?
  • 不動産サイトをタスク指向って言っているけど、オブジェクト指向じゃない?
  • タスク指向 UI で使いやすいものみつけました!

などもっと話したいなと思っています!

https://stafes.notion.site/stafes/d0996a00d77d418280982797c7e16001

少しでも気になった方がいれば、気軽にご相談・ご応募お待ちしております!
ウェルウェルカムカムです!

GitHubで編集を提案
スタフェステックブログ

Discussion