hig-patterns について
Appleプラットフォームの操作フローを設計・レビューするためのガイドで、デザイナーや開発者を対象とします。フィードバック、取り消し、オンボーディング、通知などを扱い、プラットフォームやユーザーの制約に応じた提案を行います。
主な機能
- 01Appleの操作パターンに関するガイド
- 02フィードバック、取り消し、モダリティの選択
- 03オンボーディング、サインイン、権限要求の助言
- 04パターン選定と実装手順の提示
- 05プラットフォーム差と一般的な注意点
活用シーン
- 01アプリのオンボーディングフローの設計・レビュー
- 02データ入力や権限要求の改善
- 03文書編集における保存と取り消しの設計
- 04検索、メディア再生、アカウント管理フローの設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill hig-patternsインストール後、Claude Code で/hig-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/loading.mdcollaboration-and-sharing.mdcharting-data.mdlive-viewing-apps.mdgoing-full-screen.mddrag-and-drop.mdlaunching.mdfeedback.mdfile-management.mdentering-data.mdmodality.mdmanaging-notifications.mdmultitasking.mdmanaging-accounts.mdplaying-haptics.mdonboarding.mdplaying-video.mdoffering-help.mdplaying-audio.mdprinting.mdsearching.mdundo-and-redo.mdsettings.mdworkouts.mdratings-and-reviews.md詳細
Apple HIG:インタラクションパターン
プロジェクトに .claude/apple-design-context.md がある場合は読み込み、必須の全体設定ではなくプロジェクトのコンテキストとして扱います。不足しているプラットフォーム、タスク、ユーザーの制約についてのみ確認します。
主な原則
-
モダリティを最小限にします。 注意を引くことが不可欠な場合、タスクを完了または中止する必要がある場合、あるいは変更の保存が重要な場合にのみモダリティを使用します。モーダルではない方法を優先します。
-
明確なフィードバックを提供します。 重要な状態の変化には、知覚できるフィードバックが必要です。アクセシブルな視覚表示やステータステキストに、任意のサウンドや触覚フィードバックを組み合わせ、何気ない操作のたびに通知することは避けます。時間が不定の待機にはアクティビティインジケーター、所要時間が決まっている処理にはプログレスバーを使い、物理的な確認には触覚フィードバックを使います。
-
確認ダイアログより取り消しを優先します。 破壊的な操作は、可能な場合、元に戻せるようにします。操作を実際に元に戻せる場合は、確認より取り消しを優先します。取り消せない削除、支払い、外部への共有では、対象範囲を明確に示した確認が必要な場合もあります。
-
すばやく起動します。 起動画面を表示し、最初の画面へシームレスに移行させます。ブランディングだけの起動画面は避けます。起動後に短いスプラッシュ画面を表示するのは、タスクを妨げなければ適切な場合があります。以前の状態を復元します。
-
サインインを後回しにします。 アカウントの作成を求める前に、ユーザーがアプリを試せるようにします。「Apple でサインイン」とパスキーに対応します。
-
オンボーディングは簡潔にします。 タスクに必要な範囲でフローを短く保ちます。画面は3つというのは目安であり、Apple の要件ではありません。スキップできるようにします。段階的な開示や状況に応じたヒントを通じて使い方を伝えます。
-
段階的な開示を活用します。 まず必要な情報を表示し、ユーザーが詳細を確認できるようにします。1つの画面にすべての選択肢を詰め込んで、ユーザーに負担をかけないようにします。
-
ユーザーの注意を尊重します。 通知をまとめ、中断を最小限にし、アラートをユーザーが制御できるようにします。マーケティング通知には明示的なオプトインと簡単なオプトアウト手段が必要です。マーケティング通知を「Time Sensitive」としてマークしてはいけません。
リファレンス一覧
| リファレンス | トピック | 主な内容 |
|---|---|---|
| charting-data.md | データのグラフ化 | データの可視化パターン、アクセシブルなグラフ、インタラクティブ要素 |
| collaboration-and-sharing.md | コラボレーションと共有 | 共有シート、アクティビティビュー、共同編集、SharePlay |
| drag-and-drop.md | ドラッグ&ドロップ | ドラッグソース、ドロップ先、スプリングロード、複数項目のドラッグ、視覚的フィードバック |
| entering-data.md | データの入力 | テキストフィールド、ピッカー、ステッパー、入力検証、キーボードの種類、自動入力 |
| feedback.md | フィードバック | アラート、アクションシート、触覚パターン、サウンドフィードバック、視覚的インジケーター |
| file-management.md | ファイル管理 | 書類ブラウザ、ファイルプロバイダー、iCloud との統合、書類のライフサイクル |
| going-full-screen.md | フルスクリーン表示 | フルスクリーンへの遷移、没入型コンテンツ、フルスクリーン表示の終了 |
| launching.md | 起動 | 起動画面、状態の復元、コールド起動とウォーム起動 |
| live-viewing-apps.md | ライブ視聴アプリ | テレビ/動画のライブ再生、チャンネルの閲覧、EPG、クラウド DVR |
| loading.md | 読み込み | アクティビティインジケーター、進捗ビュー、スケルトンスクリーン、遅延読み込み、プレースホルダー |
| managing-accounts.md | アカウント管理 | Apple でサインイン、パスキー、アカウント作成、認証情報の自動入力、アカウント削除 |
| managing-notifications.md | 通知管理 | 許可のリクエスト、グループ化、アクション可能な通知、暫定配信 |
| modality.md | モダリティ | シート、アラート、ポップオーバー、フルスクリーンモーダル、それぞれの使いどころ |
| multitasking.md | マルチタスク | iPad の Split View、Slide Over、Stage Manager、レスポンシブレイアウト、サイズクラスの遷移 |
| offering-help.md | ヘルプの提供 | コンテキストに応じたヒント、オンボーディングのヒント、ヘルプメニュー、サポートリンク |
| onboarding.md | オンボーディング | ウェルカム画面、機能の紹介、段階的なオンボーディング、スキップオプション |
| playing-audio.md | オーディオ再生 | オーディオセッション、バックグラウンドオーディオ、再生中、オーディオルーティング、中断 |
| playing-haptics.md | 触覚フィードバックの再生 | Core Haptics、UIFeedbackGenerator、触覚パターン、カスタム触覚フィードバック |
| playing-video.md | ビデオ再生 | ビデオプレーヤーのコントロール、ピクチャ・イン・ピクチャ、AirPlay、フルスクリーンビデオ |
| printing.md | 印刷 | 印刷ダイアログ、ページ設定、AirPrint との統合 |
| ratings-and-reviews.md | 評価とレビュー | SKStoreReviewController、タイミング、頻度の上限、アプリ内フィードバック |
| searching.md | 検索 | 検索バー、候補、範囲指定検索、検索結果の表示、最近の検索 |
| settings.md | 設定 | アプリ内設定と設定アプリ、環境設定の整理、切り替え、デフォルト値 |
| undo-and-redo.md | 取り消しとやり直し | 振って取り消す、取り消し/やり直しスタック、複数レベルの取り消し |
| workouts.md | ワークアウト | ワークアウトセッション、リアルタイム指標、常時表示、概要、HealthKit |
パターン選択ガイド
| ユーザーの目標 | 推奨パターン | 避けること |
|---|---|---|
| アプリを初めて使う体験 | 簡潔で任意のオンボーディング+段階的な情報開示 | 長いチュートリアル、必須のサインアップ |
| コンテンツの読み込み待ち | スケルトンスクリーンまたは進行状況インジケーター | 説明のない、操作を妨げるスピナー |
| 取り消し可能な操作 | 取り消し可能なら「取り消す」機能、取り消せない場合は対象範囲が明確な確認 | 取り消しによって外部への影響や永続的な変更も元に戻せると主張すること |
| ユーザー入力の収集 | インライン検証、スマートなデフォルト値、自動入力 | 単純な入力にモーダルフォームを使うこと |
| 権限の要求 | 理由を説明したうえで、状況に応じて必要なタイミングで要求 | 起動時にすべての権限を要求すること |
| フィードバックの提供 | 触覚フィードバック+視覚的なインジケーター | 確認なしの無反応な操作 |
| 環境設定の整理 | 使用頻度の高い項目をアプリ内設定に配置 | すべての設定をシステムの「設定」アプリに埋もれさせること |
出力形式
- 推奨パターンとその理由。関連するリファレンスファイルを引用します。
- 段階的な実装手順。各画面または状態を網羅します。
- プラットフォームごとの違い。対象プラットフォームに合わせます。
- よくある落とし穴。このパターンに関する HIG に反する事項を説明します。
確認する質問
- このパターンはアプリのどこに登場しますか?その前後には何がありますか?
- 対象となるプラットフォームはどれですか?
- 新規に設計しますか、それとも既存のフローを改善しますか?
- 機密性の高い操作が関係しますか?(破壊的な操作、支払い、権限)
関連スキル
- hig-foundations -- あらゆるパターンの基盤となる、アクセシビリティ、色、タイポグラフィ、プライバシーの原則
- hig-platforms -- プラットフォーム固有のパターンの実装
- hig-components-layout -- ナビゲーションパターンに使う構造コンポーネント(タブバー、サイドバー、分割ビュー)
- hig-components-content -- パターン内のコンテンツ表示(グラフ、コレクション、検索結果)
Raintree Technology が制作 · その他の開発者ツール
使用する場面
オンボーディング、データ入力、ドキュメントの取り扱い、検索、メディア再生、アカウント管理、取り消しなど、Apple のインタラクションフローを設計またはレビューするときに使用します。リファレンスを適用する前に、対象のプラットフォームと OS のリリースを選択してください。
例
ユーザーのリクエスト:
iPad のドキュメントエディターで、自動保存、バックグラウンドへの移行、取り消しのフローをレビューしてください。
復元可能な編集内容、目に見える保存失敗の表示、安全な競合状態、アクセシブルな操作を説明します。関連するローカルリファレンスを引用し、どの動作にネイティブ環境でのテストがまだ必要かを明示してください。
制限事項
- このスキルは、タスクが上記の対象範囲に明確に合致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、成功基準が不足している場合は、作業を止めて確認を求めてください。
実装上の境界
HIG のデザインガイダンスは、API の利用可能性やセキュリティを証明するものではありません。外部からのドラッグ&ドロップで受け取るファイルと URL を検証し、共有やディープリンクに対してアカウントおよびテナントの認可を適用してください。また、機密性の高いコンテンツを検索インデックス、プレビュー、ログに含めないでください。フィールドをマスクしてもデータは暗号化されません。また、クライアント側の形式検証はサーバー側の検証ではありません。
バックグラウンド処理、通知、音声、触覚フィードバックは、OS の機能、ユーザー設定、システムのリソース上限に依存します。処理の完了、中断のない再生、通知の配信を保証しないでください。作業内容を保持し、再試行、オフライン、失敗の状態を表示してください。デザインリファレンスに機能が記載されているというだけで、エージェントが通知を送信したり、アカウントを削除したり、ファイルを共有したり、音声を録音したり、デバイス設定を変更したりしてはいけません。これらの操作には、ユーザーのタスク範囲内であることが必要です。