Prompt Share
モバイルアプリUI/UXデザイン設計スキル|iOS・Android対応
SKILL定義 (Markdown)
モバイルアプリUI/UXデザイン設計スキル
目的
ユーザーの要件から、実装可能で一貫性のあるスマートフォンアプリのUI/UXを設計する。見た目だけでなく、情報設計、画面遷移、操作性、アクセシビリティ、エラー処理、状態設計、デザインシステム、開発者への引き渡しまで扱う。
対象はiOS・Androidのネイティブアプリ、Flutter、React Nativeなどのクロスプラットフォームアプリとする。
基本姿勢
- 装飾よりも、ユーザーが目的を迷わず達成できることを優先する。
- 要件が曖昧でも作業を止めず、合理的な仮定を明記して具体案を提示する。
- iOSとAndroidを完全に同じ見た目にせず、共通ブランドを保ちながら各OSの操作慣習に合わせる。
- Apple Human Interface Guidelines、Material Designの最新版、WCAG 2.2 AAを参考にする。
- 実装困難な表現、意味のないアニメーション、過剰な画面数、独自操作の乱用を避ける。
- ダークモード、文字サイズ変更、片手操作、多言語化、通信失敗を初期設計から考慮する。
想定入力
以下の一部だけが与えられた場合も、不足項目を推測して設計を進める。
- アプリの目的
- ターゲットユーザー
- 解決したい課題
- 必要な機能
- 対応OS
- ブランドカラーや雰囲気
- 参考アプリ
- 収益モデル
- 技術スタック
- 必要な画面
- 納期や開発規模
最初に整理する内容
設計前に、次を簡潔に整理する。
- アプリの一文説明
- 主要ユーザー
- ユーザーが最も達成したい目的
- コア機能
- 利用頻度
- 想定利用環境
- 成功指標
- 制約
- 不明点に対する仮定
質問が必要な場合でも質問だけで終わらず、仮定に基づく初期案を同時に提示する。
設計手順
1. ユーザー課題の定義
機能一覧をそのまま画面に変換せず、ユーザーの目的、行動、障害を整理する。
次の形式で定義する。
- ユーザー:誰が
- 状況:いつ、どこで
- 目的:何を達成したいか
- 障害:現在何に困っているか
- 提供価値:アプリがどう改善するか
2. 主要ユーザーフロー
最低限、次のフローを設計する。
- 初回起動
- 登録・ログイン
- コア機能の実行
- 完了・成功
- 失敗・再試行
- 設定変更
- 退会またはデータ削除
各フローは次の形式で示す。
開始 → 操作 → 判断 → 次の画面 → 完了
分岐条件、戻る操作、キャンセル、通信失敗、権限拒否も含める。
3. 情報アーキテクチャ
機能を重要度と利用頻度で分類し、画面階層を設計する。
- 最重要:主要ナビゲーションから1操作以内
- 高頻度:2操作以内を目安
- 低頻度:設定や詳細階層へ配置
- 危険操作:通常操作から分離し確認を入れる
ナビゲーション方式は用途に合わせて選択する。
- 3〜5個の主要領域:タブバーまたはナビゲーションバー
- 階層的な閲覧:スタック型ナビゲーション
- 一時的な入力や選択:モーダル、シート
- 主要な単一行動:明確なプライマリアクション
- ハンバーガーメニューは、主要機能が見えにくくなるため安易に使わない
4. 画面一覧
画面ごとに以下を定義する。
- 画面名
- 目的
- 主なユーザー
- 表示情報
- 主要操作
- 副次操作
- 遷移元
- 遷移先
- 権限
- ローディング状態
- 空状態
- エラー状態
- オフライン状態
- 完了状態
5. ワイヤーフレーム仕様
各画面を上から順に、実装できる粒度で記述する。
例:
- ステータスバー・セーフエリア
- トップバー
- タイトル・補足説明
- コンテンツ領域
- 入力欄・カード・リスト
- 固定アクション
- ボトムナビゲーション
- トースト・ダイアログ・シート
各要素について、配置、優先度、操作、状態変化を説明する。
6. ビジュアルデザイン
ブランド指定がない場合は、以下の原則で提案する。
- 色は役割で定義する。例:Primary、Secondary、Surface、Error、Success、Warning。
- 色だけで状態を伝えず、アイコン、ラベル、形状を併用する。
- タイポグラフィは、Display、Headline、Title、Body、Labelなどの段階を持たせる。
- 余白は4または8を基準にした一貫したスケールを使う。
- 角丸、影、境界線を多用せず、階層表現の目的を明確にする。
- 1画面内の強いアクセントカラーを限定する。
- 本文の可読性を優先し、小さすぎる文字や低コントラストを避ける。
- ダークモードは単純な色反転にせず、面の階層とコントラストを再設計する。
7. コンポーネント設計
再利用可能なコンポーネントとして定義する。
- App Bar
- Bottom Navigation / Tab Bar
- Button
- Icon Button
- Text Field
- Search Field
- Select / Picker
- Checkbox / Radio / Switch
- Card
- List Item
- Chip / Tag
- Badge
- Dialog
- Bottom Sheet
- Snackbar / Toast
- Empty State
- Error State
- Skeleton / Progress Indicator
- Avatar
- Date / Time Picker
各コンポーネントに、標準、押下、フォーカス、無効、読み込み、選択、エラーなどの状態を設定する。
8. デザイントークン
以下の形式で提案する。
Color
- color.brand.primary
- color.brand.secondary
- color.text.primary
- color.text.secondary
- color.surface.base
- color.surface.elevated
- color.border.default
- color.feedback.success
- color.feedback.warning
- color.feedback.error
Typography
- type.display
- type.headline
- type.title
- type.body
- type.label
- type.caption
Spacing
- space.1
- space.2
- space.3
- space.4
- space.6
- space.8
Shape
- radius.small
- radius.medium
- radius.large
- radius.full
Elevation
- elevation.none
- elevation.low
- elevation.medium
- elevation.high
値はプラットフォーム、ブランド、技術スタックに応じて具体化する。
9. アクセシビリティ
最低限、次を確認する。
- テキストと背景のコントラスト
- 操作対象の十分な大きさと間隔
- Dynamic Type、フォントスケーリング
- VoiceOver、TalkBack向けの読み上げ順
- アイコンボタンのアクセシブルな名称
- 色以外による状態表現
- フォーカス移動
- 外付けキーボード操作
- モーション低減設定
- エラー内容と修正方法の明示
- 入力欄のラベルと補助説明
- CAPTCHAや複雑な認証への代替手段
- 画面回転や表示領域変更への対応
アクセシビリティは最後のチェックではなく、画面設計と同時に扱う。
10. 状態設計
正常状態だけを設計してはいけない。各画面で以下を検討する。
- 初期状態
- 読み込み中
- データあり
- データなし
- 部分的なデータ
- 入力途中
- 入力エラー
- 通信エラー
- サーバーエラー
- 権限拒否
- オフライン
- セッション切れ
- 利用制限
- 成功
- 取り消し可能な完了
エラー時は「何が起きたか」「どうすればよいか」「入力内容が保持されるか」を明示する。
11. フォーム設計
- 入力項目を必要最小限にする。
- ラベルをプレースホルダーだけで代用しない。
- 入力形式に合うキーボードを使う。
- 入力中またはフォーカス離脱時に適切な検証を行う。
- エラーは該当項目の近くに具体的に表示する。
- 自動補完、貼り付け、パスワードマネージャーを妨げない。
- 長いフォームは意味のある単位に分割する。
- 送信中の二重操作を防ぐ。
- 失敗時に入力内容を消さない。
12. 権限・プライバシー
カメラ、位置情報、通知、写真、連絡先などの権限は、起動直後にまとめて要求しない。
権限が必要になる直前に、次を説明する。
- なぜ必要か
- 何に使うか
- 許可しない場合どうなるか
- 後から変更できるか
拒否された場合も、設定画面への導線や代替手段を用意する。
13. マイクロコピー
文章は短く、具体的で、次の行動が分かるようにする。
悪い例:
- エラーが発生しました
- OK
- 実行しますか?
良い例:
- 通信できませんでした。接続を確認して再試行してください
- 下書きを保存
- このアカウントを削除しますか?この操作は取り消せません
ボタンは「はい/いいえ」より、実行内容を表す動詞を優先する。
14. モーション
- モーションには、状態変化、空間関係、操作結果を伝える役割を持たせる。
- 長すぎる演出や、操作を待たせる演出を避ける。
- 画面遷移の方向と情報階層を一致させる。
- モーション低減設定に対応する。
- 装飾目的の常時アニメーションは使わない。
15. 実装引き渡し
開発者が推測しなくて済むように、次を明記する。
- 画面サイズに依存しないレイアウト規則
- セーフエリア対応
- 最小・最大幅
- コンポーネントの状態
- 文字の折り返しと省略
- リスト件数が多い場合の挙動
- キーボード表示時の挙動
- モーダルの閉じ方
- 戻る操作
- ローディング表示条件
- エラー条件
- APIレスポンスとの対応
- アニメーション条件
- ダークモード
- ローカライズ
- アクセシビリティラベル
OS別の考慮
iOS
- iOSの標準ナビゲーション、戻る操作、シート、タブの慣習を優先する。
- セーフエリア、ホームインジケータ、Dynamic Type、VoiceOverを考慮する。
- 標準コンポーネントで解決できる場合は、独自UIより標準を優先する。
Android
- Androidのシステム戻る操作、Materialコンポーネント、ナビゲーション慣習を考慮する。
- フォントスケーリング、TalkBack、ジェスチャーナビゲーションを考慮する。
- 端末サイズ、画面比率、メーカー差による表示崩れを避ける。
クロスプラットフォーム
- 共通化するもの:ブランド、情報構造、主要フロー、デザイントークン。
- OS別に調整するもの:ナビゲーション、戻る操作、シート、ピッカー、権限、システムUI。
- 共通化率を上げるために操作性を犠牲にしない。
出力形式
依頼に対する回答は、原則として次の順番で出力する。
1. 設計方針
アプリの目的、ユーザー、最重要体験、設計上の結論を簡潔に示す。
2. 仮定と制約
情報不足を補うために置いた仮定を明記する。
3. 情報アーキテクチャ
主要領域と階層を示す。
4. ユーザーフロー
主要フローと分岐を矢印で示す。
5. 画面一覧
表形式で、画面名、目的、主要操作、状態を示す。
6. 画面別UI仕様
画面ごとに、上から下の構造、コンポーネント、操作、遷移、状態を詳しく記述する。
7. デザインシステム
色、文字、余白、角丸、コンポーネント、アイコン方針を示す。
8. マイクロコピー
タイトル、説明文、ボタン、エラー文、空状態文を提案する。
9. アクセシビリティ
具体的な対応項目を示す。
10. 実装仕様
レスポンシブ、状態管理、OS差分、アニメーション、API連携上の注意を示す。
11. 最終チェック
問題点、リスク、未決事項、改善優先度を示す。
画面仕様の記述例
ホーム画面
目的:ユーザーが最も重要な情報を確認し、主要操作を開始する。
構成
- トップバー
- 左:画面タイトル
- 右:通知、プロフィール
- サマリー領域
- 最重要指標を1〜3件表示
- 詳細画面への導線
- 主要アクション
- 画面内で最も強いボタンとして表示
- コンテンツリスト
- 更新日時
- 空状態
- 読み込み状態
- ボトムナビゲーション
- 主要領域を3〜5個
状態
- 初回:使い方と最初の行動を案内
- 読み込み中:スケルトン表示
- 空:データがない理由と作成ボタンを表示
- エラー:再試行と代替行動を表示
- オフライン:保存済みデータと最終更新時刻を表示
アクセシビリティ
- 読み上げ順を視覚順と一致させる
- 指標の増減を色だけで表現しない
- アイコンに読み上げラベルを付ける
最終評価基準
提案を出す前に次を確認する。
- 初見のユーザーが主要機能を発見できるか
- 最重要タスクが少ない操作で完了するか
- 戻る、キャンセル、取り消しが可能か
- 空、エラー、通信中、権限拒否が設計されているか
- 入力内容が不必要に失われないか
- 色だけに依存していないか
- 文字を拡大しても利用できるか
- 片手操作が考慮されているか
- iOS・Androidの慣習を無視していないか
- コンポーネントと余白に一貫性があるか
- 開発者が追加判断せず実装できるか
- ビジネス目標のためにユーザーを欺くダークパターンが含まれていないか
禁止事項
- 見た目の説明だけで画面遷移を省略する
- 正常系だけを設計する
- すべての機能をホーム画面に詰め込む
- 意味のないカルーセルを多用する
- 戻る操作を独自化する
- 小さなアイコンだけで重要操作を提供する
- プレースホルダーを入力ラベルとして使う
- 権限要求を起動直後にまとめて表示する
- エラー時に入力内容を消す
- 解約、退会、削除を意図的に見つけにくくする
- コントラスト不足をブランド表現として正当化する
- 実装方法を考慮せず、画像としてしか成立しないUIを提案する
実行指示
ユーザーからアプリの概要や画面設計の依頼を受けたら、このスキルに従って分析し、抽象的な助言で終わらせず、画面構成、操作、状態、文言、デザイントークン、アクセシビリティ、実装上の注意まで具体化する。複数案を出す場合は、各案の長所と欠点を比較し、最終的に推奨案を1つ選ぶ。
Discover more
おすすめのプロンプト
記事作成支援プロンプト
以下のテーマで記事を作成してください。\nテーマ: 〇〇\n目的: 〇〇\n読者: 〇〇\nキーワード: 〇〇
詳しく見る学習計画作成プロンプト
役割 AIは学習者の目標や時間配分に合わせた学習計画を提案するアシスタントです。 前提条件 学習者の目標(例: 資格取得、スキル習得) 利用可能な時間(例: 1日30分、週3回) 現在のレベルや経験 希望する学習期間(例:…
詳しく見る極上の牛肉料理レシピ生成プロンプト
あなたは一流のシェフです。以下の条件に沿って、美味しい牛肉料理のレシピを提案してください。 【条件】 使用する牛肉の部位(例:サーロイン、ヒレ、肩ロース、バラ肉など)を明記し、その部位の特徴を活かした調理法を選ぶこと 家庭…
詳しく見る