WCAN 2023 Winter 登壇資料 UIデザインは何であり何でないか

## この記事の概要

[2023 年 12 月 2 日開催のWCAN 2023 Winter](https://wcan.doorkeeper.jp/events/164376) というイベントで発表した内容です。

当日のスライドと台本のセットです。
名古屋開催という条件や、口語的な文章のままの掲載ではありますが、公開します。

## このセッションで叶えたいこと

本題に入る前に、この内容を選んだ理由や、ここで叶えたいことをお伝えしておきます。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/06f4eaa2-683c-c631-ea98-06ef079dfc89.jpeg)

私が観測する限り、名古屋ではWebデザインをしている人に比べて、UIデザインをしている人は少なく思えます。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/ce932837-d27d-d830-d7ad-b4c1c63710e8.jpeg)

普段会社で採用も担当している関係で色々な意見を聞くのですが、大別するとこんな意見が多いです。

「興味はあるけどなかなか手がつけられない」
「UIデザインと他分野の違いが分からない」
「何から勉強すべきか分からない」

こういった、そもそもはじめの一歩を踏み出しづらい状況を改善したいなとずっと思っていました。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/e6e92a87-3e25-9662-b332-95ca40e5dd55.jpeg)

そのため名古屋のデザイナーが多く集まるこの場で

「UIデザインではこういう考えが大切ですよ」
「こういうのはあまりUI的ではありませんよ」

という大まかな概念をお届けしたく今回のセッションを組み立てました。

20分という短い時間ですから、細かなイロハをお伝えすることはできません。
しかし、聴き終わった段階でみなさんが「よし、UIの勉強のためにまずはアレからやってみよう」という気持ちになっていたら嬉しいです。

## UI, Web, App...

それではお待たせしました。ようやく本題へ入っていきます。

UIデザインが云々と言っていますが、Webデザインとかアプリデザインとか、似たような雰囲気で語られる領域が色々あります。
厳密な定義もないのですが、関係性をざっくりと把握しておくとこの後の話がスムーズになるので聞いてください。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/da7b4fe7-e767-78af-9a97-8bbc6303fdbf.jpeg)

まずWebデザイン。

Webデザインは、Web上に公開されて動いていればもうWebデザインです。
コーポレートサイトでもキャンペーン特設サイトでもSaaSでも、分け隔てなくWebデザインです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/7ecc3324-80bd-2827-07ea-4fe38c22981e.jpeg)

アプリデザインは、実態としてはモバイルアプリのデザインを指すことが多いです。

アプリケーションという語を原義的に考えれば「特定の作業目的のために作られたソフトウェアのデザイン」とかになるんですが、あまりそういう文脈では使われていません。
また定義としてはWebアプリケーションも該当しますが、もっぱらネイティブアプリケーションを指しています。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/412db19e-6459-2421-5b6e-e1a67cf8ebbc.jpeg)

このように、Webとアプリは「動く場所」にあわせて呼び方が決まっています。
一方でUIは「特徴」によって呼び方が決められます。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/fc85b834-c2ce-479b-6f7e-44e00a6393bf.jpeg)

UIとはUser Interfaceの略で、ユーザーと製品の接点のことです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/ecc105c6-a7f2-9b71-3897-1c8543e100f9.jpeg)

そのため本来はオンスクリーンに限りません。
キーボードやマウスなど、物理的な存在もユーザーインターフェースです。

ただこれも先ほどのアプリデザインと同様、原義的な意味と実態に乖離があります。
今では「画面上であれこれ操作するもの = インターフェース」みたいなニュアンスになっています。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/899e5074-c7fa-8044-2ac3-a66f4219b99f.jpeg)

最終的に図にするとこんな感じです。

はじめに言ったように明確な定義があるわけでもないので、異論を唱える方もいるとは思いますが、大間違いな内容ではないはずです。

余談ですが、今の時期でいうなら、クリスマス限定キャンペーン！みたいなサイトを作るとしたら「UIデザイン」ではなく「Webデザイン」と呼びませんか？
キャンペーン的なサイトって、大抵は情報を読むのがメインですよね。
読むとか見るといった行為が主体の場合、操作する度合いが低く、結果として「UI的ではない」とみなさん感じているんだと思います。
そういう無意識さを改めて紐解くとこういう関係があるわけです。

## ステートフルでありステートレスでない

Webやアプリとの対比もある程度理解した上で、UIデザインのらしさを追求していきましょう。
最初はステートフルであり、ステートレスではないという観点です。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/16536140-7ff5-eec8-1f3c-ba7f07f247c9.jpeg)

文字通りステート、つまり状態が有るか無いかの話です。
ステートというのは、ユーザーの操作内容とか、属性とか、そういったものによって色々と変わります。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/b08c8ec9-67a7-4bd4-5dc5-bf562dcd634b.jpeg)

操作内容については、入力フォームを考えると分かりやすいでしょう。

