Desain UX haptic

Pemetaan konstanta HAL-API yang diperkenalkan dalam Memetakan konstanta antara HAL dan API didorong oleh prinsip desain UX yang sangat direkomendasikan. Prinsip desain UX menentukan dasar dari cara, waktu, dan apa yang harus digunakan saat menggunakan Android Haptics API. 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 haptic

Menurut kekuatan haptik (VibrationEffect)

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

Kekuatan Sentuhan

Gambar 2. Setelan kekuatan haptik

Dengan 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 sebelumnya di HapticFeedbackConstants. Nama setiap konstanta mengacu pada kasus penggunaan tertentu seperti KEYBOARD_PRESS, atau LONG_PRESS.

Menyimulasikan peristiwa penekanan tombol di dunia nyata

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

Peristiwa input: Alur interaksi berpasangan

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

Haptik Tekan dan Lepas Acara

Gambar 3. Efek sentuhan berdasarkan peristiwa input biner

Kekuatan haptik: Afordans penekanan tombol

Peristiwa input dengan interaksi yang lebih singkat dan ringan dikaitkan dengan haptik 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 afordans

Menyimulasikan tekstur virtual dalam peristiwa input gestur

Input berbasis gestur (seperti menggeser atau men-scroll) 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 nuansa gerakan melalui isyarat berulang.

Tekstur Virtual

Gambar 5. Efek haptik untuk menyimulasikan tekstur virtual

Sertakan 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 yang terdengar dari getaran panjang

Untuk menghindari derau yang terdengar dari getaran panjang untuk haptik perhatian, percepat pola secara lancar untuk membuat efek peningkatan. Lakukan hal ini dengan menggunakan createWaveform(long[] timings, int[] amplitudes, int repeat).

Getaran Panjang

Gambar 7. Efek peningkatan getaran panjang