Haptik im UX-Design

Die in Konstanten zwischen HAL und API zuordnen eingeführte Zuordnung von HAL-API-Konstanten basiert auf dringend empfohlenen UX-Designprinzipien. Die UX-Designprinzipien definieren die Grundlage dafür, wie, wann und was bei der Verwendung von Android-Haptik-APIs verwendet werden soll. Weitere Informationen zu diesen grundlegenden Prinzipien finden Sie unter Advanced Haptics: The When, What, and How of New Haptic APIs.

Konstantenzuordnung

Abbildung 1. HAL-API-Konstantenzuordnung: Diskretes Modell

Haptische Effekte auswählen

Nach haptischer Stärke (VibrationEffect)

EFFECT_CLICK ist der beste Ausgangspunkt, um die bevorzugte Haptikstärke (VibrationEffect) zu ermitteln. Sie liegt zwischen der leichten Haptik von EFFECT_TICK und der starken Haptik von EFFECT_HEAVY_CLICK. Wenn Sie mit EFFECT_CLICK beginnen, können Sie die konzeptionelle Energie erhöhen oder verringern, indem Sie mit EFFECT_HEAVY_CLICK die Stärke erhöhen oder mit EFFECT_TICK die Stärke verringern. Denken Sie daran, dass EFFECT_DOUBLE_CLICK die höchste konzeptionelle Energie liefert, da es wiederholt wird.

Stärke des haptischen Feedbacks

Abbildung 2: Einstellungen für die Stärke des haptischen Feedbacks

Über Eingabeereignisse und UI-Elemente (HapticFeedbackConstants)

Wenn Ihr Ziel mit bestimmten Eingabeereignissen (z. B. langes Drücken oder Wischen) oder UI-Elementen (z. B. Tastatur) verknüpft ist, finden Sie vordefinierte Haptikkonstanten in HapticFeedbackConstants. Der Name jeder Konstante bezieht sich auf bestimmte Anwendungsfälle wie KEYBOARD_PRESS oder LONG_PRESS.

Tastendruckereignisse aus der Praxis simulieren

Das haptische Feedback bei Berührung von Eingabeereignissen (virtuelle Softkeys) kann das Drücken von Tasten mit physischen Einheiten (z. B. mechanische Hardkeys) simulieren.

Eingabeereignis: Paarweiser Interaktionsablauf

Das Click-Event soll das Verhalten eines mechanischen Buttons simulieren, der zuerst gedrückt und dann losgelassen wird. Die wahrgenommene Energie des mechanischen Impulses beim Drücken einer Taste ist höher als beim Loslassen. Daher ist das haptische Feedback für das Drücken von Tasten stärker als das haptische Feedback für das Loslassen von Tasten.

Haptik bei Drücken und Loslassen von Ereignissen

Abbildung 3: Haptische Effekte nach binärem Eingabeereignis

Haptische Stärke: Der Angebotscharakter des Tastendrucks

Eingabeereignisse mit kürzeren und leichteren Interaktionen sind mit leichteren Haptik-Effekten verbunden. Eingabeereignisse mit längerer und intensiverer Interaktion sind mit stärkeren haptischen Rückmeldungen verbunden.

Haptik für den Angebotscharakter beim Drücken

Abbildung 4: Haptische Effekte nach Affordanz

Virtuelle Textur in Touchgesten-Eingabeereignis simulieren

Gestenbasierte Eingaben (z. B. Wischen oder Scrollen) können mit virtuellen haptischen Texturen synchronisiert werden, während sich der Finger auf dem Display bewegt. Das gilt auch für visuelle Benutzeroberflächen. So kann beispielsweise wiederholtes haptisches Feedback erzeugt werden, während sich ein Finger auf der Uhr-Benutzeroberfläche mit virtuellen Markierungen bewegt.

Effekte für virtuelle haptische Texturen sollen wiederholt werden. Dadurch wird die wahrgenommene Energie oft höher als die Amplitude (wenn der Effekt ohne Wiederholung oder nur einmal genannt wird). Daher müssen haptische Konstanten, die für virtuelle haptische Texturen (z. B. CLOCK_TICK oder TEXT_HANDLE_MOVE) entwickelt wurden, dezent sein, um durch wiederholte Hinweise das Gefühl von Bewegung zu vermitteln.

Virtuelle Textur

Abbildung 5: Haptische Effekte zur Simulation virtueller Texturen

Stimmungen einbeziehen

Wenn Sie positive oder negative Stimmungen in haptische Effekte einbeziehen möchten, wenden Sie bei negativen Stimmungen stärkere Empfindungen an, um die Aufmerksamkeit des Nutzers zu erregen.

Haptisches Sentiment

Abbildung 6. Haptische Effekte mit Sentiment

Vermeiden Sie hörbare Geräusche durch lange Vibrationen.

Um hörbare Geräusche durch lange Vibrationen für aufmerksamkeitsstarke Haptik zu vermeiden, beschleunigen Sie das Muster sanft, um einen Ramp-up-Effekt zu erzielen. Verwenden Sie dazu createWaveform(long[] timings, int[] amplitudes, int repeat).

Lange Vibration

Abbildung 7. Langer Vibrations-Ramp-up-Effekt