Progettazione UX con tecnologia aptica

La mappatura delle costanti HAL-API introdotta nel passaggio 2 dell'elenco di controllo per l'esperienza tattile è basata su principi di progettazione UX altamente consigliati. I principi di progettazione UX definiscono le basi di come, quando e cosa utilizzare quando si utilizzano le API di tecnologia aptica Android. Consulta Advanced Haptics: The When, What, and How of New Haptic APIs per scoprire di più su questi principi fondamentali.

Mappatura costante

Figura 1. Mappatura delle costanti HAL-API: modello discreto

Selezionare gli effetti aptico

Per intensità aptica (VibrationEffect)

EFFECT_CLICK è il punto di partenza migliore per determinare la forza aptica preferita (VibrationEffect): è la mediana tra la tecnologia aptica "leggera" di EFFECT_TICK e la tecnologia aptica "pesante" di EFFECT_HEAVY_CLICK. Se inizi con EFFECT_CLICK, puoi aumentare o diminuire l'energia concettuale aggiungendo intensità con EFFECT_HEAVY_CLICK o diminuendo l'intensità con EFFECT_TICK. Tieni presente che il EFFECT_DOUBLE_CLICK fornisce la più alta energia concettuale perché si ripete.

Intensità feedback aptico

Figura 2. Impostazioni dell'intensità delle vibrazioni

Per eventi di input ed elementi dell'interfaccia utente (HapticFeedbackConstants)

Se il tuo obiettivo è associato a eventi di input specifici (come pressione prolungata o scorrimento) o elementi dell'interfaccia utente (come la tastiera), trova le costanti aptica predefinite in HapticFeedbackConstants. Il nome di ogni costante si riferisce a casi d'uso specifici, come KEYBOARD_PRESS o LONG_PRESS.

Simulare eventi di pressione dei pulsanti reali

Il feedback aptico tocco degli eventi di input (pulsanti virtuali) può simulare le pressioni dei pulsanti utilizzando entità fisiche (ad esempio pulsanti fisici meccanici).

Evento di input: flusso di interazione a coppie

L'evento click è progettato per simulare il comportamento di un pulsante meccanico, che viene premuto e poi rilasciato. L'energia percepita dell'impulso meccanico di un pulsante premuto è superiore a quella di un pulsante rilasciato. Pertanto, il feedback aptico per le pressioni dei pulsanti è più forte rispetto al feedback aptico per i rilasci dei pulsanti.

Evento di pressione e rilascio della tecnologia aptica

Figura 3. Effetti aptico per evento di input binario

Intensità aptica: l'attrattiva della pressione dei pulsanti

Gli eventi di input con un coinvolgimento più breve e leggero sono associati a una risposta aptica più leggera. Gli eventi di input con un coinvolgimento più lungo e più profondo sono associati a una tecnologia aptica più forte.

Feedback aptico di conferma pressione

Figura 4. Effetti tattili per affordance

Simulare la texture virtuale nell'evento di input dei gesti

L'input basato sui gesti (come la scansione o lo scorrimento) può essere allineato alle texture aptica virtuale mentre il dito si muove sullo schermo insieme alle UI visive, ad esempio generando feedback aptico ripetuto mentre un dito si muove nell'interfaccia utente dell'orologio con elementi di interfaccia utente di segni di spunta virtuali.

Gli effetti delle texture aptiche virtuali devono essere ripetuti. Spesso questo fa sì che l'energia percepita sia superiore all'ampiezza (quando l'effetto viene chiamato senza ripetizione o solo una volta). Per questo motivo, le costanti di aptica progettate per le texture aptica virtuali (come CLOCK_TICK oTEXT_HANDLE_MOVE) devono essere sottili per dare la sensazione di movimento tramite prompt ripetuti.

Virtual Texture

Figura 5. Effetti aptici per simulare texture virtuali

Includi i sentimenti

Per includere un sentimento positivo o negativo negli effetti aptico, applica una sensazione più intensa al sentimento negativo per attirare l'attenzione dell'utente.

Sentiment aptico

Figura 6. Effetti tattili con il sentiment

Evitare rumore udibile dovuto a vibrazioni prolungate

Per evitare il rumore udibile causato da vibrazioni prolungate per l'attenzione tattile, accelera gradualmente il pattern per creare un effetto di aumento graduale. Per farlo, utilizza createWaveform(long[] timings, int[] amplitudes, int repeat).

Vibrazione lunga

Figura 7. Effetto di aumento graduale della vibrazione lunga