タグUIのデザインパターン

# 自己紹介
* Pythonプログラマー。デザイナーではないです。
* 画面案を考えることがるので、UI/UXについて勉強中
* https://twitter.com/yuji38kwmt
* 来栖川電算に所属 https://www.kurusugawa.jp/


# 背景
画面を考える際、UIデザインパターンを参考にしています。

https://www.sociomedia.co.jp/category/uidesignpatterns

https://ui-patterns.com/

タグUIに関する詳細なデザインパターンがなかったので、既存のアプリを参考にしてタグUIのデザインパターンを考えました。

# 定義
## タグとは？

>ソフトウェアやネットサービスで情報を分類・整理する際に、その属性や特徴を表す単語や短いフレーズをタグという。利用者が考えた様々なタグを対象に対応付けて分類していく手法をタギング（tagging/タグ付け）という。

https://e-words.jp/w/%E3%82%BF%E3%82%B0.html#:~:text=%E3%82%BF%E3%82%B0%20%E3%80%90tag%E3%80%91,%E3%82%92%E6%8C%87%E3%81%99%E5%A0%B4%E5%90%88%E3%82%82%E3%81%82%E3%82%8B%E3%80%82


## タグの特徴

* オブジェクトに複数の情報を付与する
* 順番はない
* ユニーク

## タグUIの古いデザインパターン 

https://ui-patterns.com/patterns/Tag



# 各アプリの調査

## note
### 閲覧
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/78a65839-fbb0-a90f-232c-7c2ef2a9d75a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/9d438e2a-2a6c-39db-d5bb-ffa5d78fc77b.png)

### 編集

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/2762a6ad-f420-767c-3e42-e44d447ddf3f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/172b020c-395f-f9cb-8f1c-989470983091.png)

文章中にタグを埋め込めるだけでなく、文章を公開する際にタグをフォームから入力できる。


* タグとセットで件数を表示している
* 検索するときには、`#プログラミング`のように表示している


## Instagram

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/7963744b-7988-78ad-e317-2e217c85765f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/579dcd8a-bafb-2a01-7eb1-5e25312cf044.png)

`#`を入力すると、補完リストが表示される。各ハッシュタグの件数が表示される。



## Qitia
### 閲覧
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/5e0ba8d3-47d8-e531-93e4-e370aac009b1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/89c07976-018a-f89a-ad3b-592aea606b59.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/79841600-7381-1f08-a918-db26a872082a.png)

一覧と詳細でタグの表示方法が異なる

### 検索
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/029f5756-f79d-174d-268f-5a264de2ec95.png)

### 編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/53da123d-c61f-2e88-7216-d946983a675e.png)

## stackoverflow
### 閲覧
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/184d6562-4701-4343-23f8-dd47edae2bcb.png)

### 編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/68870a0f-e291-72cc-8ad8-0b7ab6309f5e.png)

* タグに説明文がある。自分で新規のタグも追加できる。ただし信用度を上げて権限を付与してもらう必要あり。https://ja.stackoverflow.com/help/privileges/create-tags


## Everhour
### 閲覧
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/94bc5621-987d-a865-0492-a29d74b9ca93.png)


### 編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/68cfc89d-8738-64ef-21be-8a357bf28dde.png)

* チェックボックスで編集する


## mondaycom
### 編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/486c2830-7b6a-fc90-aaec-00ddc778a6b3.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/5eab5c02-fcdc-e2aa-0fd3-62438eda25c6.png)
### 検索
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/cf7f84c8-de91-84b6-d91f-9c0a67d51001.png)


## Github
### 閲覧
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/f5d94c57-e704-1b48-735c-b04756805de6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/68087f5b-2373-2d29-f62c-03113dc13ce2.png)

### 編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/0eb46fa9-a513-22c4-b9f2-4c095b27a3a9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/c06f3b69-df98-8ab9-8cf1-fc8813edd523.png)

## Twitter

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/a34ef769-aa2e-2a89-4b7e-c5ae677e2d5b.png)

## Toggle Track
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/669f91d8-8b9e-04b6-434e-f3d254aafa4e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/b185413d-a33c-2bf1-af15-6e64340bdde0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/7ca9152a-59de-fcc6-81c1-100ab7388db0.png)


## Trello
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/18022d8e-fee3-ac20-0208-4f49110c86ce.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/0af06210-6605-8b60-8c1d-6f8b657bae89.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/c3fcadd5-b679-921d-9bd2-7b40e4a4a2af.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/e682f2e6-a709-e52e-5c34-7d6a0ce85cd0.png)


