Conception UX haptique

La mise en correspondance des constantes HAL-API introduite à l'étape 2 de la checklist haptique est basée sur des principes de conception UX hautement recommandés. Les principes de conception UX définissent la base de la façon dont, quand et quoi utiliser lorsque vous utilisez les API haptiques Android. Pour en savoir plus sur ces principes fondamentaux, consultez Haptique avancée: quand, quoi et comment utiliser les nouvelles API haptiques.

Mappage constant

Figure 1 : Mappage des constantes 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 "lourds" de EFFECT_HEAVY_CLICK. En commençant par EFFECT_CLICK, vous pouvez augmenter ou diminuer l'énergie conceptuelle en ajoutant de la force avec EFFECT_HEAVY_CLICK ou en diminuant la force avec EFFECT_TICK. N'oubliez pas que EFFECT_DOUBLE_CLICK fournit l'énergie conceptuelle la plus élevée, car elle est répétée.

Intensité du retour haptique

Figure 2. Paramètres de la force haptique

Par événements de saisie et éléments d'interface utilisateur (HapticFeedbackConstants)

Si votre objectif est associé à des événements d'entrée spécifiques (comme un appui long ou un balayage) ou à des éléments d'interface utilisateur (comme le clavier), recherchez des 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 réel

Le retour haptique tactile des événements d'entrée (boutons virtuels) peut simuler des pressions sur les boutons à l'aide d'entités physiques (telles que des boutons physiques 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 relaché. L'énergie perçue de l'impulsion mécanique lors d'une pression sur un bouton est plus élevée que celle d'un relâchement de bouton. Par conséquent, le retour haptique pour les pressions sur les boutons est plus fort que le retour haptique pour les relâchements de boutons.

Haptique de pression et de relâchement d'événement

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

Intensité haptique: affordance de la pression sur un bouton

Les événements d'entrée avec un engagement plus court et plus léger sont associés à des haptiques plus légères. Les événements d'entrée avec un engagement plus long et plus profond sont associés à une haptique plus forte.

Retour haptique de l'affordance

Figure 4. Effets haptiques par affordance

Simuler une texture virtuelle dans un événement de saisie gestuelle

L'entrée gestuelle (comme le balayage ou le défilement) peut être alignée sur des textures haptiques virtuelles lorsque l'utilisateur déplace son doigt sur l'écran, ainsi que sur des UI visuelles. Par exemple, elle peut générer des retours haptiques répétés lorsqu'un doigt se déplace dans l'UI de l'horloge avec des éléments d'UI de coche virtuelle.

Les effets des textures haptiques virtuelles sont destinés à être répétés. Cela rend souvent l'énergie perçue supérieure à 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 via des signaux répétés.

Texture virtuelle

Figure 5. Effets haptiques pour simuler une texture virtuelle

Inclure des 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 émotion

Éviter le bruit audible des vibrations prolongées

Pour éviter le bruit audible des vibrations prolongées pour les haptiques d'attention, accélérez le modèle de manière fluide afin de créer un effet d'augmentation. Pour ce faire, utilisez createWaveform(long[] timings, int[] amplitudes, int repeat).

Vibration longue

Figure 7. Effet de montée progressive des vibrations