最初は何も入力されていなくて、空っぽの状態です。
必須なのに未入力とか、間違った書式で入力するとかだと、エラーになります。
入力ができているチェックがつく、みたいなサイトもありますよね。
そして全部入力してsubmitするとローディングがした後完了する、と。

1つのビューであっても複数の状態があり得るわけです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/c6fb1688-4b3c-2517-9c1d-296b7514f8ce.jpeg)

ユーザー属性については、アプリのインストール時を思い出してもらうと良いかもしれません。

初回起動時って、だいたい機能全体のオンボーディングがありますよね。
そして2回目に起動すると出てこないはずです。
あれは「初回ユーザーである」というフラグがあり、それがtrueならオンボーディングを、falseなら通常のマイページを表示する、みたいな感じです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/30acf0b2-9517-b9db-02a2-169c348fd874.jpeg)

逆に言うと、状態がなく、いつ見ても誰に対しても同じ情報を提供する場合はあまりUIデザイン的でありません。

例えばコーポレートサイトって、ログインしないと使えない機能とか、何かを操作するタイミングとか、ほぼありませんよね？
IR情報が更新されるとか資料請求フォームとかはありますが、UIらしさが低いことは伝わると思います。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/303e5822-abd7-bf45-a80e-f7d3307acc0a.jpeg)

こういったステート、何十何百通りとあってすべてを自分で考えないといけない……なんてことはありません。

代表的なものは決まっているので、まずはセオリーを覚えるのが大切です。
どうですか？こう聞くと少し勇気が出ませんか？

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/b6f180bd-b260-a096-a614-0811a1d6dab3.jpeg)

UI Stackと調べると、事例も交えた解説記事が出てくるのでそちらを読んでいただくと分かりやすいと思います。
このセッションでは詳しくは解説しませんが、はじめの一歩として学ぶのに非常に良いコンテンツです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/f0434002-6460-d0b6-79c5-52abc9f4b66d.jpeg)

これまでの話を踏まえて、UIデザインの練習をする際に「完成系、あるいは一番見た目の良い状態だけを作る」というのはよしておきましょう、とお伝えします。
デザイナー歴を問わず、UI経験が少ない方のポートフォリオには「もっとも見た目が良いビュー」だけが載っていることも少なく無いです。
様々な状態ありきで、しかもそれらの組み合わせはデザイナーから制御できるものではありません。
逆に言うと、ぱっと見汚い状態になろうと、色々なパターンを考慮できていることの方が実務的な価値があります。
例えばエラーメッセージを小綺麗に表示しようとしたとして、メッセージ内容が常に1つとは限りません。
はちゃめちゃな数のエラーが出たとき、果たしてこのUIはどんな振る舞いをするのか？というのも非常に大事なポイントです。

## 空気のような存在であり目を惹く存在でない

次に、空気のような存在であり、目を惹く存在でないという観点です。
見出しにするために断定的な言い方にしていますが、もう少し実態に即した言い方をするなら

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/1215f76c-95c4-a6ee-02d8-a355c0dd8251.jpeg)

「空気のような存在を目指せば80点くらいには到達できる。90点100点を目指すフェーズでもないなら目を惹くものを作るより先にやることがある。」とかでしょうか。

先ほども話したように、UIデザインは操作するものとして作ることが多いです。
また、UIデザインとはある特定のサイトだけ、アプリだけで完結するものではなく、ソフトウェア社会全体である程度共通した振る舞いが求められます。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/36bbb347-d8d6-f35d-0a17-21e3da64fd92.jpeg)

そういった前提条件を踏まえずに「あっと驚かせるものを作ろう」「世界に1つだけのオリジナルUIを作ろう」「アニメーションを多用しよう」などと考えると、途端に使いづらくなります。

見た目は良いけど操作感の考えられていないものを作るくらいなら、CSS無しの素のHTMLとかOS標準UIとかを使った方が100倍マシです。
少し地味なこと以外は何も問題ありませんからね。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/cba4ae73-2f4d-8a0b-ca98-2e05723da54f.jpeg)

パーツ1つ1つの見た目だけでなく、全体のレイアウトや振る舞いも重要です。
戻るボタンって、iOSなら左上、Androidなら左下にありますよね。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/b9aab4ce-391d-0940-d831-c431f6f80d1a.jpeg)

けどこれが右真ん中あたりにあったらどうでしょうか？
99%のサイト、アプリでは「戻る」行為に対して同じレイアウトが適用できるのに、ある特定のサイト、アプリでだけ例外を覚えないといけない……。
ちょっと考えただけで怠すぎますよね？

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/34477418-0bd6-74fd-3362-c55b799966d8.jpeg)

こうやって分かりやすい例を示すとみんな笑い話として捉えるのに、いざもっと要件が複雑な実務レベルのUIを作ると、すぐにセオリーから逸脱するのです。
デザイナーという性質がオリジナリティを求めるのか、単にセオリーの理解不足なのか、理由は色々あると思いますがユーザーからしたら関係ありません。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/4afb1a37-e358-e3a3-6548-2ff05dd6cfa8.jpeg)

