Dokunma teknolojisi kullanıcı deneyimi tasarımı

HAL ile API arasındaki sabitleri eşleme bölümünde tanıtılan HAL-API sabitleri eşlemesi, kullanıcı deneyimiyle ilgili şiddetle tavsiye edilen tasarım ilkelerine dayanır. UX tasarım ilkeleri, Android dokunsal API'leri kullanılırken ne zaman, nasıl ve neyin kullanılacağının temelini tanımlar. Bu temel ilkeler hakkında daha fazla bilgi edinmek için Advanced Haptics: The When, What, and How of New Haptic APIs (Gelişmiş Dokunsal Geri Bildirim: Yeni Dokunsal Geri Bildirim API'lerinin Ne Zaman, Ne Şekilde ve Nasıl Kullanılacağı) başlıklı makaleyi inceleyin.

Sabit Eşleme

1. şekil. HAL-API sabit eşleme: Ayrık model

Dokunsal efektleri seçme

Dokunsal güce göre (VibrationEffect)

Tercih ettiğiniz dokunsal gücü (VibrationEffect) belirlerken başlamak için en iyi yer EFFECT_CLICK'dır: EFFECT_TICK'ın "hafif" dokunsal gücü ile EFFECT_HEAVY_CLICK'ın "güçlü" dokunsal gücü arasındaki ortancadır. EFFECT_CLICK ile başlayarak EFFECT_HEAVY_CLICK ile güç ekleyip EFFECT_TICK ile gücü azaltarak kavramsal enerjiyi artırabilir veya azaltabilirsiniz. Tekrarlandığı için EFFECT_DOUBLE_CLICK'nın en yüksek kavramsal enerjiyi sağladığını unutmayın.

Dokunsal Geri Bildirim Gücü

Şekil 2. Dokunsal güç ayarları

Giriş etkinliklerine ve kullanıcı arayüzü öğelerine göre (HapticFeedbackConstants)

Hedefiniz belirli giriş etkinlikleriyle (ör. uzun basma veya kaydırma) ya da kullanıcı arayüzü öğeleriyle (ör. klavye) ilişkiliyse HapticFeedbackConstants içinde önceden tanımlanmış dokunsal sabitleri bulun. Her sabitin adı, KEYBOARD_PRESS veya LONG_PRESS gibi belirli kullanım alanlarını ifade eder.

Gerçek hayattaki düğmeye basma etkinliklerini simüle etme

Giriş etkinliklerinin (sanal yumuşak düğmeler) dokunma titreşimli geri bildirimi, fiziksel öğeler (ör. mekanik sert düğmeler) kullanılarak düğmeye basma işlemini simüle edebilir.

Giriş etkinliği: Çiftler halinde etkileşim akışı

Tıklama etkinliği, mekanik bir düğmenin davranışını simüle etmek için tasarlanmıştır. Bu düğme önce basılır, ardından bırakılır. Bir düğmeye basıldığında hissedilen mekanik itki enerjisi, düğme bırakıldığında hissedilenden daha yüksektir. Bu nedenle, düğmeye basma işlemindeki dokunsal geri bildirim, düğmeyi bırakma işlemindeki dokunsal geri bildirimden daha güçlüdür.

Etkinlik Basma ve Bırakma Haptikleri

3.Şekil İkili giriş etkinliğine göre dokunsal efektler

Dokunsal güç: Düğmeye basma olanağı

Daha kısa ve daha az etkileşim içeren giriş etkinlikleri, daha hafif dokunsal geri bildirimlerle ilişkilendirilir. Daha uzun ve derin etkileşim içeren giriş etkinlikleri, daha güçlü dokunsal geri bildirimlerle ilişkilendirilir.

Basma İşlemiyle İlgili Dokunma Teknolojisi

Şekil 4. Haptic effects by affordance

Hareket girişi etkinliğinde sanal dokuyu simüle etme

İşarete dayalı giriş (ör. kaydırma veya ekranı temizleme), parmak ekranda hareket ederken görsel kullanıcı arayüzleriyle birlikte sanal dokunsal dokularla hizalanabilir. Örneğin, parmak sanal onay işareti kullanıcı arayüzü öğeleriyle saat kullanıcı arayüzünde hareket ederken tekrarlanan dokunsal geri bildirim oluşturulabilir.

Sanal dokunsal dokular için efektlerin tekrarlanması amaçlanmıştır. Bu durum, algılanan enerjinin genlikten daha yüksek olmasına neden olur (etki tekrarsız veya yalnızca bir kez olarak adlandırıldığında). Bu nedenle, sanal dokunsal dokular için tasarlanmış dokunsal sabitler (ör. CLOCK_TICK veya TEXT_HANDLE_MOVE), tekrarlanan ipuçlarıyla hareket hissi sağlamak için ince olmalıdır.

Sanal Doku

5.şekil Sanal dokuyu simüle eden dokunsal efektler

Duyguları dahil etme

Dokunsal efektlere olumlu veya olumsuz duygular eklemek için kullanıcının dikkatini çekmek üzere olumsuz duygulara daha güçlü bir his uygulayın.

Dokunsal Duygu

6.şekil Duygu içeren dokunsal efektler

Uzun titreşimden kaynaklanan duyulabilir gürültüyü önleme

Dikkat çekmeye yönelik dokunsal geri bildirimler için uzun titreşimden kaynaklanan duyulabilir gürültüyü önlemek amacıyla, artan bir etki oluşturmak için deseni sorunsuz bir şekilde hızlandırın. Bunu, createWaveform(long[] timings, int[] amplitudes, int repeat) kullanarak yapabilirsiniz.

Uzun Titreşim

Şekil 7. Uzun titreşimli artış efekti