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

La asignación de constantes de HAL-API 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 reales de presión de botones

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 en 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

Intensidad táctil: La posibilidad de presionar un botón.

Los eventos de entrada con participación más corta y ligera se asocian con tecnología háptica 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 para asistencia de prensa

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 deben 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 señales repetidas.

Textura virtual

Figura 5: Efectos táctiles para simular textura virtual

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 opinión

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