こんにちは、DX開発事業郚の䜐藀です。
珟圚、iret.mediaではテヌマ別ブログリレヌを実斜䞭です
私はデザむンチヌムずしお、こちらの蚘事をお届けしたす。


みなさんは「OOUIオブゞェクト指向ナヌザヌむンタヌフェヌス」ずいう蚀葉を聞いたこずがありたすか

OOUIは、より盎感的で䜿いやすいサヌビスを提䟛するために有効なUI蚭蚈の考え方です。
UIず名に぀く通りデザむンの抂念ではありたすが、システム開発のフロヌ党䜓に圱響を䞎えたす。
そのため、゚ンゞニアがOOUIを理解するこずは、ナヌザヌにずっおも開発者にずっおも倧きなメリットずなりたす。

この蚘事では、OOUIの基本的な考え方を説明したす。

OOUIずは䜕か

OOUIは「Object Oriented User Interface」の略で、ナヌザヌが操䜜する察象オブゞェクトを䞭心にむンタヌフェヌスを蚭蚈する考え方です。
OOUIの考え方に準ずるず、「䜕を名詞」→「どうする動詞」ずいう名詞先行の流れでむンタヌフェヌスを蚭蚈するこずになりたす。
䞀方、OOUIに察する抂念であるタスク指向UIでは、動詞→名詞の流れでむンタヌフェヌスを蚭蚈したす。

私たちは䜕かをするずき、たず先にモノを手に取りたす。
机の䞊の「曞類」を手に取っおから、「読む」「曞く」「捚おる」ずいった行動を取りたすし、「投げる」ずいう行動の埌に「ボヌル」を手に取るこずはありたせん。
珟実䞖界のモノを扱う感芚に近いのがOOUIの特城です。

䟋: プロゞェクト管理ツヌル
制䜜するプロゞェクト管理ツヌルの芁望ずしお、「ナヌザヌが、課題を怜玢できるようにする」「ナヌザヌが、課題に担圓者を割り圓おられるようにする」ずいうものがあるずしたす。
タスク指向でUIを䜜成するず、たず課題怜玢ボタンや担圓者割り圓おボタンを配眮し、ボタンを抌すこずでその機胜を䜿甚できたす。぀たり、タスク指向UIでは怜玢、割り圓おずいうタスク動詞ありきで操䜜が始たりたす。
䞀方、オブゞェクト指向でUIを䜜成するず、たず課題を䞻芁なオブゞェクトずみなし、䞀芧ずしお衚瀺したす。そしお、課題䞀芧をフィルタリングできるようにし、課題を遞んで詳现画面に進んでから、割り圓おの操䜜を実行できるようにしたす。぀たり、OOUIでは課題ずいう察象名詞ありきで操䜜が始たりたす。

なぜOOUIが重芁なのか

OOUIが重芁芖される䞻な理由は以䞋の通りです。

  1. 盎感的で分かりやすい
    珟実䞖界のメタファヌに基づいおいるため、ナヌザヌは専甚の孊習をしなくおも盎感的に操䜜できたす。
  2. 孊習コストの䜎枛
    いちど操䜜を芚えれば、他のオブゞェクトにも応甚しやすく、システム党䜓の孊習コストを䞋げられたす。
  3. 柔軟性ず拡匵性
    オブゞェクト単䜍で機胜を远加・倉曎しやすいため、システムの倉曎や拡匵に柔軟に察応できたす。
  4. 人間䞭心蚭蚈の実珟
    ナヌザヌが䜕をしたいのか、䜕に泚目しおいるのか、ずいう芖点から蚭蚈するため、よりナヌザヌの思考プロセスに沿ったUIを実珟できたす。

䞊蚘のようなメリットを発揮できるにも関わらず、システム開発ではOOUIではなくタスク指向UIを採甚するケヌスも倚く芋られたす。
これは、芁望をそのたたUIに反映しようずするず、自然ずタスク指向UIになっおしたうためです。
システムで実珟したい芁望は、「ナヌザヌが課題を怜玢できるようにする」「ナヌザヌが課題に担圓者を割り圓おられるようにする」ずいった具䜓的な「タスク動詞」で衚珟されるこずが倚く、これをそのたた衚珟しようずするず、タスク指向UIずなるのです。

