Conception UX haptique

Le mappage des constantes HAL-API introduit dans Mappage des constantes entre HAL et API est basé sur des principes de conception UX fortement recommandés. Les principes de conception UX définissent les bases de la façon, du moment et de ce qu'il faut utiliser lors de l'utilisation des API haptiques Android. Pour en savoir plus sur ces principes fondamentaux, consultez Advanced Haptics: The When, What, and How of New Haptic APIs.

Mappage constant

Figure 1 : Mappage constant HAL-API : modèle discret

Sélectionner des effets haptiques

Par intensité du retour haptique (VibrationEffect)

EFFECT_CLICK est le meilleur point de départ pour déterminer l'intensité haptique de votre choix (VibrationEffect) : il s'agit de la médiane entre les retours haptiques "légers" de EFFECT_TICK et les retours haptiques "forts" de EFFECT_HEAVY_CLICK. En commençant par EFFECT_CLICK, vous pouvez augmenter ou diminuer l'énergie conceptuelle en ajoutant de l'intensité avec EFFECT_HEAVY_CLICK ou en la diminuant avec EFFECT_TICK. N'oubliez pas que EFFECT_DOUBLE_CLICK offre la plus grande énergie conceptuelle, car il est répété.

Intensité du retour haptique

Figure 2. Paramètres d'intensité des vibrations

Par les événements d'entrée et les éléments d'UI (HapticFeedbackConstants)

Si votre objectif est associé à des événements d'entrée spécifiques (comme un appui prolongé ou un balayage) ou à des éléments d'interface utilisateur (comme un clavier), recherchez les constantes haptiques prédéfinies dans HapticFeedbackConstants. Le nom de chaque constante fait référence à des cas d'utilisation spécifiques, comme KEYBOARD_PRESS ou LONG_PRESS.

Simuler des événements de pression sur un bouton dans le monde réel

Le retour haptique tactile des événements d'entrée (boutons virtuels) peut simuler des pressions sur des boutons physiques (tels que des boutons mécaniques).

Événement d'entrée : flux d'interaction par paire

L'événement de clic est conçu pour simuler le comportement d'un bouton mécanique, qui est appuyé puis relâché. L'énergie perçue de l'impulsion mécanique lors de l'appui sur un bouton est supérieure à celle lors du relâchement. Par conséquent, le retour haptique pour les appuis sur les boutons est plus fort que celui pour les relâchements des boutons.

Haptique pour les événements de pression et de relèvement

Figure 3. Effets haptiques par événement d'entrée binaire

Intensité du retour haptique : affordance de l'appui sur un bouton

Les événements d'entrée avec un engagement plus court et plus léger sont associés à des retours haptiques plus légers. Les événements d'entrée avec un engagement plus long et plus profond sont associés à des retours haptiques plus intenses.

Retour haptique pour l'appui

Figure 4. Effets haptiques par affordance

Simuler une texture virtuelle dans un événement d'entrée gestuelle

Les entrées basées sur les gestes (comme le défilement ou le balayage) peuvent être alignées sur des textures haptiques virtuelles lorsque le doigt se déplace sur l'écran avec les interfaces utilisateur visuelles. Par exemple, elles peuvent générer un retour haptique répété lorsqu'un doigt se déplace sur l'interface utilisateur de l'horloge avec des éléments d'interface utilisateur de repères virtuels.

Les effets pour les textures haptiques virtuelles sont censés être répétés. Cela donne souvent l'impression que l'énergie est plus élevée que l'amplitude (lorsque l'effet est appelé sans répétition ou une seule fois). Par conséquent, les constantes haptiques conçues pour les textures haptiques virtuelles (comme CLOCK_TICK ou TEXT_HANDLE_MOVE) doivent être subtiles pour donner la sensation de mouvement grâce à des signaux répétés.

Texture virtuelle

Figure 5. Effets haptiques pour simuler une texture virtuelle

Inclure les sentiments

Pour inclure un sentiment positif ou négatif dans les effets haptiques, appliquez une sensation plus forte au sentiment négatif pour attirer l'attention de l'utilisateur.

Sentiment haptique

Figure 6. Effets haptiques avec sentiment

Éviter le bruit audible d'une longue vibration

Pour éviter le bruit audible d'une longue vibration pour le retour haptique attentionnel, accélérez le motif en douceur pour créer un effet de rampe. Pour ce faire, utilisez createWaveform(long[] timings, int[] amplitudes, int repeat).

Vibration longue

Figure 7. Effet de vibration longue et progressive