デザイナーが気をつけるべきOOUI(オブジェクト指向UI)

Ateam Finergy Inc. Advent Calendar 2021の23日目は、@ito_yuri が担当いたします。

# はじめに
本記事のテーマですが、「オブジェクト指向UIデザイン」に関する内容です。
オブジェクト指向については以下の書籍がおすすめでして、本記事でもこちらに掲載されている内容を参考に書かせていただいております。
「[オブジェクト指向UIデザイン──使いやすいソフトウェアの原理 (WEB+DB PRESS plusシリーズ)](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91UI%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E2%94%80%E2%94%80%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%8E%9F%E7%90%86-WEB-DB-PRESS-plus%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/4297113511/)」

# オブジェクト指向について
UI設計は大きく分けて2つ、「タスクベース」と「オブジェクトベース」が存在します。

**タスクベース**
ユーザーがやること（タスク）をベースに選択でき、そのあと目当ての指定ができるもの
![FireShot Capture 153 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/98591975-77bc-4789-1d1c-bb132c53015c.png)


**オブジェクトベース**
ユーザーの目当て（オブジェクト）をベースに選択できるよう、優先して考えられたもの
![FireShot Capture 154 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/10f2c104-37cb-207b-a0be-c34a029a377a.png)


# オブジェクト指向でUI設計をするメリット
「オブジェクト＝ユーザーの目当て」として考えると、オブジェクトを先に出す事で、ユーザーにとっては自分の目当てが先に見えるので、タスクの負荷が低くなります。
オブジェクトにたどり着くまでに長い道のりを歩まなくていいので、結果ユーザーを迷わせるものが少なくなるので、無駄な物がそぎ落とされ、私たち作り手側もコストが減るというわけです。

**・ユーザーが直感的に操作できる
・無駄な操作時間が減る
・画面数の削減につながる
・それによる開発コストの削減
・機能の精査がされているので、追加も検討しやすい**

# なぜ使いづらいUIになるのか背景を考察してみる
使いづらいUIになる背景について様々な要因があると思いますが、自身の経験からもその要因となる背景について考えてみました。
UIを設計する際に、まずデザイナーは業務上での複雑なニーズを満たすために要件をまとめます。
ここでいう要件は、立場（社内・クライアント・ユーザーから出てくる）だったり、場合によっては意見が違うもの（主観・客観・調査結果などがベース）だったり、様々な粒度で出てくることになります。
![FireShot Capture 155 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/ce4339e8-ebbb-9287-5e25-0081c0d2f76f.png)


ここで熱心にその要件を盛り込もうとし、起こりがちなのが、いろんな要件を必死でまとめていった結果、要件を盛り込みすぎて逆に使いづらい設計になってしまった。という話がよくあります。

# デザイナーが気をつけるべきUI設計
先ほど要件を盛り込みすぎて逆に使いづらい設計になってしまう事がある、とお伝えしましたが、デザイナーとして気をつけるべきことは、すべての要望を盛り込む前に、ユーザーにとって使いやすいUI設計にするために精査や検討が必要という事です。場合によっては、入れないもの・入れるものを検討したり、ベストだと思うものをこちらから提案したりする事も必要です。
![FireShot Capture 157 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/b571399f-d3fa-a6f7-4697-b5b8ed2c7c3d.png)
「ユーザーの目当て」は何なのかに立ち返り、その目的を達成すべき要件をしっかり見極める必要があるのではないでしょうか。

# 具体的なUI設計の例
ではオブジェクト思考の設計手順を、冒頭にご紹介した書籍、「[オブジェクト指向UIデザイン──使いやすいソフトウェアの原理 (WEB+DB PRESS plusシリーズ)](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91UI%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E2%94%80%E2%94%80%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%8E%9F%E7%90%86-WEB-DB-PRESS-plus%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/4297113511/)」を参考に、簡単にご説明します。
ちなみにこちらの書籍ではワークもできるような内容が掲載されております。

今回は「美容院」を例に設計をおこなっていきます。

**オブジェクトの抽出**
ユーザーの考える事・やる事を抽出していきます。
![FireShot Capture 158 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/e18c8cb7-00eb-bb47-00c6-32695ee828d5.png)


ある程度洗い出せたらそこから**名詞を抽出**していきます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/6989acd1-085a-3c96-980c-54a950564199.png" width=60%>

**関係性を整理**し、大事なメインとなるオブジェクトを抽出します
![FireShot Capture 162 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/5a062215-e4ff-ef05-63d2-d40997bbda7b.png)


オブジェクトに付属になるオブジェクトをプロパティとしていきます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/7c85b335-d4e7-39ad-6b1c-ca358217be23.png" width=60%>


ビューを考えていく段階で、**一覧となるコレクション**とその**詳細となるシングル**をつけます
![FireShot Capture 164 - Mind Map, Online Whiteboard for Visual Collaboration - miro.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/59c99bbe-6303-7554-0be5-62c0cfef7fb8.png)


**コレクションとシングルの相関関係**を出していきます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533147/1922008f-7613-24ef-00b0-d83e12c5fac2.png" width=60%>


ここまでくれば、あとは抽出した内容でレイアウトを作成していきます。
本記事ではレイアウトは割愛させて頂きますが、このように設計を行った上でレイアウトへ進めると、重要なオブジェクトが見えてきますね。

# まとめ
いかがでしたでしょうか。
デザイナーにとってもユーザーが直感的に操作できて、いち早く目当てのものにたどり着く事ができるようなものを作って行きたいものですね！

またタスクベースのUIについて少し触れましたが、これが悪いというわけではなく、合理的に無駄な選択を避け、ユーザーをゴールに向かわせるべき時にはこういったタスクベースで、進めるべき時もあるとおもいますので、しっかり達成したい目標・目的の為に使い分けるがベストだと思います。