モバイル デバイスのハプティクス フィードバックは、控えめの方が効果的です。振動が大きすぎると、通常はユーザーが注意を払って手で持っているデバイスが煩わしく感じられ、手にも麻痺感を覚えることがあります。また、ユーザーが意図したタスクから注意が逸れ、ユーザーがすべてのハプティクスをすぐにオフにする可能性があります。一方、適切に作られたハプティクスは、ユーザーがデバイスをより深く操作できるように、有益な感覚フィードバックを提供するものです。
このページでは、ハプティクスの使用例、ハプティクス エフェクトの分類、アプリの基本的なガイドラインについて説明します。
アプリにハプティクスを追加するユースケース
アプリにハプティクスを組み込む理由は次のとおりです。
注意が必要なイベントをユーザーに通知する。たとえば、着信した電話やテキスト メッセージ、カレンダーに登録されている今後のミーティングなどです。
ユーザー操作後のデバイスの状態変化を確認するため。たとえば、ボタンの押下によるクリック フィードバック、スマートフォンのロック解除、指紋の承認または拒否、カメラの起動などです。
効果でユーザーを楽しませる。このような効果は、進行中のユーザー操作を強化したり、物理的な操作をエミュレートしたりできます。たとえば、スクロール フィードバック、スライダーの位置合わせ、アニメーション、音声、動画、ゲームと同期したハプティクス エフェクトなどがあります。
ハプティクスの分類
ここで説明するハプティクスの原則は、クリア ハプティクス、リッチ ハプティクス、バジー ハプティクスを中心に設計されています。
クリア ハプティクス
クリア ハプティクスとは、ボタンの押下などの個別のイベントに関連する、鮮明でクリーンな感覚を指します。これらの効果は、物理ボタンを押した際の感覚など、対応する現実世界の機械的な動作を模倣することを目的としています。
Android には、VibrationEffect
に明確な触覚効果が事前定義されています。ただし、一般にアプリは、デバイス全体で効果とアクションの整合性を確保するために、HapticFeedbackConstants
のアクション指向定数を使用する必要があります。
アクション指向の定数のもう 1 つの利点は、より複雑なエフェクトがユーザーのデバイスでサポートされていない場合に、プラットフォームがフォールバック動作を提供できることです。
ハプティクス フィードバックのユースケースが広がるにつれて、利用可能なクリア ハプティクスが単調に感じられる場合もあります。その場合は、より表現力豊かな豊かなハプティクスを目指します。
リッチ ハプティクス
豊かな触覚を実現するには、通常、より広い周波数帯域幅を持つ触覚アクチュエータが必要です。これにより、表現力と範囲が向上します。豊かなハプティクスは、さまざまな振幅と間隔で明確なハプティクス プリミティブをシーケンスすることでも生成できます。
豊富な触覚効果の例:
- 蝶が指先で羽ばたいているような「ふわふわ」する感覚
- 指でドラッグまたはスワイプしたときに感じるサーフェスの質感
- ふらつきや不安定さ、重みや反響を感じること
ブザー音のハプティクス
バジー ハプティクスは、ノイズが大きく、鋭く、突き抜けるような振動が特徴で、振動が止まった後も、チクチクするような後遺症が残ります。また、振動が完全に止まる前に、残響音のようなリンという音が鳴ることがあります。
振動の触覚の例としては、次のようなものがあります。
- ジャッキハンマーを操作する
- オートバイに乗る
- モバイル デバイスで、キーを押した後に長時間鳴り続けるバイブレーション
ポケットベルやフィーチャー フォンの時代から、低性能のハプティクス アクチュエーターやドライバを搭載した低価格のスマートフォンでは、通知のために長時間の振動音が鳴る傾向がありました。
ハプティクス設計ガイドライン
設計ガイドラインの概要は次のとおりです。
- 振動ハプティクスよりも、豊かで明確なハプティクスを優先します。
- システムとアプリのデザインの両方で一貫性を持たせる。
- 使用頻度と重要性に注意してください。
事前定義された触覚定数と効果を優先する
アクションが HapticFeedbackConstants
にある事前定義済みのアクションに該当する場合は、その定数を使用します。これにより、一貫したユーザー操作エクスペリエンスを実現できます。これは、ユーザー補助の観点から特に重要です。
独自のエフェクトを作成する場合は、VibrationEffect
の事前定義済みエフェクトと VibrationEffect.Composition
プリミティブの使用を検討してください。サポートされているデバイス間で一貫した品質のエクスペリエンスを提供できます。
イベントの重要度と頻度を強度と関連付ける
触覚効果は、ユーザーを圧倒したり、不必要に使用したりしないでください。
スクロールやテキスト ハンドルの移動など、非常に頻繁に発生するイベントに適用される触覚効果は、全体的なエクスペリエンスを快適にするために非常に微妙にする必要があります。
ページの更新やフォームの送信など、より重要なイベントは、切り替えボタンの変更やリストのスクロールなどよりも強力にする必要があります。
両方の概念を組み合わせて、インタラクションのターゲットに近づくにつれて効果が強くなるエフェクトを作成します。たとえば、ドラッグ、ドロップ、スナップなどのアクションで、連続したティックの振幅を徐々に増やすことができます。
一貫性を保つ
アプリ内でハプティクスの適用に一貫性を持たせます。フォームの送信やアプリ内ナビゲーションなどの特定の操作にハプティクス フィードバックがある場合は、同様の操作すべてに同じ効果が適用されるようにします。これにより、ユーザーは特定のハプティクス フィードバックに意味を関連付けることができます。
また、時間選択ツールや仮想キーボードなど、明確に定義されたインタラクションには同じ HapticFeedbackConstants
を使用して、Android システムと整合性を持たせます。
視覚と音声のエクスペリエンスを触覚と組み合わせて設計する
ハプティクスは、全体的なユーザー エクスペリエンスの一部として検討してください。
視覚効果、音声効果、触覚効果を共同で設計することを強くおすすめします。視覚的なアニメーションや音声パターンと調和または一致するようにします。視覚と聴覚の入力は、知覚されるハプティクスを強化できます。また、適切に設計されたハプティクス効果は、視覚効果と音声効果に物理的な感覚を与えることができます。
逆に、非同期で再生されるハプティクス フィードバックや、視覚効果や音声効果と一致しないハプティクス フィードバックは、ユーザーに不安を与える可能性があります。ハプティクス アクチュエータが故障しているように見える場合があります。
触覚フィードバックに従来のワンショット バイブレーションを使用しないようにする
VibrationEffect.createOneShot
で定義されたものや、API Vibrator.vibrate(long)
と Vibrator.vibrate(long[], int)
で実行されるものなど、従来のワンショット バイブレーションの使用は避けてください。
入力波形の終了後も長時間続く振動は、特に低性能のハプティクス アクチュエーターやドライバを搭載したデバイスで、ブーンという音が聞こえることがあります。
適切なキークリックのハプティクス フィードバック シグナルは、10 ~ 20 ミリ秒続く必要があります。ただし、アクチュエータへの 20 ミリ秒の入力が終了した後、アクチュエータがさらに 20 ~ 50 ミリ秒鳴り続けることがあります。そのため、このタイプのフィードバックでは、単発の振動は使用しないことをおすすめします。