まずはプラットフォームごとのセオリーを理解し、レイアウトやナビゲーションといった包括的な「らしさ」を作る。
その上でUIフレームワークなどを理解し、個別パーツの「らしさ」を作る。
こういった順番で考えるのが大切です。

これらが完璧に近いレベルで実現できた上で、マイクロインタラクションやイースターエッグに手を出しましょう。逆はありません。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/b4f854df-2a26-bf53-7ffd-20763556d7e2.jpeg)

先ほど紹介したUI Stackのような、個人の方が書いた記事ではなく、いわゆる公式ドキュメントを読みましょう。
個人の記事が悪いなんてことはまったくありませんが、最新情報が網羅的なのは公式ドキュメントです。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/1a840f4f-f65a-155e-abc5-9bdfc7ac2e72.jpeg)

また、規則や振る舞いを理解するためにも、見た目に関するドキュメントだけでなく開発者向けドキュメントにも目を通した方が良いです。
例えばHuman Interface Guidelinesではコンポーネントのページの下部にDeveloper documentationへのリンクがあります。

隅々まで理解するのは難しいですが、どんな値が渡せてどんな結果が返ってくるのかくらいは把握しておきましょう。
Figmaコミュニティにあるデータを見てデザインファイルとしての作りを理解しつつ、ドキュメントを読んで規則や仕組みを理解する、という反復を心がけてください。

## 構造であり視覚情報でない

最後に、構造であり、視覚情報でないという観点です。
こちらももう少し実態に即した言い方に変えると

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/421ed6ad-0fa4-b5d8-8a87-26a2d841f8c3.jpeg)

「しっかりとした構造の上に視覚的な装飾が存在する、ルールのない視覚情報の集まりではない」でしょうか。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/51315946-d5ab-0636-1216-a53ad4b3e0fb.jpeg)

個別のパーツの話からした方が分かりやすいと思うので、例えばカードっぽい見た目をした、記事へのリンクを考えてみます。

サムネイル画像とタイトルと投稿日時だけのシンプルな構成としましょう。
「サムネイル画像をちゃんとみて欲しいから、文字は控えめにする」という方針でコンポーネントを作ったとします。
しかし、サムネイル画像無しでも投稿できるとした場合どうなってしまうでしょうか。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/786415a9-7677-fb45-4868-0dd965d030d4.jpeg)

サムネイル画像の有り無しが入り乱れると、非常に見た目の悪い画面になってしまいました。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/ea1fd7d0-f0e7-5027-6948-09224b1c92aa.jpeg)

ここで「サムネイル画像ありきでデザインを作っているのだから、忘れないようにしてください」というのはUIデザイナーとして筋が悪いアクションです。
データベースの作りとしてサムネイル画像は必須とする、または、サムネイル画像が無い場合はデフォルト画像を表示する、このどちらかです。

データベースの構造なり、フロント側の構造なり、UIデザインとして関与していればコントロールすることができます。
逆に言えばこういった構造的な部分がノータッチなのであれば「アプリケーションの絵を描いている」にすぎません。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/5d47a581-4426-3fbe-5713-b8f625d1104a.jpeg)

もう少し広い話をすると、ナビゲーション設計などでも構造を理解していないといけません。

色々なカテゴリーのものを扱うアプリケーションを作るとして、よくある付箋をたくさん貼って、感覚でグループ分けをして、それをナビゲーションの単位とするような分け方ではまず間違いなく破綻します。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/ea4be7c1-a5e6-bc7c-dd7b-b9b26e21b24f.jpeg)

説明は省略しますが、ER図とかクラス図と呼ばれるようなものを書いて、属性や主従関係をしっかりと把握した上で要素ごとにナビゲーションの単位とする、などのアクションが必要です。

みなさんも普段Webサイトやアプリケーションを使っていて「目当てのものは、どっちのリンクを踏めばアクセスできるんだ？」なんて迷った経験ありますよね？
使っている側としてはすぐに気づくのですが、提供側になると気づきづらいものです。
そういうのを避けるためにも、視覚的にではなく構造として整理した上でUIを作成しましょう。

---

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214677/96f86b88-5e35-2a9c-a22a-136e2456c28b.jpeg)

構造的に整理する、と言っても一朝一夕には行きません。
[DESIGNING CONNECTED CONTENT](https://www.amazon.co.jp/dp/4862465196)という本があるので、これを読むとかなり理解が深まると思います。

## まとめ

UIデザインとは何であり、何でないのかという話をしてきました。

- ステートフルでありステートレスでない
- 空気のような存在であり目を惹く存在でない
- 構造であり視覚情報でない

見出しの明快さのためにやや情報不足な書き方をした部分もありますが、一連の流れを通していただければきっと理解いただけるかと思います。
私のセッションは以上です。ご清聴ありがとうございました。