Apple Human Interface Guidelines for iOSを理解したい
徐々に記載していきます
Get start
各項目の特徴
- iOS
- 移動中も使用することを想定する
- 音声制御、仮想キーボード、マルチタッチジェスチャーなどを使用して実現を行う
- 使用用途は、ゲーム、メディア視聴、タスクの達成、個人情報の管理を想定
- 手で持って使用する
- 複数のアプリを同時に開き、切り替えて使用する
- バックグラウンド時のの想定必須
- iOSでユーザーが一貫した使用方法でそうできるようにする仕組み
- ウィジェット
- Spotlight
- ショートカット
- Activity View
- 1画面上の情報やアクションは制限すべき
- デバイスの向き、ダークモード、文字の大きさをユーザーの決定でシームレスに適応する
- 画面の中央または下部に操作が必要な項目を配置したり、スワイプまたはリストタップでの画面切り替えに対応することで、デバイスの持ち方に合わせたインターフェースを作成する
- ユーザーの入力負担を軽減するために、ユーザーに許可を求めた後プラットフォーム経由で取得できるデータを使用する
- 生体認証、支払いの受付、位置情報、ヘルス情報など
- 移動中も使用することを想定する
- iPadOS
- 使用用途は、ゲーム、メディア視聴、創作物の作成
- 手で持つまたは台に置いたりスタンドに立てかけて使用する
- 何時間も1つのアプリに没頭することを想定
- 複数のアプリを1つの画面上で操作、ドラッグアンドドロップでの連携などアプリ間の連携を想定
- 大画面の特徴を最大限利用する
- フルスクリーン遷移は最低限に抑え、ユーザーが今一番興味のあるコンテンツを最前面に表示する
- マルチタッチジェスチャー、キーボード&マウス、トラックパッドの使用、Apple Pencilの使用を想定する
- デバイスの向き、ダークモード、文字の大きさをユーザーの決定でシームレスに適応する
- MacOSでの使用も円滑に移行できるようにする
感想
iPhoneとiPadの違いは、やはり大きさが一番大きいと感じた。
大きさが違うからこそ、日常での使い方やインターフェースの考え方が違ってくる。
画面の中央または下部に操作が必要な項目を配置したり、スワイプまたはリストタップでの画面切り替えに対応することで、デバイスの持ち方に合わせたインターフェースを作成する
この項目は自分でiPhoneを使用していてとても感じる部分だった。自分は今でもメインはAndroidを使用しているため、3Wayナビゲーションの戻るボタンやスワイプでのバック操作は当たり前に存在している状況でスマホを使用していた。
去年iPhoneを家で使用するように購入して最初に感じたことは、スワイプで戻れないアプリの左上の戻るボタンを押す煩わしさだった。
もちろんYoutubeやX(旧Twitter)など世界的にしようされているアプリはだいたいスワイプの戻る動作を対応している。
それでもスワイプでの戻る動作が対応されていないアプリが多いのは、アプリを開発する際に、デフォルトではスワイプで戻る動作が有効になっていないことが原因だろうか。
もちろんAndroidの戻る動作をOFFにして実装することも可能だが、初期設定ではONになっている。
iOSの実装では戻る動作の実装に追加で一手間かかるような状況が、スワイプでの戻る動作が対応されていないアプリが多いことの原因だろうか。
MacOSでの使用も円滑に移行できるようにする
マルチタッチジェスチャー、キーボード&マウス、トラックパッドの使用、Apple Pencilの使用を想定する
iPadOSは大きさ的にも日常持ち運ぶのでなく、音楽や動画作成などの創作作業や、大画面を活かしたゲームや動画の視聴、読書に使用されることが多いのだろうか。
また、MacOSでの使用やキーボード&マウスでの操作を考慮していることから、一時的なサブモニターのような使用方法も考えられているような気がする。
また、iPadに対応しているが、MacOSに対応していないアプリを、
MacからAppleStoreで検索したときに、対応していないけれどという注釈入りで検索結果に出てくるのもこの理由だろうか。
Foundations
Accessibility
概要
7人に1人が世界やデバイスとのやり取りに関して何かしらの障害を持っていることを念頭に置いて設計を行う。
ただ、アクセシビリティとは障害のある人だけに利用可能にするということではなく、すべての人が等しく利用可能にすることである。
以下の2項目をAppleは最初に挙げている。
- シンプル性
- 直感的に操作できるように一貫性のあるサポートを行う。
- 知覚性
- すべてのコンテンツが視覚、触覚、聴覚のいずれかを使用していても知覚可能であること。
- パーソナライゼーション
- デバイスの向き、ディスプレイサイズ、解像度、色域、分割ビューなどを考慮して設計する。
- アクセシビリティのテスト
- Accessibility Inspectorが役に立つ。VoiceOver、モーション軽減、大きなテキストサイズなどのアクセシビリティ機能をオンにし、フロー内のすべてのタスクを困難なく完了できることを確認すること。
設定アプリのアクセシビリティ設定には適応されるべき。だた、標準のコンポーネントを使用していれば、自動で適応される。
プラットフォームのジャスチャー(通知センター表示のための上下スワイプなど)は邪魔しない。
また、長押し、スワイプのような複雑なジェステャーは使用するのが難しい場合がある。
より簡単なタップのジャスチャーを優先することと、複雑なジェスチャーを採用する場合は
簡単なジャスチャーで実現できるオプションを用意するようする。
また、アプリでのカスタムジェスチャーを作成する場合は、必ず代替方法を提供する。
PointerControlやDwellControlが使用できる。
ボタンとコントロール
タップなどジェスチャーの対象となる要素の大きさは最低44x44ptが必要。
visionOSでは、各要素の中心は60pt以上離すこと。
これらは最低の大きさであり、可動性が限られる人はより大きな要素を必要とする。
ボタンの見た目はアプリ内で統一し、重要なボタンは塗りつぶしを使用するなど、相対的な重要性を伝える。アクティブなボタンを周囲のコンテンツと区別するために、ボタンの形状をON(枠線をつけたり、色や形を変える)ことも推奨。
visionOSでは標準で背景が視認可能なボタンを使用できる。
標準で提供されるスイッチを使用すると、設定で提供される、ボタンのON/OFFを見分けることができるラベルが使用できる。
リンクには色に加えて下線を使用することが推奨される。
ユーザー入力
指での入力の代わりに、音声でも入力できるようにする。カスタムキーボードを作成する場合、音声入力ボタンは必須。
また、重要なタスクは音声のみで完結できるように、Siriやショートカットをサポートする。
・ハプティクス(触覚伝達)
ディスプレイを見ることができない場合の情報伝達手段として、佐の成功または失敗した時や、イベントの発生前に、ハプティクスを使用する。
また、アプリ内で一貫したハプティクスを使用してユーザーが混乱しないようにする。
ハプティクスを使用しな場合は、音声など他のフィードバックを提供する。
voiceOver
表示されているコンテンツの音声説明を提供する。
visionOSではオブジェクトの位置を伝えるために、空間オーディオを使用する。
意味を伝えるすべての画像に代替説明を提供する。
画像を見ると認識できることが自明であろう情報から簡潔に説明する。
特にインフォグラフィクス(目で見て直感的にわかるようにしている情報)は、vioceOverユーザー
も利用できるようにする。
逆に装飾の意図で利用されており、重要な情報を持たない画像に関しては、ユーザーの負荷を軽減するためにvoiceOverから外す。
ビデオやオーディオコンテンツは誰でも楽しめるようにする必要がある。
クロードキャプション(後述)、音声解説、トランスクリプト(後述)の提供を考える
クロードキャプションは、ビデオの音声情報のテキスト相当を提供する。
また、システムの設定にあった言語に翻訳を行う。
字幕の提供も場合によって行う。
※クロードキャプションは、単純に音声を書き起こしたものであり、効果音も文字に起こして表示する。
字幕はセリフを書き起こして、ビデオの音声に合わせて表示するもの。
トランスクリプトは、音声と視覚の両方の情報をカバーするビデオの完全なテキスト説明を提供する。
すべての要素にvoiceOverユーザーがアクセスできるようにする必要がある。
そのうえで、要素のグループ分け、順序付け、リンク方法を指定することでvoiceOverの体験を向上させる。
例えばvoiceOverに各画像をそのフレーズとグループ化する必要性を設定していない場合、
「マンゴーの様々な種類が入った大きな容器。多くの緑のアーティチョークが入った大きな容器。マンゴーはMangifera属に属する木から生ります。アーティチョークはアザミの一種の変種から生ります。」と読み上げる。
voiceOverはデフォルトでは上から下へと読み上げるからである。
グループ化を設定して、本来読み上げてほしい、「マンゴーの様々な種類が入った大きな容器の画像。マンゴーはMangifera属に属する木から生ります。多くの緑のアーティチョークが入った大きな容器の画像。アーティチョークはアザミの一種の変種から生ります。」の順番にする必要がある。
・コンテンツやレイアウトが変更された場合
・違うコンテンツやアプリを開く前
・省略してタップした後の詳細コンテンツから誘導することも有効
・重要なコンテンツには、音声として読み上げるのは表示とほかの、代替テキストラベルも使用する
・VoiceOverローター(見出し、リンク、その他のセクションタイプによってドキュメントやウェブページをナビゲートでき、点字キーボードも表示できるコントロール)も場合によって使用する
・iPadOS、macOS、visionOSは、フルキーボードアクセスをONにして、すべてのタスクをキーボードで行えるようにすることが理想。ただ、システム標準のショートカットは重要。
テキスト表示
・iOS、iPadOS、tvOS、visionOS、watchOSでは、ダイナミックタイプを使用し、アプリのレイアウトがすべてのフォントサイズに適応する(標準のコンポーネントは自動で対応)
・フォントサイズが大きくなるにつれて、テキストの切り捨てを最小限に抑える。スクロール可能な領域でテキストを切り捨てることは、人々が残りのコンテンツを読むために別のビューを開くことができない限り避ける。
・レイアウト調整時には、大きなフォントサイズ時の表示を基準に調整する。
App Icon
・シンプルさが大切。
・各プラットフォームに合わせてデザインを変える
・macOS用は、アイコン内に影を付けるなど
・watchOS、visionOS用は、アイコンの背景が丸になっても違和感ないようにする
・文字はできるだけ使用せず、「visionOS向け」など特定の単語は含まないようにする
・正方形の画像としてデザインを行う
・背景は不透明にして、背景色を付ける
- iOS、iPadOS
・アイコンをダークモードに対応できるようにする - MacOS
・何かできるアプリなのか、実際にあるものを使用して表現するとよい。その場合、影やグラデーションで質感を持たせる。 - tvOS
・2 ~ 5 層のレイヤーを使用して奥行きを持たせる。 - visonOS
複数のレイヤー層を使用して、斜めからアイコンを見た際に、立体感を演出する - watchOS
・文字は使用しない
・ディスプレイの背景に溶け込まないように、背景色を黒にしない
Branding
・スプラッシュ画面をブランディングの機会をして使用しない。必要な場合は、アプリ起動後にウェルカモボードなどの形で提供すること推奨。
・文字の色やフォントをアプリ全体で統一する。ブランディングに強くかかわる部分は、アクセントカラーやカスタムフォントの仕様を検討する。
Color
・ゲーム以外では色に使用を控えめにして、色の持つ意味をアプリ内で統一する。
・ダークモードへできるだけ対応する。
・屋外の直射日光下での表示や、薄暗い場所でも見えやすいかテストする。
・アプリ内でカラーコードをハードコーディングすることは避けて、システムカラーとして定義されているものを使用する。
Dork Mode
- できるだけ対応を行う。アプリ固有の外観設定(アプリで定義したダークモードのようなもの)を設定しない
- 設定からコントラストや透明度も設定できるので、その設定と合わせた表示のテストを行うこと
- ダークモードといっても、すべての色を反転させればいいというわけではない。
- Appleが提供するSFSymbolはダークモードに自動で対応されるので、使用することを推奨する。
- オリジナルのアイコンを使用する場合は、ライトモードとダークモード用のアイコンを分けて使用することを検討。
プラットフォーム別の考慮
tvOSは考慮の必要なし。watchOSとvisionOSはダークモードに対応してない。
- iOS、iPadOS
システムの背景色をできるだけ使用する - MacOS
カスタムコンポーネントに透明度を設定することで、デスクトップの背景が変わっても設定を維持できるようにする。
Apple Human Interface Guidelines - Foundation: Images
1. Image Sizes
- 多様なデバイスサイズに対応するために、さまざまな解像度とスケールの画像を準備します。
- 必要に応じて画像サイズを自動調整し、異なるデバイスや画面解像度で一貫した表示を保つことが重要です。
2. Displaying Images in Your Interface
- 画像は明確で見やすいものにします。ユーザーの理解や操作を助けるため、視覚的に混乱を招くことのないデザインを心がけましょう。
- 不適切なサイズ変更による画像の歪みを避けるため、アスペクト比を保つことが重要です。
3. Supporting Different Devices and Orientations
- 画像は**多様なデバイスの表示モード(縦向き・横向き)**に適応させます。
- 特にレスポンシブなデザインが必要な場面では、適切な調整を行い、見やすさを保ちましょう。
4. Providing High-Resolution Images
- Retinaディスプレイなどの高解像度ディスプレイ向けに、より詳細な画像を提供します。
- 高解像度の画像が用意できない場合は、システムが自動的に低解像度の画像をスケーリングするように設定します。
5. Optimizing Images for Dark Mode
- ダークモード対応のアプリでは、明るさやコントラストを調整した画像バリエーションを用意します。
- 特に暗い背景で表示される場合に、コントラストが低くならないように注意します。
6. Ensuring Image Accessibility
- 画像に**代替テキスト(alt text)**を設定し、視覚障害のあるユーザーにも画像内容が理解できるようにします。
- 特に意味がある情報を持つ画像には説明を添えることで、全てのユーザーに一貫した体験を提供します。
7. Avoiding Complex Images
- シンプルで意味が明確な画像を使用し、ユーザーが内容を即座に理解できるようにします。
- 画像が複雑になるほど理解が難しくなるため、説明が必要な要素はなるべく避けます。
8. Using System-Provided Images and Symbols
- iOSやmacOSが提供するシステムイメージやシンボルを活用し、Appleのデザインスタイルに一致させることで一貫したUIを維持します。
- 必要に応じてシンボルのカラーやサイズを変更できますが、意味や形状を変えないように注意します。
Apple Human Interface Guidelines - Foundation: Immersive Experiences
1. Clarity
- 視覚的な明確さを優先し、ユーザーが画面上の要素を即座に理解できるようにします。
- 複雑すぎるデザインは避け、ユーザーの注意を分散させないために、シンプルで直感的なデザインを目指します。
2. Deference
- コンテンツが主役となるようにデザインし、UI要素は必要最小限に抑えます。
- 背景や効果は控えめにし、ユーザーがコンテンツに集中できるようにします。
3. Depth
- 奥行き感を利用して、階層的なナビゲーションや視覚的なヒエラルキーを構築し、ユーザーが自然にインターフェースを理解できるようにします。
- シャドウやぼかし、モーションエフェクトなどを使用して、奥行きと距離感を表現します。
4. Familiarity
- 馴染みのある要素を活用し、ユーザーが操作方法を容易に理解できるようにします。
- 過去の操作経験が活かされるように、既存のAppleのデザイン言語やユーザビリティパターンを活用します。
5. Immersive Audio
- 音声や効果音を使用して、視覚だけでなく聴覚からも没入感を提供します。
- 音はユーザー体験の補完に使い、決して主張しすぎず、自然な体験を促します。
6. Motion
- モーションを使用して、画面間の移動やインタラクションに自然さを与えます。
- 物理的に自然なモーション(加速や減速)を取り入れることで、UIがユーザーの行動に応じて動いているように感じさせます。
7. Real-World Metaphors
- 現実世界の比喩を用いて、ユーザーが直感的に操作を理解できるようにします。
- タッチジェスチャーやスワイプなど、物理的な行動に関連付けられた操作が自然に行えるように設計します。
8. Responsiveness
- インターフェースが即座に反応するように設計し、ユーザーの操作に対するフィードバックを素早く提供します。
- デバイスの処理能力を活用して、スムーズな操作体験を実現します。
9. Support for Multiple Interaction Modalities
- **複数のインタラクション方法(タッチ、音声、ジェスチャー)**に対応し、さまざまな利用シーンで一貫した操作体験を提供します。
- ユーザーの好みや状況に応じて、最も適切なインタラクションができるように設計します。
10. Visual and Haptic Feedback
- ユーザーがアクションを実行した際に視覚的・触覚的なフィードバックを提供し、操作を確認できるようにします。
- タップやスワイプ、長押しなどの動作に応じて適切なフィードバックを返すことで、操作の一貫性を保ちます。
Apple Human Interface Guidelines - Foundation: Inclusion
1. Support Accessibility
- ユーザーが多様なアクセシビリティ機能を使ってアプリにアクセスできるようにします。
- VoiceOverやダークモード、拡大機能など、Appleが提供するアクセシビリティ機能への対応を徹底します。
2. Embrace Personalization
- ユーザーの個別のニーズや好みに対応するために、柔軟にカスタマイズ可能なインターフェースを提供します。
- テキストサイズやコントラストなど、ユーザーの設定を尊重し、アクセシブルで快適な体験を実現します。
3. Design for a Global Audience
- グローバル市場に対応するため、文化や言語に依存しないデザインを行います。
- ユーザーの地域に合わせた表現や、文字の長さ、日付フォーマットの違いを考慮します。
4. Be Mindful with Color
- 色覚の多様性を考慮し、すべてのユーザーが理解できるカラーパレットを使用します。
- 色のみに依存せず、コントラストを十分に確保して視認性を高め、重要な情報には色以外の視覚的手がかりを提供します。
5. Be Inclusive with Language
- 包括的な言葉遣いを心がけ、誰にとっても親しみやすい表現を用います。
- 中立的で尊重のある表現を使用し、誤解や偏見を招かないように注意します。
6. Respect Different Physical Abilities
- すべての身体能力を持つユーザーが操作できるように、物理的な制約に配慮したデザインを行います。
- ボタンやインタラクション要素の大きさ、操作のしやすさを考慮し、ユーザーが無理なく使用できるデザインを心がけます。
7. Accommodate a Range of Cognitive Abilities
- 認知的な多様性に対応したシンプルで分かりやすいデザインを目指します。
- 複雑な操作や情報量を減らし、ユーザーが直感的に理解できるようなインターフェースを提供します。
8. Provide Flexibility and Help
- ユーザーが簡単に支援や説明にアクセスできるようにし、誤操作や混乱を防ぎます。
- ヘルプやガイダンスを目立つ場所に配置し、エラーメッセージやチュートリアルなどをわかりやすく提示します。
Apple Human Interface Guidelines - Foundation: Layout
1. Adapt to Different Screen Sizes
- さまざまなデバイスの画面サイズに適応できるレイアウトを設計します。
- 画面サイズに応じてUI要素の位置やサイズを調整し、一貫したユーザー体験を提供します。
2. Use Safe Area Layout Guides
- デバイスによって異なるセーフエリアを考慮し、内容が見切れないように配置します。
- 特にiPhoneのノッチやホームバー、iPadのマルチタスク機能に対応するため、セーフエリア内に重要な要素を配置します。
3. Align Content with Layout Margins
- 各デバイスのデフォルトのレイアウトマージンに沿ってコンテンツを配置し、視覚的な調和を保ちます。
- 統一されたマージンを設定することで、要素間に十分なスペースが確保され、読みやすく美しいデザインになります。
4. Maintain Visual Balance
- 各要素が視覚的にバランスの取れた位置に配置されるようにします。
- 重要な要素を中心に据え、コンテンツの並びやスペースを整えることで、情報がわかりやすく整理されます。
5. Create Visual Groupings
- 関連する要素を視覚的にグループ化し、自然な流れで情報を提示します。
- 関連性を持つ要素間に余白を適用することで、情報がグループとして認識しやすくなります。
6. Use Consistent Spacing
- 一貫したスペーシングを使用し、レイアウト全体で統一感を持たせます。
- 適切な間隔を保つことで、インターフェースが整理され、使いやすくなります。
7. Ensure Readable Text
- テキストが読みやすく、適切なスペースで配置されていることを確認します。
- 行間や文字間、フォントサイズに配慮して、視認性を向上させます。
8. Embrace Negative Space
- **余白(ネガティブスペース)**を効果的に活用し、インターフェースを視覚的に落ち着かせます。
- 情報過多を避け、ユーザーが重要な要素に集中できるようにデザインします。
9. Consider Orientation Changes
- **デバイスの向き(縦・横)**の変化に対応するレイアウトを設計します。
- 向きが変わっても適切にレイアウトが調整されるようにし、操作が快適にできるようにします。
10. Respect Platform Conventions
- Appleのプラットフォームで一般的なレイアウトや動作の慣習に従い、違和感のない体験を提供します。
- ユーザーが期待するインターフェースパターンを使用し、直感的な操作ができるようにします。
Apple Human Interface Guidelines - Foundation: Materials
1. Acrylic
- 半透明のアクリル素材を用いて、背景をうっすらと見せながらも視認性を保ちます。
- 奥行き感と高級感を加えるために、背景とのコントラストを調整し、情報が強調されるように使います。
2. Blur
- 背景やコンテンツ間の区別をつけるためにブラー効果を活用します。
- ブラーをかけることで、奥行きを強調し、インターフェースの階層構造が明確になります。
3. Opacity
- 不透明度を調整することで、背景と前景の要素を分かりやすくします。
- 背景のコンテンツを強調する際には透明度を下げ、重要な情報やアクティブな要素には高い不透明度を持たせます。
4. Vibrancy
- Apple独自のビブラントエフェクトを利用し、背景色に応じて前景の色合いが変化します。
- ビビッドな配色で、インターフェースに活気と奥行きを加え、視認性を高めると同時に、ダークモードにも自然に適応させます。
5. Depth and Layers
- 深度とレイヤーの概念を使い、画面内での階層的なレイアウトを明確にします。
- 重要なコンテンツをユーザーの手前に配置し、適切なレイヤーでの配置によりインターフェースが分かりやすくなります。
6. Shadows
- シャドウを使用して、画面要素に奥行きと立体感を与えます。
- シャドウを使ってボタンやカードなどの要素が浮き出るようにし、操作性と視認性を向上させます。
7. Transparency and Translucency
- 透明性と半透明性を適切に使い分け、背景が前景に溶け込みつつも要素の区別ができるようにします。
- 特に重なり合う要素が多い場合、半透明性を活かしてインターフェースをすっきり見せます。
Apple Human Interface Guidelines - Foundation: Motion
1. Clarity
- モーションは情報を補足し、インターフェースの意図が伝わるように使用します。
- アニメーションがユーザーにとってわかりやすい流れを作り、次の操作が理解しやすくなるようにします。
2. Feedback
- ユーザーの操作に対して即座にフィードバックを返し、タップやスワイプなどのアクションが成功したことを示します。
- アニメーションでフィードバックを提供することで、操作の一貫性が保たれ、インターフェースが直感的になります。
3. Visual Continuity
- 画面間の移行が自然に感じられるよう、モーションで視覚的な連続性を維持します。
- アイテムが画面内で位置を変えたり、新しい情報が表示される際に、ユーザーがどのように画面が変わっているかを把握しやすくします。
4. Realistic Motion
- 物理法則を模した自然な動きで、リアルなインターフェースを実現します。
- 加速や減速、バウンドといった要素を取り入れ、インタラクションに信頼感と説得力を与えます。
5. Emphasis and Intent
- モーションを使って重要な情報やアクションの意図を明確にします。
- 主要な操作や通知に対して適切な動きをつけることで、ユーザーがどこに注目すべきかを直感的に理解できます。
6. Acceleration and Deceleration
- スムーズな加速と減速で、動作に自然なリズムを生み出し、UIの操作が滑らかに感じられるようにします。
- 一定のスピードではなく、開始と終了を緩やかにすることで、視覚的な心地よさが増します。
7. Depth and Layering
- モーションに奥行きやレイヤーの概念を取り入れ、画面の階層を強調します。
- コンテンツの前後関係や重要度をアニメーションで示し、視覚的な整理を助けます。
8. Consistency
- モーションスタイルは一貫性を保つようにし、さまざまな操作で同じ種類のアニメーションを使用します。
- 統一感を持たせることで、ユーザーにとって予測可能で信頼できる体験を提供します。
Apple Human Interface Guidelines - Foundation: Privacy
1. Data Minimization
- 必要最低限の情報だけを収集し、保存するようにします。
- ユーザーの個人情報を無駄に収集せず、アプリに必要なデータだけを扱うことで、プライバシーの保護を徹底します。
2. On-Device Processing
- 可能な限り、データはデバイス上で処理し、サーバーに送信しないようにします。
- ユーザーのデータが外部に流出するリスクを減らし、プライバシーの安全性を高めます。
3. Transparency and Control
- データの利用目的や収集の理由をユーザーに明確に伝え、設定でコントロールできるようにします。
- 情報をわかりやすく提示し、ユーザーが自分のデータに関する選択権を持てるようにします。
4. Security
- ユーザーのデータを保護するため、セキュリティ対策を徹底します。
- データ暗号化や認証などの方法を用いて、不正アクセスや情報漏洩のリスクを最小限に抑えます。
5. Permissions
- 必要な権限のみをリクエストし、ユーザーに対してその必要性を明確に説明します。
- 過剰な権限要求を避け、ユーザーが信頼を持てるように設計します。
6. Sensitive Data
- ユーザーの機密データの収集や使用は極力避け、どうしても必要な場合には厳重に管理します。
- 健康や位置情報などの機密性の高いデータに対しては、ユーザーのプライバシー保護を最優先にします。
7. Privacy by Design
- 設計段階からプライバシー保護を考慮し、ユーザーに安心して使ってもらえるアプリを目指します。
- プライバシーを保護するための機能や設定を基本設計に組み込み、ユーザーに安全な体験を提供します。
8. User Education
- プライバシー機能や設定について、ユーザーに理解してもらえるように説明やヘルプを提供します。
- ユーザーが自分のデータを管理し、プライバシー設定を適切に利用できるよう支援します。
Right to Left
- Avoid mirroring universally recognized elements
認識しやすいアイコンやロゴなど、左右の位置を入れ替えると意味が変わる要素は、RTLモードでもそのまま表示するのが一般的です。 - Mirror interface elements consistently
テキストやUI要素の配置が重要な要素については、RTLの文化圏に対応するため、UI全体の視覚的な配置を一貫して左右反転させることが推奨されます。 - Use system-provided icons where possible
システム提供のアイコンはRTL表示に最適化されているため、可能な限りこれを利用します。カスタムアイコンもRTL対応に注意が必要です。 - Align text appropriately
テキストはRTLの配置に合わせ、適切な位置と方向で表示することが重要です。一般的に、右揃えがデフォルトとなります。 - Ensure navigational elements follow the appropriate flow
ナビゲーションの方向も、RTLに適した流れを維持するようにします。たとえば、次へ進むボタンは右向き、戻るボタンは左向きになるよう調整が必要です。 - Support both left-to-right and right-to-left layouts in the same app
LTR(左から右)とRTL(右から左)の両方に対応するレイアウトをサポートすることで、アプリケーションがさまざまな言語や文化で利用可能になります。 - Handle animations and transitions carefully
アニメーションや画面遷移の方向もRTLに適合させる必要があります。たとえば、右から左にスライドするモーションなどが適切です。 - Test thoroughly
RTL対応のアプリでは、実機テストを通じて表示が正しく反転していることや、一貫したUXが維持されていることを確認することが重要です。
SF Symbols
- Use SF Symbols to simplify iconography
SF Symbolsは、Appleが提供するアイコンセットで、各種Appleプラットフォームにおける一貫性のあるデザインを実現するために使用されます。統一されたスタイルにより、UIのビジュアルがスムーズに調和します。 - Choose symbols that convey clear meaning
選択するシンボルはユーザーにわかりやすいものを選び、用途に適したものを使用することが重要です。SF Symbolsには、特定の機能や情報を示す多様なアイコンが揃っています。 - Customize symbols as needed
カスタマイズが必要な場合、SF Symbolsを拡大、縮小、配置調整、色変更して使うことができます。カスタマイズは基本的なガイドラインに沿って行い、デザインの一貫性を保つことが推奨されます。 - Consider accessibility in symbol choice
視認性に配慮し、ユーザーにとって理解しやすいシンボルを選びます。また、色覚に関係なく見やすいアイコンの選択やカスタマイズを行うことで、アクセシビリティも確保します。 - Use hierarchical design with SF Symbols
重要な情報を視覚的に優先させるため、SF Symbolsを階層的に配置します。必要に応じてシンボルのサイズや太さを調整し、強調することでユーザーが自然に視線を誘導されるようにします。 - Keep symbols up-to-date with system updates
AppleがSF Symbolsを定期的に更新するため、アプリケーションも最新のシンボルセットに合わせて更新し、常に最新の視覚言語に対応します。 - Optimize symbols for each platform
各プラットフォーム(iOS、macOS、watchOS、tvOS)に適したデザインとサイズを選びます。プラットフォームごとに表示環境が異なるため、それぞれに最適化したシンボルを用いることで、見やすさと使いやすさを確保します。
Spatial Layout
- Use consistent spacing
一貫した余白やパディングを使用して、UI全体にまとまりのあるデザインを提供します。スペーシングが整っていることで、視認性が向上し、ユーザーが情報を整理して受け取れるようになります。 - Support adaptability and flexibility
デバイスや画面サイズが異なる場合にも対応できるよう、レイアウトを柔軟に設計します。自動レイアウトやレスポンシブデザインを活用し、あらゆる環境で美しく機能するUIを目指します。 - Provide appropriate padding and margins
要素の間には適切なパディングとマージンを確保し、要素が窮屈に見えないようにします。また、タップやクリックを行いやすいサイズの余白も重要です。 - Align elements thoughtfully
要素を規則正しく揃え、秩序のあるデザインを提供します。特にテキストやボタンなどの重要なUI要素は、他の要素と整列させることで、視覚的な安定感を生み出します。 - Use proximity to show relationships between elements
関連する要素同士は近くに配置し、関連のない要素とは距離を保つことで、ユーザーが自然に要素間の関係性を理解できるようにします。 - Apply visual hierarchy to guide focus
視覚的な階層を使って、重要な情報やアクションに自然と視線が向くようにします。大きさ、太さ、位置などで強弱をつけ、ユーザーが優先すべき情報にすぐアクセスできるように工夫します。 - Consider platform conventions
Appleの各プラットフォームのレイアウトルールを尊重し、それぞれのガイドラインに沿ってデザインします。プラットフォーム固有の慣習に従うことで、ユーザーにとって一貫性のある使いやすい体験を提供できます。
Typography
- Use dynamic type for legibility and accessibility
ダイナミックタイプを活用することで、ユーザーがデバイスの設定でフォントサイズを変更できるようにし、視認性とアクセシビリティを確保します。 - Use built-in text styles
Appleが提供する標準のテキストスタイル(例:タイトル、見出し、本文など)を使用することで、システム全体で一貫性のある見た目を提供します。これにより、異なるプラットフォームでの互換性が向上します。 - Support reading comfort by maintaining a clear hierarchy
見出しや本文などのテキスト階層を明確にし、ユーザーが情報を自然な流れで読めるようにします。視覚的な違いで優先順位が明確に伝わるようにしましょう。 - Use appropriate line height and letter spacing
行間と文字間は適切に設定し、テキストの読みやすさを確保します。特に小さなフォントサイズや長いテキストでは、行間が読みやすさに影響します。 - Limit the number of font variations
フォントのバリエーション(ウェイトやスタイルの種類)は最小限に抑え、統一感のあるデザインにすることが推奨されます。複数のフォントを使いすぎると、デザインが煩雑になり視認性が低下します。 - Use contrast to enhance readability
テキストの色と背景の色に十分なコントラストを確保し、あらゆる環境でテキストがはっきり読めるようにします。コントラストの低い色使いは、読みにくさを引き起こします。 - Align text consistently
テキストの整列は一貫性を持たせ、左揃えまたは中央揃えを基本とします。混在した揃え方は視覚的な乱れを引き起こし、読みやすさを低下させます。 - Use system fonts to enhance performance and integration
Appleのシステムフォント(San FranciscoやNew Yorkなど)は、各プラットフォームに最適化されているため、パフォーマンスが向上し、ネイティブな外観が得られます。システムフォントの利用でアプリの統一感も高まります。
Writing
- Be clear and concise
明確で簡潔な言葉を使用し、メッセージがすぐに伝わるようにします。不要な言葉や曖昧な表現は避け、ユーザーが一目で内容を理解できるようにします。 - Use familiar, conversational language
誰もが理解しやすい日常的な言葉で伝えます。専門用語は避け、親しみやすくフレンドリーなトーンでユーザーにメッセージを届けます。 - Avoid unnecessary jargon
不必要な専門用語や業界用語は避け、ユーザーが混乱しないようにします。分かりやすい表現でメッセージが伝わるように配慮します。 - Be consistent with terminology
用語や表現はアプリ全体で一貫性を持たせます。同じ概念やアクションを指すときには常に同じ言葉を使用し、ユーザーの理解を助けます。 - Use active voice
アクティブボイス(能動態)で書き、メッセージを直接的で分かりやすいものにします。受動態を避け、アクションが明確に伝わる文章を心がけます。 - Focus on the user
ユーザー視点で書くことを心がけ、「あなた」や「自分」といった言葉を使い、ユーザーに対して直接的な表現で語りかけます。ユーザーの行動や利益に焦点を当てたメッセージを提供します。 - Use positive language
ポジティブな表現を用いて、ユーザーが前向きな気持ちでアクションを起こせるように促します。否定的な表現は避け、可能な限り明るいトーンを保ちます。 - Prioritize essential information
メッセージの要点を先に伝え、重要な情報がすぐに目に入るようにします。詳細は後回しにし、ユーザーが理解すべき内容にすぐアクセスできるよう配慮します。 - Avoid redundancy
同じ情報を繰り返さないようにし、無駄を省いて読みやすい文章にします。同義語や冗長な表現を排除することで、メッセージがシンプルに伝わります。
Charting Data
- Choose the right chart for your data
データの種類に応じて適切なチャート形式(棒グラフ、折れ線グラフ、円グラフなど)を選び、データがわかりやすく視覚化されるようにします。適切な形式を選ぶことで、情報がユーザーに効果的に伝わります。 - Emphasize key information
ユーザーが注目すべき重要な情報を強調します。ハイライトやラベルを使い、ユーザーがすぐにポイントを理解できるようにすることが大切です。 - Use clear labels and legends
各データポイントにわかりやすいラベルをつけ、凡例も明確に表示します。これにより、ユーザーがチャートの内容を正確に理解しやすくなります。 - Display values to help users make comparisons
ユーザーが簡単にデータを比較できるよう、数値や割合などの具体的な値を表示します。視覚的な比較がしやすいよう工夫することで、理解を助けます。 - Use color and contrast thoughtfully
色とコントラストは視認性を高めるために適切に使用し、データの意味を明確に伝えます。識別しやすい色を選び、色覚に配慮した組み合わせにすることも重要です。 - Avoid clutter and unnecessary detail
データをシンプルにまとめ、不要な装飾や複雑な要素は避けます。視覚的な負荷を軽減し、データの要点がわかりやすくなるようにします。 - Use animations sparingly and purposefully
アニメーションは慎重に使用し、ユーザーの集中を助けるために目的に合わせた効果を採用します。変化や遷移を視覚化する際に役立て、不要な動きは避けます。 - Support accessibility and inclusivity
アクセシビリティを考慮し、すべてのユーザーがデータを理解できるように工夫します。たとえば、色に依存しない情報の提供や、スクリーンリーダー対応のラベル付けが推奨されます。
Collaboration and Sharing
- Enable seamless collaboration
複数のユーザーが同時に作業できるよう、リアルタイムでの更新や共同編集機能を提供します。これにより、効率的で直感的なコラボレーションが実現します。 - Use standard sharing methods
システムの標準共有シートやメッセージング機能を使用して、ユーザーがコンテンツを簡単に他者と共有できるようにします。これにより、共有操作がスムーズになります。 - Respect user privacy and permissions
ユーザーのプライバシーと権限を重視し、必要な場合にはアクセス許可を求めます。共有する前にユーザーの確認を取り、データ保護を徹底します。 - Provide meaningful context when sharing
共有時には、コンテンツの内容が相手にわかりやすいように文脈情報を含めます。タイトルや説明、サムネイル画像を追加し、相手がコンテンツを理解しやすいようにします。 - Make it easy to manage shared content
ユーザーが共有済みのコンテンツを簡単に管理・編集・削除できるようにし、必要に応じてアクセス権の設定を変更できるようにします。 - Ensure a consistent experience across platforms
コラボレーションと共有機能は、異なるデバイスやプラットフォーム間で一貫性のある操作性を提供します。すべての環境で同じように使えることで、ユーザーがシームレスな体験を得られます。 - Communicate updates and changes effectively
共同編集の際に、他のユーザーが加えた変更やアップデートを明確に伝えます。通知や視覚的なインジケーターで、変更内容や作業の進行状況が一目でわかるようにします。
Drag and Drop
- Enable drag and drop for relevant content
ドラッグ&ドロップ機能は、ユーザーが操作しやすいように、適切なコンテンツやオブジェクトで有効にします。たとえば、画像、テキスト、ファイルなど、ドラッグ&ドロップの操作が直感的で有用な場合に活用します。 - Provide visual feedback during drag
ユーザーがドラッグ中に視覚的なフィードバックを受け取れるようにし、ドラッグの開始、移動中、ドロップ可能エリアの上にあるときなどの状態を示します。これにより、操作がスムーズで分かりやすくなります。 - Support drag and drop within and between apps
アプリ内だけでなく、他のアプリ間でもドラッグ&ドロップをサポートします。クロスアプリでの操作が可能な場合、ユーザーのワークフローが効率化され、シームレスな体験が得られます。 - Handle data formats appropriately
ドラッグ&ドロップするデータの形式を適切に処理し、受け取るアプリや場所に合わせて柔軟に対応します。データの変換が必要な場合も、ユーザーにスムーズな操作を提供します。 - Provide clear drop targets
ドロップ可能なエリアやターゲットを明確にし、ユーザーがドロップ可能な場所を一目で理解できるようにします。ドロップターゲットは強調表示し、どこにドロップできるかを明示します。 - Enable reordering within a list or collection
リストやコレクション内でアイテムをドラッグ&ドロップして並べ替えできるようにします。これにより、ユーザーが自身の好みに合わせてコンテンツを整理できるようになります。 - Consider accessibility in drag and drop
ドラッグ&ドロップ操作が困難なユーザーのために、代替手段も提供します。たとえば、キーボードやスクリーンリーダー対応など、アクセシビリティ機能を考慮した設計が重要です。
Entering Data
- Minimize the amount of data entry required
ユーザーが入力するデータの量を最小限に抑えます。可能であれば、自動入力や既存情報の再利用を促し、手間を減らします。 - Make data entry efficient and accessible
ユーザーが効率よくデータを入力できるように設計します。タップやスワイプなどの直感的な操作に対応し、必要に応じてキーボードや入力モードを自動的に変更します。 - Use the appropriate keyboard type
データの種類に応じて最適なキーボードタイプを表示します。例えば、数値入力には数字キーボード、メールアドレス入力には「@」キー付きのキーボードを表示し、入力のスムーズさを向上させます。 - Provide placeholder text and hints
プレースホルダーやヒントを使って、ユーザーがどのような情報を入力すべきかを明確に示します。ただし、入力後に消えるプレースホルダーよりも、補足説明などの持続的なヒントが好ましい場合もあります。 - Validate input as early as possible
ユーザーがデータを入力したらすぐに検証し、エラーを早期に知らせます。リアルタイムでのバリデーションにより、ユーザーはミスを即座に修正しやすくなります。 - Use predictable and forgiving formats
入力形式は予測可能で、多少のミスにも対応できる柔軟さを持たせます。例えば、電話番号や日付の形式を自動で調整するなど、ユーザーの入力を助ける工夫をします。 - Provide useful error messages
エラーメッセージは具体的でわかりやすく、ユーザーが問題を解決できるようにガイドします。エラーの原因や修正方法を明確に伝えることで、ユーザーのストレスを軽減します。
Feedback
- Acknowledge user actions
ユーザーの操作に対して迅速にフィードバックを返し、操作が認識されていることを示します。アニメーションやサウンド、振動などを使って、アクションが受け入れられたことを明示します。 - Communicate results and progress
アクションの結果や進捗状況をわかりやすく表示します。たとえば、処理が長時間かかる場合はプログレスインジケータを表示し、ユーザーが待ち時間を理解できるようにします。 - Help people avoid and recover from errors
エラーが発生しにくい設計を行い、ユーザーがミスを防げるようサポートします。エラーが起きた場合には、解決策や修正方法を案内し、ユーザーが簡単に回復できるようにします。 - Make feedback unobtrusive but noticeable
フィードバックは目立ちすぎず、必要なときに自然に伝わるようにします。過剰な通知や強制的なアラートは避け、適切なタイミングで適度にフィードバックを提供します。 - Use subtle animation to enhance feedback
微細なアニメーションを使用してフィードバックを強調し、操作結果がわかりやすくなるようにします。アニメーションを過剰に使用せず、自然でシームレスな演出を心がけます。 - Provide haptic feedback sparingly
必要な場面で振動フィードバックを活用し、操作が成功したことや重要なアクションを伝えます。ハプティクスは控えめに使い、効果が引き立つようにします。 - Use sound judiciously
効果音は慎重に使用し、特に重要なアクションに対してのみ提供します。不要なサウンドは避け、ユーザーに快適な体験を提供するために、音量や頻度を調整します。
File Management
- Give people access to their files
ユーザーがファイルを簡単にアクセス、管理、操作できるようにし、アプリ内でファイルへのアクセス手段を提供します。ユーザーが自分のデータを把握しやすくなることが重要です。 - Let people open and edit files in place
ファイルを直接開いて編集できるようにし、複製を作成することなく、もとのファイルをそのまま編集できるようにします。これにより、ユーザーの作業効率が向上します。 - Help people organize and find files
ユーザーがファイルを整理しやすくするための機能を提供します。たとえば、検索機能やフィルタリング、タグ付けをサポートし、ファイルの検索や管理がスムーズに行えるようにします。 - Provide quick actions for common tasks
よく使うアクション(例: 複製、移動、削除)に対してクイックアクションを提供し、ワンタップでアクセスできるようにします。これにより、ファイル操作が迅速かつ簡単になります。 - Show progress and allow cancellation
ファイルのダウンロードやアップロードなどの進捗を表示し、ユーザーが処理の進行状況を把握できるようにします。また、必要に応じて操作をキャンセルできるオプションも提供します。 - Handle conflicts gracefully
ファイルのバージョンや同じ名前のファイルが存在する場合、ユーザーにわかりやすくコンフリクトを知らせ、上書きや別名で保存するなど、適切な解決手段を提示します。 - Respect privacy and data ownership
ファイル管理において、ユーザーのプライバシーとデータ所有権を尊重します。アクセス権限を適切に取得し、ユーザーの許可なしにファイルを操作しないようにします。
Going Full Screen (Apple Human Interface Guidelines)
1. Consider full screen as an immersive mode
- フルスクリーンは、ユーザーがアプリに完全に集中できるモードとして設計。
- 作業やコンテンツに没頭できるように、シンプルで邪魔にならないUIを優先。
2. Maintain usability and functionality
- フルスクリーンモードでも、アプリの基本的な使いやすさと機能性を維持。
- メニューやツールバーなど必要な要素は、非表示にするか、簡単にアクセス可能にする。
3. Use full screen for the right tasks
- コンテンツ制作やメディア鑑賞など、ユーザーが集中するタスクに適用。
- 一般的なブラウジングや小規模タスクには不要。
4. Support multitasking when appropriate
- ユーザーが他のアプリと並行して使用できるよう、マルチタスキングのサポートを考慮。
- 必要に応じてSplit ViewやSlide Overに対応。
5. Adapt to different device sizes and contexts
- iPadやMacなど、異なるデバイスの画面サイズや利用シーンに対応。
- サイズに応じたレイアウトとインタラクションを提供。
6. Avoid requiring full screen unnecessarily
- 必要がない場合、フルスクリーンモードを強制しない。
- ユーザーが任意で切り替えられるように設計。
7. Provide a clear way to exit full screen
- フルスクリーンから簡単に抜け出せる明確な方法を提供。
- 一般的には、エスケープキーやボタン操作で終了可能に。
8. Handle window management gracefully
- ユーザーがウィンドウを切り替えたり再配置できるよう配慮。
- フルスクリーンと通常モード間でシームレスに移行可能に。
9. Preserve state when entering or exiting full screen
- フルスクリーンに移行する際、現在の状態を維持。
- 終了時にも元の配置やコンテンツが失われないようにする。
10. Optimize for performance in full screen
- フルスクリーンでの動作をスムーズに保つため、パフォーマンスを最適化。
- 大量のリソースを使用する場合でも応答性を確保。
Going Full Screen (Apple Human Interface Guidelines)
1. Consider full screen as an immersive mode
- フルスクリーンは、ユーザーがアプリに完全に集中できるモードとして設計。
- 作業やコンテンツに没頭できるように、シンプルで邪魔にならないUIを優先。
2. Maintain usability and functionality
- フルスクリーンモードでも、アプリの基本的な使いやすさと機能性を維持。
- メニューやツールバーなど必要な要素は、非表示にするか、簡単にアクセス可能にする。
3. Use full screen for the right tasks
- コンテンツ制作やメディア鑑賞など、ユーザーが集中するタスクに適用。
- 一般的なブラウジングや小規模タスクには不要。
4. Support multitasking when appropriate
- ユーザーが他のアプリと並行して使用できるよう、マルチタスキングのサポートを考慮。
- 必要に応じてSplit ViewやSlide Overに対応。
5. Adapt to different device sizes and contexts
- iPadやMacなど、異なるデバイスの画面サイズや利用シーンに対応。
- サイズに応じたレイアウトとインタラクションを提供。
6. Avoid requiring full screen unnecessarily
- 必要がない場合、フルスクリーンモードを強制しない。
- ユーザーが任意で切り替えられるように設計。
7. Provide a clear way to exit full screen
- フルスクリーンから簡単に抜け出せる明確な方法を提供。
- 一般的には、エスケープキーやボタン操作で終了可能に。
8. Handle window management gracefully
- ユーザーがウィンドウを切り替えたり再配置できるよう配慮。
- フルスクリーンと通常モード間でシームレスに移行可能に。
9. Preserve state when entering or exiting full screen
- フルスクリーンに移行する際、現在の状態を維持。
- 終了時にも元の配置やコンテンツが失われないようにする。
10. Optimize for performance in full screen
- フルスクリーンでの動作をスムーズに保つため、パフォーマンスを最適化。
- 大量のリソースを使用する場合でも応答性を確保。
Launching (Apple Human Interface Guidelines)
1. Make a good first impression
- アプリの起動はユーザー体験の出発点。
- 素早くシンプルに、期待感を高めるようデザイン。
2. Launch quickly
- アプリは即座に応答することが重要。
- 不必要な遅延を避け、可能な限り早くコンテンツを表示。
3. Show a launch screen that resembles the first app screen
- ローンチ画面はアプリの初期状態を模倣し、シームレスな移行を演出。
- 静的なコンテンツのみを使用し、不要なアニメーションや読み込みインジケーターを避ける。
4. Restore the previous state when appropriate
- アプリが再起動した場合、前回の状態を復元してユーザーの作業を中断させない。
- 必要に応じて、ユーザーに新しいセッションの開始オプションを提供。
5. Don’t ask for permissions right away
- 起動時にすぐ権限を求めることを避ける。
- ユーザーがアプリの価値を理解し、特定の操作が必要になったときに求める。
6. Make onboarding optional
- 初回起動時のオンボーディングは簡潔にし、スキップ可能に。
- アプリの基本機能をすぐに体験できるようにする。
7. Don’t interrupt the launch experience
- 起動中にアラートやダイアログを表示しない。
- アプリ内での主要な操作を開始する準備が整うまで中断を最小限に。
8. Provide a consistent launch experience across devices
- デバイスやプラットフォーム間で一貫した起動体験を提供。
- 異なる画面サイズや特性に対応する柔軟性を持たせる。
9. Optimize for performance
- アプリの起動に関連するコードを最適化し、効率的に実行。
- リソースの負荷が大きい場合でも、安定した応答性を維持。
Live-viewing Apps (Apple Human Interface Guidelines)
1. Focus on the content
- ライブコンテンツを中心に据え、ユーザーがコンテンツに没頭できるデザインにする。
- 不要なUI要素や情報は控える。
2. Minimize interruptions
- ユーザーがライブ体験を途切れることなく楽しめるように、通知やポップアップを控える。
- 必要な場合は非侵襲的な方法で伝える。
3. Provide responsive controls
- 操作に対する即時応答を保証。
- 再生、一時停止、音量調整など、主要なコントロールを直感的かつ簡単に操作できるよう配置。
4. Offer high-quality streaming
- 安定した接続と高解像度のストリーミングを優先。
- ネットワークの状態に応じて、画質を自動調整するなどの配慮をする。
5. Ensure accessibility
- ボイスオーバーや字幕、音声説明など、アクセシビリティ機能を組み込む。
- 全てのユーザーがコンテンツを楽しめるように対応。
6. Provide context without clutter
- 必要な情報(例: タイトル、時間、解説)は簡潔に表示。
- 画面のスペースを無駄にせず、情報の過剰な表示を避ける。
7. Support multitasking when appropriate
- 他のアプリと並行して使用できるよう、Picture in Picture(PiP)などの機能を活用。
- 必要に応じてSplit ViewやSlide Overをサポート。
8. Offer ways to catch up
- ユーザーがライブ配信の途中から参加した場合に、見逃した部分を確認できるオプションを提供(例: 追っかけ再生やハイライト)。
9. Adapt to interruptions gracefully
- 電話や通知などの中断が発生しても、ライブ配信がスムーズに再開するよう設計。
- 中断後のリカバリーを迅速に行う。
10. Let users control audio and video balance
- 音声と映像のバランスを調整できるオプションを提供。
- 例: 音声トラックやカメラアングルの切り替え。
11. Optimize for different devices and conditions
- デバイスの画面サイズ、インターネット接続状況、ユーザー環境に応じて体験を最適化。
- モバイルデバイスでの片手操作や屋外での使用にも配慮。
12. Respect privacy and permissions
- 必要な場合のみ、適切なタイミングで権限をリクエスト。
- カメラやマイクの使用に関する透明性を保つ。
Loading (Apple Human Interface Guidelines)
1. Minimize loading time
- ロード時間を短縮し、ユーザーが素早く操作を開始できるようにする。
- リソースの効率的な管理や非同期処理を活用。
2. Provide immediate feedback
- ロード中であることをユーザーに明確に伝える。
- スピナーやプログレスバーなど、視覚的なフィードバックを利用。
3. Avoid displaying a blank screen
- ロード中の画面を空白にしない。
- 背景要素やプログレスインジケーターを表示して、ユーザーの不安を軽減。
4. Indicate progress when possible
- 進捗が予測可能な場合、プログレスバーを使用してロードの進行状況を示す。
- ロード時間が長い場合は、残り時間の推定を表示。
5. Use skeleton screens for dynamic content
- コンテンツがロードされるまで、スケルトンスクリーンを表示。
- 実際のレイアウトを模倣することで、ユーザーの期待を管理。
6. Avoid unnecessary loading indicators
- 非同期タスクがすぐに完了する場合、ロードインジケーターを表示しない。
- インジケーターが不要な状況で表示すると、動作が遅いと誤解される可能性がある。
7. Handle loading failures gracefully
- ロードが失敗した場合に、明確で有用なエラーメッセージを表示。
- 再試行オプションや詳細情報へのリンクを提供。
8. Don’t block user interactions unnecessarily
- ユーザーがロード中でも他の操作を続けられるようにする。
- 必要な場合を除き、アプリ全体の動作を停止させない。
9. Optimize for performance
- ロード処理を効率化し、不要なリソース使用を削減。
- ユーザーのデバイスやネットワーク条件を考慮して設計。
10. Use meaningful animations
- ロード中のアニメーションは単なる装飾でなく、状況を説明する役割を持たせる。
- アニメーションが進行中であることを示し、エラー時には停止するようにする。
Managing Accounts (Apple Human Interface Guidelines)
1. Make it easy to sign in and sign up
- アカウント作成やログインプロセスを簡単かつ迅速に。
- Appleでサインインやパスワード管理機能を活用。
2. Minimize the need for account creation
- 必要な場合にのみアカウント作成を求める。
- アカウントなしで使えるゲストモードや限定機能の提供を検討。
3. Use clear and inclusive language
- ユーザーに配慮したわかりやすい言葉を使用。
- 性別や文化的背景を考慮し、包括的な表現を心がける。
4. Provide secure authentication options
- 安全で信頼性の高い認証方法(例: 生体認証や2段階認証)をサポート。
- ユーザーのデータプライバシーを最優先に設計。
5. Offer account recovery options
- アカウント情報を忘れたユーザー向けに、簡単で信頼性のある回復方法を提供。
- 明確な指示と迅速な手続きを設計。
6. Make account settings easy to find and use
- アカウント関連の設定を分かりやすく配置し、簡単にアクセス可能にする。
- 設定画面は論理的で整理された構造に。
7. Let people manage their data
- ユーザーが自分のデータを確認、エクスポート、削除できるようにする。
- データプライバシーに関する透明性を提供。
8. Support multiple accounts if appropriate
- 必要に応じて、複数アカウントの切り替えを容易にする。
- 各アカウントのデータを安全に分離して管理。
9. Offer a clear way to delete an account
- アカウント削除のオプションを明確に提示。
- プロセスを簡潔かつ透明にし、削除後の影響についてユーザーに通知。
10. Respect user preferences and settings
- ユーザーが選択した設定や通知のオプトイン/オプトアウトを尊重。
- 個別のカスタマイズが可能な設計を提供。
11. Keep accounts secure
- アカウント情報を暗号化して保護。
- 疑わしいアクティビティが発生した場合に、ユーザーに警告を送信。
12. Minimize interruptions
- アカウント管理に関連する通知やプロセスで、ユーザー体験を妨げない。
- 必要最小限の手続きでタスクを完了できるように設計。
Managing Notifications (Apple Human Interface Guidelines)
1. Notify only when necessary
- 本当に重要な情報や行動を促す場合にのみ通知を送信。
- ユーザーの注意を乱さないようにする。
2. Ask for permission at an appropriate time
- 通知の許可を求めるのは、ユーザーがその価値を理解したタイミングで。
- 初回起動時にすぐに求めることは避ける。
3. Respect user preferences
- 通知の設定はユーザーの希望に従い、柔軟にカスタマイズ可能にする。
- 通知のオン/オフや種類を調整するオプションを提供。
4. Provide meaningful content
- 通知内容は明確で、ユーザーにとって価値のある情報を提供。
- 曖昧なメッセージや不要な情報を避ける。
5. Be timely
- 通知は適切なタイミングで送信し、遅れや過度の頻度を避ける。
- リアルタイム性が重要な場合は、迅速に送信。
6. Allow users to act on notifications
- 通知から直接関連するアクションを実行できるようにする。
- 例: 通知をタップしてアプリの特定の画面に移動。
7. Group related notifications
- 同じコンテキストに属する通知はグループ化して整理。
- 過剰な通知でユーザーを圧倒しない。
8. Avoid disrupting the user
- 通知は控えめで邪魔にならない方法で提示。
- 特にフルスクリーンのタスク中や集中を要する状況では注意。
9. Provide a way to review past notifications
- ユーザーが以前の通知を確認できる履歴を提供。
- iOSでは通知センターを活用。
10. Test notifications across scenarios
- 通知がさまざまなデバイス、画面サイズ、状況で適切に動作するか確認。
- バッテリーやデータ使用量への影響も検証。
11. Use system-provided interfaces when possible
- 通知の配信にはシステム提供のフレームワークを利用。
- 一貫した外観と動作を維持し、カスタム実装は必要最低限に。
12. Be transparent about notification use
- なぜ通知が必要なのか、どのように使われるのかを明確に説明。
- プライバシーへの配慮を欠かさない。
Modality (Apple Human Interface Guidelines)
1. Use modality to focus attention
- モーダルはユーザーの注意を特定のタスクや情報に集中させるために使用。
- 不要な場合には避け、ユーザーが自由に操作できる体験を優先。
2. Choose the most appropriate type of modality
- 非モーダル: 通常のタスクフローを中断せずにインタラクションを提供。
- モーダル: ユーザーが現在のタスクを完了するまで他の操作をブロック。
3. Avoid unnecessary modality
- 他の方法で同じ結果が得られる場合、モーダルを使わない。
- モーダルはユーザー体験を妨げないように慎重に使用。
4. Don’t surprise users
- モーダルの表示は予測可能であるべき。
- タスクの進行中に突然モーダルを表示して混乱を招かないよう注意。
5. Make it easy to dismiss modals
- モーダルは簡単かつ明確に終了できる方法を提供。
- 例: 明確な閉じるボタンやジェスチャーでの解除。
6. Design visually distinct modals
- モーダルは背景コンテンツと視覚的に区別されるようデザイン。
- 例: 半透明のオーバーレイや明確な境界線を使用。
7. Maintain context when switching between modes
- モーダルを閉じた後、ユーザーが元のタスクにシームレスに戻れるようにする。
- 状態やデータを保存して、再開しやすくする。
8. Consider device and platform conventions
- デバイスやプラットフォームごとのモーダルの使い方やスタイルガイドに従う。
- 例: iOSではシートやフルスクリーンモードを適切に使い分ける。
9. Minimize nested modals
- モーダルの中にさらにモーダルを表示することを避ける。
- 必要な場合は、階層を明確にして混乱を防ぐ。
10. Support accessibility
- モーダルがアクセシビリティに対応していることを確認。
- スクリーンリーダーやキーボードナビゲーションでの操作を可能にする。
11. Use animations thoughtfully
- モーダルの表示と非表示にスムーズなアニメーションを使用。
- ユーザーの集中を保ちつつ、文脈の変化を伝える。
12. Test modals in different contexts
- モーダルがさまざまなデバイスサイズやユーザーシナリオで適切に機能することを確認。
- 特に、ポップオーバーやシートの配置に注意。
Multitasking (Apple Human Interface Guidelines)
1. Support multitasking where appropriate
- マルチタスクが可能なデバイスでは、その特性を活かしてアプリを対応させる。
- 特にiPadでは、Split ViewやSlide Overの活用を検討。
2. Design for a range of window sizes
- アプリはさまざまなウィンドウサイズに対応できる柔軟なレイアウトを採用。
- リサイズ時も重要な機能やコンテンツが使いやすいように設計。
3. Maintain context when multitasking
- ユーザーがアプリ間を切り替えても作業が中断されないように状態を保存。
- アクティブなタスクや未保存のデータを保持する。
4. Optimize for Split View
- アプリをSplit Viewで使用する際に、半分や1/3サイズでも適切に表示されるよう設計。
- 必要に応じて主要なインターフェース要素を再配置。
5. Support Slide Over
- 必要に応じて、Slide Overモードに対応。
- 小さいサイズのウィンドウでも直感的に操作できるUIを提供。
6. Enable Picture in Picture (PiP) when it makes sense
- 動画やライブコンテンツを提供するアプリでは、Picture in Pictureをサポート。
- PiPウィンドウは簡単に移動・サイズ変更できるようにする。
7. Respect other apps
- マルチタスク中は他のアプリの動作を妨げない。
- 音声やリソースの利用はシステムルールに従い、適切に制御。
8. Handle multiple instances gracefully
- 必要に応じて、同一アプリの複数インスタンスをサポート。
- 各インスタンスが独立して動作し、ユーザーがスムーズに切り替え可能に。
9. Adapt to different orientations
- マルチタスク中にデバイスの向きが変わった場合でも、レイアウトが自然に適応するように設計。
- 横向き・縦向きどちらでもスムーズな体験を提供。
10. Support drag and drop
- ユーザーが他のアプリとの間でコンテンツを簡単に移動できるよう、ドラッグ&ドロップをサポート。
- 例: テキスト、画像、ファイルなど。
11. Provide a seamless user experience
- マルチタスク環境でもアプリの操作性を損なわない。
- ロード時間の最小化やスムーズな切り替えを実現。
12. Test multitasking scenarios thoroughly
- マルチタスク機能がさまざまなシナリオで正しく動作するかを徹底的にテスト。
- 特に、複数アプリや異なるウィンドウサイズでの動作を検証。
Offering Help (Apple Human Interface Guidelines)
1. Be contextually relevant
- 必要なタイミングで、適切な場所にヘルプを提供。
- ユーザーの現在のアクションや状況に合ったアシストを行う。
2. Make help easy to find
- ヘルプやサポートへのアクセスを直感的かつ目立つ場所に配置。
- ヘルプが必要なユーザーが迷わない設計を心がける。
3. Prioritize clarity and simplicity
- ヘルプの内容は分かりやすく、簡潔にする。
- 専門用語を避け、一般ユーザーが理解しやすい表現を使用。
4. Guide without overwhelming
- 必要最小限の情報を提供し、ユーザーが自力で進める余地を残す。
- 過剰な指示や詳細すぎる内容を避ける。
5. Offer progressive disclosure
- 詳細な情報は段階的に表示し、最初からすべてを提示しない。
- 必要に応じてさらに深く掘り下げられるように設計。
6. Use visuals effectively
- テキストだけでなく、画像やアイコン、アニメーションを活用してヘルプ内容を伝える。
- 複雑な手順には動画やインフォグラフィックを検討。
7. Provide interactive assistance
- 必要に応じて、ステップバイステップのチュートリアルやガイドを用意。
- ユーザーがアプリ内で実際に操作しながら学べる体験を提供。
8. Make it dismissible
- ユーザーがヘルプを簡単に閉じたり無視したりできるようにする。
- 必要以上にユーザーの作業を妨げない設計。
9. Include a search option for extensive help
- 大量のヘルプコンテンツがある場合は検索機能を追加。
- ユーザーが迅速に必要な情報を見つけられるよう支援。
10. Support different learning styles
- テキスト、視覚、対話型の要素を組み合わせ、多様な学習スタイルに対応。
- 例: クイックスタートガイドと詳細なマニュアルの両方を用意。
11. Encourage exploration
- ユーザーが試行錯誤しながらアプリを学べるように促す。
- ヘルプは最小限にとどめ、直感的なデザインで導くことを優先。
12. Test and refine help content
- ユーザーのフィードバックをもとに、ヘルプの内容や提供方法を継続的に改善。
- 実際の使用状況を観察して問題点を特定。
Onboarding (Apple Human Interface Guidelines)
1. Highlight key benefits
- アプリの主な価値や機能を簡潔に伝える。
- 初回使用時にユーザーが目的を理解できるようにする。
2. Focus on essentials
- ユーザーがすぐに始められるために必要な情報だけを提供。
- 詳細な説明や複雑な手順は避ける。
3. Let people explore
- ユーザーがアプリを自分で試せる自由を尊重。
- ガイドを必須にするのではなく、オプションとして提供。
4. Show, don’t tell
- テキストよりもビジュアルやインタラクティブな要素を活用して説明。
- 実際の操作を通じて学べる仕組みを用意。
5. Be concise and engaging
- オンボーディングは短く、魅力的なデザインでユーザーの関心を引く。
- 必要以上に時間を取らない。
6. Integrate onboarding into the app
- オンボーディングはアプリ全体と一貫したデザインにする。
- 別のモジュールのように感じさせない。
7. Personalize the experience
- ユーザーの入力や行動に基づいて、オンボーディングをカスタマイズ。
- 興味やニーズに合った情報を提供。
8. Provide skip and revisit options
- ユーザーがオンボーディングをスキップしたり、後で確認できるようにする。
- 必要以上に拘束しない。
9. Introduce permissions in context
- 許可を求めるタイミングは、その必要性がユーザーにとって明確なときに。
- 初回起動時に一度にすべての許可を求めることは避ける。
10. Encourage account creation only if necessary
- 必須でない限り、初期段階でアカウント作成を要求しない。
- ゲストモードなどを活用してユーザーがすぐに使い始められるようにする。
11. Celebrate progress
- 初めてのタスクを完了した際など、達成感を与える仕掛けを提供。
- ポジティブなフィードバックでユーザーのモチベーションを維持。
12. Test the onboarding experience
- オンボーディングが多様なユーザーにとって直感的で役立つかどうかをテスト。
- ユーザーフィードバックを基に改善を続ける。
Playing Audio (Apple Human Interface Guidelines)
1. Provide clear audio feedback
- ユーザーのアクションに対して明確な音声フィードバックを提供。
- 音はユーザーの意図を確認できるよう、直感的でわかりやすいものにする。
2. Ensure high-quality sound
- 音質を高く保ち、効果音や音楽などがクリアで快適に聴こえるようにする。
- 不快な音や雑音を避け、良好なオーディオ体験を提供。
3. Respect user preferences
- ユーザーが音量や音声の種類を調整できるようにする。
- サウンドのオン/オフ機能を提供し、音声の自動再生に対する選択肢を尊重。
4. Use audio appropriately
- 音声は用途に応じて適切に使用。例えば、通知音やインタラクションのフィードバックとして利用する。
- 背景音楽や効果音が過剰にならないようバランスを取る。
5. Don’t interrupt the user unnecessarily
- ユーザーが操作している際に、過度に音を鳴らして邪魔をしない。
- 特にコンテンツを視聴中や集中しているときに音を乱すことは避ける。
6. Handle audio interruptions gracefully
- 他のアプリやシステムからのオーディオ通知を考慮し、適切に音声を管理。
- 例えば、音楽やオーディオ再生中に着信があった場合は、自動的に一時停止やミュートを行う。
7. Provide background audio support
- アプリがバックグラウンドで音声を再生する場合、ユーザーにその旨を明確に伝える。
- バックグラウンドでのオーディオ再生にはバッテリーやデータ消費への配慮を行う。
8. Ensure audio is accessible
- 音声やオーディオの内容を視覚的な方法でも提供する(例: 字幕やトランスクリプト)。
- 音が必要なユーザー向けに、視覚的サポートを加えることを検討。
9. Optimize for different environments
- 音楽や効果音などを、環境に合わせて調整できるようにする。
- 例えば、ヘッドフォン、スピーカー、車内など異なる状況に合わせた設定を提供。
10. Consider system audio guidelines
- システムのサウンド設定(例: 着信音、システム通知音など)に従い、全体のサウンド体験が一貫性を保つように設計。
- システム音とアプリ音のバランスに配慮する。
Playing Haptics (Apple Human Interface Guidelines)
1. Provide haptic feedback for important interactions
- 重要なアクションやインタラクションに対して、触覚フィードバックを提供。
- 例: ボタンのタップや選択肢の変更時に触覚でフィードバックを伝える。
2. Use haptics to reinforce actions
- ユーザーがアクションを完了した際に、触覚フィードバックを用いて達成感や確認を提供。
- 触覚フィードバックは、視覚的または音声的フィードバックを補完する役割を果たす。
3. Be subtle with haptic feedback
- 過剰な振動や強いフィードバックは避け、ユーザーに不快感を与えないよう配慮。
- 触覚フィードバックは控えめで心地よいものであるべき。
4. Use haptics to indicate state changes
- ユーザーがアプリ内で重要な状態の変更を行った際、触覚フィードバックを利用してその変更を通知。
- 例: フォームの送信完了、エラーメッセージ、通知受信など。
5. Consider haptic capabilities of the device
- 各デバイス(iPhone、Apple Watchなど)が提供する触覚フィードバックの能力を考慮して、最適なフィードバックを設計。
- 各デバイスで異なる振動パターンや強度を活用。
6. Allow users to adjust haptic settings
- ユーザーが触覚フィードバックの強度や種類をカスタマイズできるオプションを提供。
- iOSやwatchOSの設定を通じて、フィードバックの強さを調整できるようにする。
7. Use haptics in a way that doesn’t overwhelm the user
- 触覚フィードバックは適切なタイミングで提供し、ユーザーが過剰に触覚フィードバックに反応することなく、快適に使用できるようにする。
8. Ensure accessibility for haptics
- 触覚フィードバックを必要とするユーザーが、視覚や聴覚以外で操作できるように配慮する。
- ユーザーが感覚に頼らずにフィードバックを確実に受け取れるようにするためのアクセシビリティの工夫。
9. Combine haptics with visual or auditory feedback
- 触覚フィードバックは視覚的または音声的なフィードバックと組み合わせて、より強力な体験を提供。
- 視覚と聴覚の補完的な役割を持ちながら、ユーザーに情報を提供。
10. Test haptic feedback across devices
- 触覚フィードバックが異なるデバイスで正しく機能するかをテスト。
- ハプティックフィードバックの質や強度がデバイスによって異なることを考慮し、最適化を図る。
Playing Video (Apple Human Interface Guidelines)
1. Ensure high-quality video
- 高品質な動画を提供することが重要。解像度やフレームレートを最適化し、視覚的に快適な体験を提供。
- 映像は鮮明で色彩が豊かであるべき。
2. Use appropriate video formats
- 適切なフォーマット(例: H.264, HEVCなど)を使用し、デバイスに最適化された動画の再生を実現。
- 動画ファイルはデバイスの性能に合った形式とサイズにする。
3. Optimize for streaming
- ストリーミング中は、ビデオのバッファリングを最小化し、スムーズな再生を提供。
- 適切なビットレートと解像度を選択して、ネットワーク帯域に応じた最適な動画品質を提供。
4. Support different screen sizes and orientations
- 動画はデバイスの画面サイズや向きに適応できるように設計。
- フルスクリーン、ピクチャーインピクチャー(PiP)、および他のビューアモードをサポート。
5. Provide controls for user interaction
- ユーザーが動画を操作できるように、再生、停止、シーク、音量調整などのコントロールを提供。
- 動画再生中に視覚的にわかりやすい操作ボタンを表示。
6. Allow video playback in the background
- ユーザーが他のアプリを使用している間も動画をバックグラウンドで再生できるようにサポート。
- ユーザーが意図的にバックグラウンド再生を制御できる方法を提供。
7. Consider user preferences for audio
- 動画の音声を操作できるように、ユーザーが音量やミュートを調整できる機能を提供。
- ヘッドフォンや外部スピーカーを使用する場合に最適な音量をサポート。
8. Provide captions and subtitles
- 動画には字幕やキャプションを提供し、音声が聞き取れないユーザーや異なる言語を話すユーザーのアクセシビリティを向上。
- ユーザーがキャプションのオン/オフや言語の選択をできるようにする。
9. Ensure smooth playback performance
- 動画の再生が途切れたり、遅延したりしないよう、パフォーマンスを最適化。
- 特に低スペックデバイスやネットワーク接続が不安定な環境でもスムーズに再生されるように配慮。
10. Handle interruptions gracefully
- 着信や通知など、他のアクティビティが動画再生を中断した場合でも、スムーズに対応できるように設計。
- 中断後は再開が簡単にでき、ユーザーが再び映像体験に集中できるようにする。
11. Provide a good user experience on all devices
- 動画再生は、iPhone、iPad、Mac、Apple TVなどすべてのデバイスで一貫した体験を提供。
- 各デバイスのインターフェースに最適化されたコントロールや表示方法を提供。
Printing (Apple Human Interface Guidelines)
1. Ensure easy printability
- アプリ内で印刷する際には、ユーザーが簡単にプリントアウトできるように設計。
- プリントのオプションや設定は、シンプルで直感的に操作できるようにする。
2. Support standard paper sizes
- 印刷時には、標準的な用紙サイズ(例: A4、レターサイズなど)をサポート。
- ユーザーの地域や国に応じて、適切な用紙サイズを自動的に選択する。
3. Provide print preview
- 印刷前にプレビュー機能を提供し、印刷結果を確認できるようにする。
- プレビューはレイアウトやページ数を視覚的に示し、印刷物がどのように見えるかを事前にチェックできるようにする。
4. Allow customization of print settings
- ユーザーが印刷設定をカスタマイズできるようにする。例えば、ページ範囲、部数、カラー設定など。
- 印刷物の内容やレイアウトを調整できるオプションを提供。
5. Optimize for different printers
- 様々な種類のプリンターに対応するように設計し、印刷がうまく行われるように最適化。
- ユーザーが使用しているプリンターの特徴や仕様に合った設定を提供。
6. Use high-quality graphics
- 印刷されるグラフィックや画像の品質が高く、鮮明で見栄えが良いように設計。
- 解像度やカラープロファイルを考慮して、最適な画像を印刷できるようにする。
7. Minimize unnecessary printing
- 不要な印刷を避け、ペーパーレス環境を推奨するデザインを心がける。
- ユーザーが最も重要な情報のみを印刷するように配慮。
8. Ensure accessibility of printed content
- 印刷物においても視覚的にアクセス可能なコンテンツを提供。
- 高コントラスト、明瞭なフォント、適切なレイアウトを使用して、誰にでも読める印刷物を作成。
9. Include options for saving and sharing
- 印刷だけでなく、PDFとして保存したり、他の方法で共有できるオプションも提供。
- ユーザーが印刷せずにデジタル形式で情報を保存できるようにする。
10. Ensure proper scaling
- 印刷する際に、コンテンツが適切にスケーリングされるように調整。
- ページの端にコンテンツが切れないようにし、用紙に最適に収まるようにする。
Ratings and Reviews (Apple Human Interface Guidelines)
1. Make ratings and reviews visible
- ユーザーがアプリの評価やレビューを簡単に確認できるようにする。
- アプリのストアページにおいて、レビューの平均評価や最近のレビューを目立つ位置に表示。
2. Encourage user feedback
- ユーザーがアプリの使用後にレビューを記入しやすくするインターフェースを提供。
- アプリ内でレビューを依頼するタイミングや方法についてガイドラインを遵守。
3. Respond to reviews promptly
- ユーザーのレビューに対して迅速かつ適切に返信する。
- ポジティブなフィードバックには感謝の意を表し、ネガティブなフィードバックには真摯に改善点を述べる。
4. Use a consistent review interface
- ユーザーがレビューを書きやすいインターフェースを提供。
- 文字数制限や評価の方法を統一し、シンプルでわかりやすい操作性を持つインターフェースを設計。
5. Protect user privacy
- ユーザーのプライバシーを尊重し、レビューの内容や評価にアクセスすることを制限。
- ユーザーが匿名でレビューを書くことができるようにし、個人情報の保護を強調。
6. Display ratings accurately
- レビューや評価は正確に表示され、信頼性のある情報を提供する。
- 偽造や誤った評価を防止するためのシステムやガイドラインを導入。
7. Enable filtering of reviews
- ユーザーが自分のニーズに合ったレビューを見つけやすくするため、フィルタリング機能を提供。
- 星評価、レビューの長さ、投稿日などでレビューを絞り込むことが可能。
8. Promote positive reviews
- ポジティブなレビューをアプリの魅力として目立たせ、アピールする。
- 特に新規ユーザーがレビューを見る際に、良い評価が目につくようにする。
9. Encourage constructive feedback
- ユーザーに対して建設的なフィードバックを提供するよう促す。
- 問題の原因や改善案を示し、ユーザーの意見を実際の開発に活かす。
10. Test the review process
- レビューのインターフェースが直感的でスムーズに機能するかをテスト。
- ユーザビリティテストを行い、特に新しいユーザーに対しての評価手順を改善する。
Searching (Apple Human Interface Guidelines)
1. Provide clear search functionality
- 検索機能は直感的でわかりやすく、ユーザーが簡単に目的の情報を見つけられるように設計。
- 検索バーやボタンは目立つ位置に配置し、ユーザーが簡単にアクセスできるようにする。
2. Support incremental search
- インクリメンタルサーチ(入力に合わせてリアルタイムで検索結果を表示)を提供。
- ユーザーが少しずつ文字を入力することで、検索結果が即座に更新されるようにし、効率的に情報を見つけられるようにする。
3. Offer filters and sorting options
- 検索結果を絞り込むためのフィルタや並べ替え機能を提供。
- ユーザーが自分のニーズに合わせて検索結果をカスタマイズできるようにする。
4. Handle misspellings and variations
- スペルミスや入力のバリエーションを考慮して、検索結果を適切に処理。
- ユーザーが誤って入力しても、適切な結果を表示できるようにする。
5. Provide relevant suggestions
- 検索を開始する前に、関連する検索候補や提案を表示。
- ユーザーが迅速に選択肢を選べるよう、予測される検索ワードを提示。
6. Highlight search terms in results
- 検索結果において、検索されたキーワードを強調表示して、ユーザーが目的の情報を見つけやすくする。
- 結果内でキーワードがどこに含まれているかを視覚的にわかりやすく示す。
7. Provide instant feedback
- 検索実行後、即座にフィードバックを表示して、結果が正確に取得されたことを確認できるようにする。
- 検索中に進行状況を示すインジケーター(例: ローディングアイコン)を表示し、遅延を感じさせない。
8. Allow for advanced search options
- 高度な検索オプション(例: 日付、カテゴリー、場所など)を提供して、ユーザーがより細かい条件で検索できるようにする。
9. Ensure search results are accurate and comprehensive
- 検索結果は正確で関連性が高く、ユーザーが求めている情報を漏れなく提供するようにする。
- 検索アルゴリズムの最適化を行い、ユーザーが期待する結果が得られるようにする。
10. Design for ease of input
- ユーザーが検索キーワードを入力しやすいように、キーボードや入力方法に配慮。
- 自動補完や提案機能を活用し、入力を効率的にサポート。
Settings (Apple Human Interface Guidelines)
1. Make settings easily accessible
- 設定画面はユーザーが簡単にアクセスできる場所に配置。
- 例えば、アプリのメイン画面やナビゲーションバーからアクセスできるようにする。
2. Organize settings logically
- 設定項目は論理的に整理し、関連する項目をグループ化してわかりやすく配置。
- ユーザーが目的の設定を直感的に見つけられるようにする。
3. Use standard controls
- 設定画面で使用するインターフェース要素は、iOSやmacOSの標準的なコントロールを使用。
- スイッチ、スライダー、トグルなど、プラットフォームに一致した操作方法を提供。
4. Support dark mode and other system-wide settings
- アプリ内の設定で、システム全体の設定(例: ダークモード、フォントサイズなど)に連携するオプションを提供。
- ユーザーが一貫した体験を得られるようにする。
5. Provide explanations for settings
- 各設定項目について簡潔でわかりやすい説明を提供。
- ユーザーが設定変更がどのように影響するかを理解できるようにする。
6. Allow for customization
- ユーザーがアプリの動作や外観をカスタマイズできるオプションを提供。
- ユーザーが個別のニーズに合わせて設定を変更できるようにする。
7. Maintain consistency with system settings
- アプリの設定画面は、システム設定画面と一貫性を保つように設計。
- iOSやmacOSのデザインガイドラインに沿って、ユーザーに慣れ親しんだ操作感を提供。
8. Minimize the number of settings
- 設定項目は最小限にし、ユーザーにとって必要で重要なオプションのみを提供。
- 不要な設定を減らし、ユーザーが混乱しないようにする。
9. Provide search functionality in settings
- 設定画面内に検索機能を提供し、ユーザーが特定の設定を迅速に見つけられるようにする。
10. Allow for easy resetting of settings
- ユーザーが設定をリセットできるオプションを提供。
- 設定を変更した後でも、元の状態に簡単に戻せるようにする。
Undo and Redo (Apple Human Interface Guidelines)
1. Make undo and redo actions available
- ユーザーが誤って行った操作を簡単に元に戻せるように、Undo(元に戻す)と Redo(やり直し)の機能を提供。
- 通常は、操作を実行した直後にこれらのオプションが有効となる。
2. Provide clear feedback for undo and redo actions
- ユーザーが操作を元に戻したりやり直したりした際に、フィードバックを提供して、アクションが成功したことを確認できるようにする。
- Undo/Redoの状態は視覚的に表示し、次に何をするかを明確に伝える。
3. Enable multiple undo and redo steps
- ユーザーが複数の操作を元に戻したり、再実行したりできるように、複数回のUndo/Redoをサポート。
- アクション履歴を積み重ねて、段階的に操作を戻せるようにする。
4. Allow undo and redo for critical tasks
- 特に重要な作業(例: 文書の作成や画像の編集など)については、UndoとRedoが確実に機能するようにする。
- データを失うリスクを最小限に抑え、ユーザーが操作を修正できる安心感を提供。
5. Use standard UI controls for undo and redo
- UndoとRedoの操作は、標準的なUIコントロール(例えば、ツールバーのボタンやメニュー項目)を使って提供。
- ユーザーが期待する場所や方法でUndo/Redoを実行できるようにする。
6. Make undo and redo intuitive
- UndoとRedoは直感的に使えるようにし、特別な学習がなくても自然に操作できるように設計。
- 通常、Undoは「Command+Z」、Redoは「Command+Shift+Z」など、プラットフォームの慣習に従う。
7. Handle undo and redo in complex workflows
- 複雑な作業フローでもUndoとRedoが正常に動作するように注意深く設計。
- ユーザーが操作を途中で取り消しても、意図しない結果にならないようにする。
8. Avoid unnecessary undo and redo options
- アクションが意味を持たない場合や、取り消しの必要がない場合にUndo/Redoオプションを提供しない。
- ユーザーが不必要な操作を混乱することがないように、選択肢を最小限に保つ。
9. Offer confirmation for irreversible actions
- Undoが効かない不可逆的な操作(例: 削除や保存など)には、事前に確認を促すメッセージやダイアログを表示。
- ユーザーが誤った操作を実行しないように、注意を促す。
Workouts (Apple Human Interface Guidelines)
1. 没入感のあるワークアウト体験を提供
- ユーザーがフィットネスデータ(心拍数、消費カロリー、運動時間など)をリアルタイムで確認できる、魅力的でインタラクティブな体験を提供。
- ビジュアル要素(進捗状況やアニメーション)を使用し、ユーザーのモチベーションを高める。
2. 進捗と成果を強調
- ユーザーの目標達成に向けた進捗を視覚的に表示。成果を称賛するバッジやミッション達成の通知を提供。
- 運動中にリアルタイムでフィードバックを与え、ユーザーが自分のパフォーマンスを調整できるようにサポート。
3. 適切なフィットネスメトリクスの使用
- 歩数、距離、ペース、消費カロリーなど、ユーザーが理解しやすいフィットネスデータを表示。
- ワークアウトの種類やユーザーの好みに合わせて、異なるデータ表示を提供。
4. 複数のワークアウトタイプに対応
- ランニング、サイクリング、スイミングなど、さまざまなワークアウトタイプに対応したプリセットを提供。
- ユーザーがワークアウトのタイプを簡単に切り替えられるようにする。
5. ワークアウト中の使いやすさを重視
- 運動中の操作を最小限にし、シンプルで直感的な操作方法を提供。例えば、ポーズや再開、表示切替など。
- 運動中に片手で操作したり、音声で操作できるように、ユーザーの状況に配慮。
6. HealthKitとの統合
- AppleのHealthKitとシームレスに連携し、ワークアウトデータを保存・共有。
- ユーザーが異なるデバイス(iPhone、Apple Watch)でデータを同期できるようにする。
7. Apple Watchとの統合
- 小さなApple Watchの画面に最適化されたデザインを提供。テキストは大きく、タッチ操作は簡単に。
- ハプティックフィードバックなど、Apple Watchの機能を活用して重要なタイミングで通知。
8. モチベーションとガイダンスを提供
- ユーザーが運動中にモチベーションを保つために、パフォーマンスの進捗に応じた励ましや達成感を提供。
- 音声ガイドや進捗通知を使用して、ユーザーの運動をサポート。
Components
Contact
Charts (Apple Human Interface Guidelines)
1. データの視覚化
- ユーザーがデータを簡単に理解できるように、わかりやすいチャートタイプ(例:棒グラフ、折れ線グラフ、円グラフなど)を使用。
- アプリケーションに適したグラフの種類を選び、目的に応じた情報を明確に伝える。
2. データの構造化
- データセットが大きい場合、スライダーやズーム機能を提供して、ユーザーが特定の部分をより詳細に確認できるようにする。
- グラフに対する明確なラベル付けと軸のマークを行い、データの意味を誤解されないようにする。
3. デザインの整合性
- チャートのデザインは、アプリ全体のデザインと一致させること。特に色やフォント、アイコンなどの要素に一貫性を持たせる。
- グラフのエッジを他の画面要素と整列させ、視覚的な整理を保つ。
4. インタラクティブな要素
- ユーザーがチャート内のデータポイントをタップした際に詳細な情報を表示したり、別のビューに遷移する機能を提供。
- グラフのインタラクションを最小限に抑え、シンプルで直感的に操作できるようにデザイン。
5. アクセシビリティの考慮
- 色覚に配慮した配色を使用し、視覚的な障害を持つユーザーでもデータを正しく理解できるようにする。
- スクリーンリーダーなどを使って、音声でもデータを伝えることができるようにする。
6. アニメーションとフィードバック
- チャートにアニメーションを加え、データが変化する際に視覚的なフィードバックを提供。
- アニメーションは控えめにし、データの理解を妨げないようにする。
7. 複雑なデータの管理
- 複雑なデータセットの場合は、ユーザーが情報を効果的に解釈できるよう、階層化したビューやフィルターを提供。
Image Views - Apple Human Interface Guidelines
1. Use images to enhance the user experience
- 適切な画像を選び、情報を補完または視覚的なインパクトを与えるために使用する。
- 画像はメッセージを強化するためのものであり、混乱や誤解を招くべきではない。
2. Optimize images for display
- ディスプレイの品質や解像度に合わせた最適な画像を使用する。
- 画像は鮮明で、視認性を高める必要がある。
- デバイスの解像度や色の再現性を考慮して調整する。
3. Use consistent image sizes and aspect ratios
- 一貫性を保つために、画像のサイズとアスペクト比を統一する。
- レイアウトの整合性を確保し、UI要素との視覚的なバランスを保つ。
4. Provide a fallback or alternative content
- 画像が表示されない場合に備えて、代替のテキストやプレースホルダーを提供する。
- 特に視覚的な情報が重要な場合、代替手段が必要。
5. Keep images appropriate and relevant
- 画像は文脈に適合し、関連性が高いものであるべき。
- 不適切または無関係な画像を避け、ユーザーが混乱しないようにする。
6. Minimize the use of decorative images
- 単なる装飾的な画像の使用を最小限に抑え、意味のあるコンテンツに焦点を当てる。
- 不要な画像を減らすことで、アプリのパフォーマンスとユーザー体験を向上させる。
7. Use vector-based assets when possible
- 解像度に依存しないベクター形式(例:PDFやSVG)の画像を使用することで、さまざまなディスプレイサイズや解像度に対応可能。
- ラスタライズされた画像(ビットマップ画像)は適切な場面で使用する。
8. Test images across different screen sizes
- 画像が異なるデバイスや画面サイズでどのように表示されるかを確認し、調整する。
- レスポンシブデザインを意識し、すべての環境で一貫した体験を提供する。
9. Use system-provided images where appropriate
- 必要に応じてシステムが提供する標準的なアイコンや画像を使用する。
- 一貫性があり、プラットフォームの期待に沿ったデザインが容易になる。
Text Views - Apple Human Interface Guidelines
1. Use text views to display long-form, editable text
- 長文や編集可能なテキストを表示する際に使用する。
- ユーザーが効率的に読む、編集する、または操作できるデザインを心がける。
2. Support rich text formatting when appropriate
- 必要に応じてリッチテキスト形式(太字、斜体、リストなど)をサポートする。
- フォーマットを提供することで、情報の構造を明確化し、可読性を向上させる。
3. Provide a clear and predictable editing experience
- ユーザーがテキストを編集する際に直感的でスムーズな操作が可能なインターフェイスを提供する。
- 元に戻す、やり直すといった基本的な編集機能をサポートする。
4. Ensure text views behave consistently with the platform
- プラットフォームの標準的な動作と一致するように設計する。
- ユーザーが期待する挙動(カーソルの動き、テキスト選択、スクロールなど)を再現する。
5. Support dynamic type
- 動的タイプ(Dynamic Type)をサポートして、ユーザーのアクセシビリティ設定に対応する。
- テキストサイズを適応させることで、読みやすさと柔軟性を確保する。
6. Enable keyboard and accessory input
- キーボードや入力アクセサリ(例:外部キーボードやカスタムツールバー)を使用できるようにする。
- 快適なテキスト入力体験を提供する。
7. Avoid overwhelming users with too much text
- 一度に表示するテキストの量を適切に調整し、過剰な情報でユーザーを圧倒しないようにする。
- セクション分けやスクロールビューで内容を整理する。
8. Use placeholders to provide guidance
- テキスト入力フィールドにはプレースホルダーを使用し、ユーザーが期待される入力内容を理解しやすくする。
- プレースホルダーは簡潔で具体的な内容を記載する。
9. Test text views under different conditions
- 異なる画面サイズ、デバイス、アクセシビリティ設定(ダークモード、拡大テキストなど)で動作を確認する。
- 一貫性のあるユーザー体験を確保する。
Discussion