Desain UX haptic

Pemetaan konstanta HAL-API yang diperkenalkan dalam Konstanta peta antara HAL dan API didorong oleh prinsip desain UX yang sangat direkomendasikan. Prinsip desain UX menentukan dasar cara, waktu, dan apa yang akan digunakan saat menggunakan API haptik Android. Lihat Haptik Lanjutan: Kapan, Apa, dan Bagaimana API Haptik Baru untuk mempelajari lebih lanjut prinsip dasar ini.

Pemetaan Konstan

Gambar 1. Pemetaan konstanta HAL-API: Model diskret

Memilih efek haptik

Berdasarkan kekuatan haptik (VibrationEffect)

EFFECT_CLICK adalah tempat terbaik untuk memulai saat menentukan kekuatan haptik pilihan Anda (VibrationEffect): ini adalah median antara haptik "ringan" dari EFFECT_TICK dan haptik "berat" dari EFFECT_HEAVY_CLICK. Dengan memulai dari EFFECT_CLICK, Anda dapat meningkatkan atau mengurangi energi konseptual dengan menambahkan kekuatan menggunakan EFFECT_HEAVY_CLICK, atau mengurangi kekuatan dengan EFFECT_TICK. Perlu diingat, EFFECT_DOUBLE_CLICK memberikan energi konseptual tertinggi karena diulang.

Kekuatan Haptik

Gambar 2. Setelan kekuatan haptik

Berdasarkan peristiwa input dan elemen UI (HapticFeedbackConstants)

Jika sasaran Anda terkait dengan peristiwa input tertentu (seperti tekan lama, atau geser), atau elemen UI (seperti keyboard), temukan konstanta haptik yang telah ditentukan dalam HapticFeedbackConstants. Nama setiap konstanta mengacu pada kasus penggunaan tertentu seperti KEYBOARD_PRESS, atau LONG_PRESS.

Menyimulasikan peristiwa penekanan tombol di dunia nyata

Respons haptik sentuhan dari peristiwa input (tombol lunak virtual) dapat menyimulasikan penekanan tombol menggunakan entity fisik (seperti tombol hard mekanis).

Peristiwa input: Alur interaksi berpasangan

Peristiwa klik dirancang untuk menyimulasikan perilaku tombol mekanis, yang ditekan lalu dilepaskan. Energi yang dirasakan dari impuls mekanis dari penekanan tombol lebih tinggi daripada pelepasan tombol. Oleh karena itu, respons haptik untuk penekanan tombol lebih kuat daripada respons haptik untuk pelepasan tombol.

Haptik Tekan dan Lepas Acara

Gambar 3. Efek haptik berdasarkan peristiwa input biner

Kekuatan haptik: Kemampuan penekanan tombol

Peristiwa input dengan engagement yang lebih singkat dan ringan dikaitkan dengan haptik yang lebih ringan. Peristiwa input dengan engagement yang lebih lama dan lebih dalam dikaitkan dengan haptik yang lebih kuat.

Haptik Afordans Tekan

Gambar 4. Efek haptik berdasarkan kemampuan

Menyimulasikan tekstur virtual dalam peristiwa input gestur

Input berbasis gestur (seperti scrubbing atau scrolling) dapat diselaraskan dengan tekstur haptik virtual saat jari bergerak di layar bersama dengan UI visual, misalnya, menghasilkan respons haptik berulang saat jari bergerak di sekitar UI jam dengan elemen UI tanda centang virtual.

Efek untuk tekstur haptik virtual dimaksudkan untuk diulang. Hal ini sering kali membuat energi yang dirasakan lebih tinggi daripada amplitudo (saat efek dipanggil tanpa pengulangan, atau hanya sekali). Oleh karena itu, konstanta haptik yang dirancang untuk tekstur haptik virtual (seperti CLOCK_TICK atau TEXT_HANDLE_MOVE) harus halus untuk memberikan rasa gerakan melalui isyarat berulang.

Tekstur Virtual

Gambar 5. Efek haptik untuk menyimulasikan tekstur virtual

Menyertakan sentimen

Untuk menyertakan sentimen positif atau negatif dalam efek haptik, terapkan sensasi yang lebih kuat pada sentimen negatif untuk mendapatkan perhatian pengguna.

Sentimen Haptik

Gambar 6. Efek haptik dengan sentimen

Menghindari suara bising dari getaran panjang

Untuk menghindari suara bising dari getaran panjang untuk haptik perhatian, percepat pola secara lancar untuk membuat efek ramp-up. Lakukan hal ini dengan menggunakan createWaveform(long[] timings, int[] amplitudes, int repeat).

Getaran Panjang

Gambar 7. Efek ramp-up getaran panjang