Progettazione UX tattile

La mappatura delle costanti HAL-API introdotta nel passaggio 2 dell'elenco di controllo tattile è guidata da 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 aptiche di Android. Consulta Advanced Haptics: quando, cosa e come delle nuove API Haptic per saperne di più su questi principi fondamentali.

Mappatura costante

Figura 1. Mappatura costante HAL-API: modello discreto

Seleziona gli effetti tattili

Per forza tattile ( VibrationEffect )

EFFECT_CLICK è il punto migliore da cui iniziare per determinare la tua forza tattile preferita ( VibrationEffect ): è la mediana tra la sensazione tattile "leggera" di EFFECT_TICK e la sensazione tattile "pesante" di EFFECT_HEAVY_CLICK . Iniziando con EFFECT_CLICK , puoi aumentare o diminuire l'energia concettuale aggiungendo forza con EFFECT_HEAVY_CLICK o diminuire la forza con EFFECT_TICK . Tieni presente che EFFECT_DOUBLE_CLICK fornisce la massima energia concettuale perché viene ripetuto.

Forza tattile

Figura 2. Impostazioni dell'intensità tattile

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 tattili predefinite in HapticFeedbackConstants . Il nome di ciascuna costante si riferisce a casi d'uso specifici come KEYBOARD_PRESS o LONG_PRESS .

Simula eventi reali legati alla pressione di pulsanti

Il feedback tattile tattile degli eventi di input (pulsanti virtuali virtuali) può simulare la pressione dei pulsanti utilizzando entità fisiche (come i pulsanti 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 derivante dalla pressione di un pulsante è superiore a quella del rilascio di un pulsante. Pertanto, il feedback tattile per la pressione dei pulsanti è più forte del feedback tattile per il rilascio dei pulsanti.

Evento Stampa e Comunicati Haptics

Figura 3. Effetti tattili per evento di input binario

Forza tattile: l'opportunità di premere un pulsante

Gli eventi di input con un impegno più breve e leggero sono associati a una sensazione tattile più leggera . Gli eventi di input con un coinvolgimento più lungo e profondo sono associati a una sensazione tattile più forte .

Stampa Affordance Haptics

Figura 4. Effetti tattili in base all'affordance

Simula la texture virtuale nell'evento di input gestuale

L'input basato sui gesti (come lo scorrimento o lo scorrimento) può essere allineato con texture tattili virtuali mentre il dito si muove sullo schermo insieme alle interfacce utente visive, ad esempio, generando feedback tattile ripetuto mentre un dito si muove 24 ore su 24. Interfaccia utente con segno di spunta virtuale Elementi dell'interfaccia utente.

Gli effetti per le texture tattili virtuali sono pensati per essere ripetuti. Ciò spesso rende l'energia percepita superiore all'ampiezza (quando l'effetto viene chiamato senza ripetizione o solo una volta ). Per questo motivo, le costanti tattili progettate per trame tattili virtuali (come CLOCK_TICK o TEXT_HANDLE_MOVE ) devono essere sottili per fornire la sensazione di movimento attraverso segnali ripetuti.

Trama virtuale

Figura 5. Effetti tattili per simulare la texture virtuale

Includi sentimenti

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

Sentimento tattile

Figura 6. Effetti tattili con sentimento

Evitare rumori udibili dovuti a vibrazioni prolungate

Per evitare rumori udibili derivanti da vibrazioni prolungate per l'ottica tattile dell'attenzione, accelerare gradualmente il modello per creare un effetto di accelerazione. Fallo usando createWaveform(long[] timings, int[] amplitudes, int repeat) .

Lunga vibrazione

Figura 7. Effetto di accelerazione delle vibrazioni lunghe