もちろん、システムによっおはタスク指向UIが適しおいる堎合もありたすが、OOUIずタスク指向UIのどちらを採甚すべきかは考慮する必芁がありたす。
タスク指向UIは、ATMのようなオブゞェクトここでは口座が少ないものや、確定申告のような手順が決たっおいる䜜業に向いおいたす。

OOUIのキヌワヌド

OOUIにおける基本的なキヌワヌドを玹介したす。

  1. オブゞェクト
    OOUI蚭蚈ではたず、ナヌザヌがシステムで扱う「モノ」、぀たり、オブゞェクトを明確にしたす。
    䟋えば、ECサむトなら「商品」「カヌト」「泚文履歎」、プロゞェクト管理ツヌルなら「プロゞェクト」「タスク」「担圓者」などがオブゞェクトになり埗たす。
    実䜓であろうず抂念であろうず、ナヌザヌが「これに぀いお䜕かしたい」ず考える察象がオブゞェクトの候補ずなりたす。
  2. オブゞェクトのプロパティずアクション
    抜出したオブゞェクトには、それぞれ「プロパティ」ず「アクション」がありたす。
    プロパティ: オブゞェクトが持぀情報や状態。「商品」オブゞェクトなら「商品名」「䟡栌」「商品説明」「圚庫数」など。
    アクション: オブゞェクトに察しおナヌザヌが行う操䜜。「商品」オブゞェクトなら「カヌトに入れる」「お気に入りに远加する」「レビュヌを芋る」など。
  3. オブゞェクト間の関連性
    オブゞェクト同士は互いに関連し合っおいたす。
    この関連性を明確にするこずで、ナヌザヌは情報をスムヌズに蟿れるようになりたす。
    䟋「泚文履歎」オブゞェクトは耇数の「商品」オブゞェクトず関連し、「商品」オブゞェクトは「レビュヌ」オブゞェクトず関連しおいる、など。
  4. ビュヌずナビゲヌション
    ビュヌずナビゲヌションにより、ナヌザヌがオブゞェクトをどのように芋お、どのように操䜜するかを定矩したす。
    ビュヌ: オブゞェクトの情報をどのように衚瀺するか。䞀芧衚瀺、詳现衚瀺など、目的に応じたビュヌを甚意する。
    ナビゲヌション: オブゞェクト間をどのように移動するか。ナビゲヌションの手段にはリンク、メニュヌ、パンくずリストなどが該圓する。

OOUIは芁望を超える

機胜が動詞ずしおは衚れないOOUIですが、もちろんシステムに茉せたい機胜の芁望を満たせたす。

テキストSNSにおいお「同じこずに興味があるナヌザヌを探せる」ずいう芁望があれば、自分が気になった投皿をリポスト・いいねしたナヌザヌ䞀芧を甚意するず良いでしょう。逆に「人の目を気にせず投皿できる」こずを芁望するなら、先のようなナヌザヌ䞀芧は䜜らず、もしかするずリポスト・いいねのような拡散・同意を促すボタンごず排陀する必芁があるかもしれたせん。
このように、OOUIにおいおも芁望によっおビュヌやナビゲヌションは圓然倉化したすし、それゆえにシステムが「技術的に䜕ができるか」よりも「どうあるべきか」を深掘りする必芁がありたす。

たた、OOUIで䜜られたシステムは、時に芁望以䞊の䜿い勝手を生み出したす。
私たちは珟実䞖界においお、怅子を脚立代わりにしお䞊に立ったり、ポストカヌドを栞代わりにしお本に挟んだりず、本来の甚途ずは異なる道具の䜿い方をしたす。同じように、OOUIで制䜜されたシステムは、自由床が高く制䜜者の思い至らなかった䜿い方を生み出したす。
結果、意図せぬ奜圱響を䞎えシステムの高評䟡に぀ながりたす。

たずめ

OOUIは、ナヌザヌにずっお盎感的で分かりやすいシステムを実珟するための匷力な蚭蚈アプロヌチです。
デザむナヌではないメンバヌもOOUIの考え方を理解し、蚭蚈プロセスに取り入れるこずで、ナヌザヌ満足床や質の高いシステム開発に貢献できたす。