* レイアアウトの制約により、色で表現している
* trelloはタグをクリックしても、絞り込みできない。タグ検索がメインではないため。
* 文字がないタグもあり。色が必要。したがってドロップダウンで選択させている。



# 調査結果まとめ


| アプリ        | タグの編集方法                            | タグ専用の入力フォーム | タグの名前以外の情報 | タグの先頭にシャープを付けるか | タグをクリックしたときに検索できるか |
|---------------|-------------------------------------------|------------------|----------------------|--------------------------------|--------------------------------------|
| note          | 文章内に埋め込む & タグ専用の入力フォーム |                  |                      | Yes                            | Yes                                  |
| Instagram     | 文章内に埋め込む                          |                  |                      | Yes                            | Yes                                  |
| Twitter       | 文章内に埋め込む                          |                  |                      | Yes                            | Yes                                  |
| Qiita         | タグ専用の入力フォーム                    | テキストボックス | アイコン、説明       | No                             | Yes                                  |
| stackoverflow | タグ専用の入力フォーム                    | テキストボックス | アイコン、説明       | No                             | Yes                                  |
| Everhour      | タグ専用の入力フォーム                    | チェックボックス |                      | No                             | No                                   |
| mondaycom     | タグ専用の入力フォーム                    |                  |                      | Yes                            | Yes                                  |
| GitHub        | タグ専用の入力フォーム                    | ドロップダウン   | 色、説明             | No                             | Yes                                  |
| Toggle Track  | タグ専用の入力フォーム                    | チェックボックス |                      | No                             | No                                   |
| Trello        | タグ専用の入力フォーム                    | 難しい           | 色                   | No                             | No                                   |


# まとめ
「タグ」は、分類や検索目的で、あるオブジェクトに情報を付与します。

タグの編集方法は、
* テキスト内に直接タグを入力する
* タグ専用のフォームで入力する
の2つあります。

## タグの編集
### 「テキスト内に直接タグを入力する」形式
* TwitterやInstagramなどで使用されている
* タグの先頭に`#`を付けて、`#`以降がタグであることを表現することが多い
* ユーザーは簡単かつ自由に新しいタグを作成できる
    * → タグを管理する場合には向かない
* テキストとタグを同時に入力できるので、UIがシンプルになる
* タグを選択すると、そのタグで検索できる


### 「タグ専用のフォームで入力する」形式
* ドロップダウンやチェックボックスなど、タグ専用のフォームでタグを指定する
* タグをある程度管理したい場合に向いている


#### タグを入力するフォームは何か
* ユーザーがすべてのタグを把握できる場合
    * チェックボックスやドロップダウンなどで入力する
    * Trelloやmonday.comなどプロジェクト管理ツールで使用される
* ユーザーがすべてのタグを把握できない場合
    * 補完機能付きのテキストボックスで入力する
    * QiitaやStackoverflowなど不特定多数が閲覧するアプリで使用されている


#### タグの先頭に`#`を付けた場合
* `#`以降がタグであることが分かる
* タグを選択すると、選択したタグで検索できる
* タグで検索するUIと、タグ以外の情報で検索する（全文検索など）UIを統一できる

## タグの閲覧

* タグを横に並べる
* タグで検索する利用頻度が高い場合は、タグを選択すると選択したタグで検索できることが多い




# タグUIを作る際のポイント
タグUIを作る際、事前に以下の情報を決めておく必要がありそうです。

* タグに名前以外の情報があるか
* タグを管理したいか
* すべてのタグの個数はどの程度か（10個以下か）
* タグで検索するUIを、タグ以外の情報で検索するUIと同じにしたいか


# UI/UXデザイナーを募集しています


### 求めるスキル・経験
* WebアプリケーションまたはスマホアプリのUIデザイン（ギャレットのUX5段階モデルの表層～骨格レイヤ）の経験
* Sketch、Figma、Photoshop、Illustrator、Adobe XDなどを使用したUIデザインの経験
* 上記の経験を示すポートフォリオ
* 実装コストを考慮して、コストと使いやすさをトレードオフできる人

### あると望ましいスキル・経験
* オブジェクト指向UIデザインへの関心や経験
* 情報設計の経験
* Webアプリケーションのフロントエンド（HTML,、CSS、JavaScript、Reactなど）の関心や経験
* UXライティングの知識や経験
* UXデザインの知識や経験