Diseño de UX de tecnología táctil

La asignación de constantes de la API de HAL que se presenta en el paso 2 de la lista de tareas de la tecnología táctil se basa en principios de diseño de UX muy recomendables. Los principios del diseño de UX definen la base de cómo, cuándo y qué usar cuando se usan las APIs de la tecnología táctil de Android. Consulta Advanced Haptics: The When, What, and How of New Haptic APIs para obtener más información sobre estos principios fundamentales.

Asignación constante

Figura 1: Asignación de constantes de HAL a la API: Modelo discreto

Selecciona los efectos táctiles

Por intensidad táctil (VibrationEffect)

EFFECT_CLICK es el mejor lugar para comenzar cuando determinas tu intensidad táctil preferida (VibrationEffect): es la mediana entre la respuesta táctil "ligera" de EFFECT_TICK y la "fuerte" de EFFECT_HEAVY_CLICK. Si comienzas con EFFECT_CLICK, puedes aumentar o disminuir la energía conceptual agregando fuerza con EFFECT_HEAVY_CLICK o disminuyendo la fuerza con EFFECT_TICK. Ten en cuenta que EFFECT_DOUBLE_CLICK ofrece la energía conceptual más alta porque se repite.

Intensidad de la respuesta táctil

Figura 2: Configuración de la intensidad de la respuesta táctil

Por eventos de entrada y elementos de la IU (HapticFeedbackConstants)

Si tu objetivo está asociado con eventos de entrada específicos (como mantener presionado o deslizar) o elementos de la IU (como el teclado), busca constantes táctiles predefinidas en HapticFeedbackConstants. El nombre de cada constante hace referencia a casos de uso específicos, como KEYBOARD_PRESS o LONG_PRESS.

Simula eventos de presión de botones del mundo real

La respuesta táctil táctil de los eventos de entrada (botones virtuales en pantalla) puede simular pulsaciones de botones con entidades físicas (como botones duros mecánicos).

Evento de entrada: Flujo de interacción por pares

El evento de clic está diseñado para simular el comportamiento de un botón mecánico, que se presiona y, luego, se suelta. La energía percibida del impulso mecánico de presionar un botón es mayor que la de soltarlo. Por lo tanto, la respuesta táctil para presionar botones es más fuerte que la respuesta táctil para soltar botones.

Tecnología táctil de presionar y soltar eventos

Figura 3: Efectos táctiles por evento de entrada binario

Fuerza táctil: La indicación visual de presionar un botón

Los eventos de entrada con una participación más corta y ligera se asocian con una tecnología táctil más liviana. Los eventos de entrada con una participación más prolongada y profunda se asocian con una tecnología táctil más potente.

Tecnología táctil de indicaciones visuales de presión

Figura 4: Efectos táctiles por indicación

Cómo simular una textura virtual en el evento de entrada de gestos

La entrada basada en gestos (como el barrido o el desplazamiento) se puede alinear con texturas táctiles virtuales mientras el dedo se mueve en la pantalla junto con IUs visuales, por ejemplo, generando respuestas táctiles repetidas mientras un dedo se mueve por la IU del reloj con elementos de IU de marcas de verificación virtuales.

Los efectos de las texturas táctiles virtuales están diseñados para repetirse. Esto suele hacer que la energía percibida sea mayor que la amplitud (cuando se llama al efecto sin repetición o solo una vez). Debido a esto, las constantes táctiles que están diseñadas para texturas táctiles virtuales (como CLOCK_TICK o TEXT_HANDLE_MOVE) deben ser sutiles para proporcionar la sensación de movimiento a través de indicadores repetidos.

Textura virtual

Figura 5: Efectos táctiles para simular texturas virtuales

Cómo incluir sentimientos

Para incluir una opinión positiva o negativa en los efectos táctiles, aplica una sensación más intensa a la opinión negativa para captar la atención del usuario.

Sentiment táctil

Figura 6: Efectos táctiles con sentimiento

Evita el ruido audible de la vibración prolongada

Para evitar el ruido audible de la vibración prolongada para la tecnología táctil de atención, acelera el patrón de forma suave para crear un efecto de aumento gradual. Para ello, usa createWaveform(long[] timings, int[] amplitudes, int repeat).

Vibración larga

Figura 7: Efecto de aumento gradual de la vibración larga