עיצוב חוויית המשתמש (Haptics UX)

מיפוי הקבועים של HAL-API שמוצג בשלב 2 ברשימת המשימות של משוב הרטט מבוסס על עקרונות מומלצים מאוד של עיצוב UX. עקרונות עיצוב חוויית המשתמש מגדירים את הבסיס של האופן שבו משתמשים בממשקי API של משוב מגע ב-Android, מתי משתמשים בהם ובמה משתמשים. למידע נוסף על העקרונות הבסיסיים האלה, אפשר לעיין במאמר Advanced Haptics: The When, What, and How of New Haptic APIs.

מיפוי קבוע

איור 1. מיפוי קבוע של HAL-API: מודל בדיד

בחירת אפקטים של משוב מישוש

לפי עוצמת הרטט (VibrationEffect)

EFFECT_CLICK הוא המקום הטוב ביותר להתחיל בו כשמגדירים את עוצמת הרטט המועדפת (VibrationEffect): זהו החציון בין עוצמת הרטט 'חלשה' של EFFECT_TICK לבין עוצמת הרטט 'חזקה' של EFFECT_HEAVY_CLICK. כשמתחילים עם EFFECT_CLICK, אפשר להגדיל או להקטין את האנרגיה המושגית על ידי הוספת עוצמה באמצעות EFFECT_HEAVY_CLICK, או להקטין את העוצמה באמצעות EFFECT_TICK. חשוב לזכור ש-EFFECT_DOUBLE_CLICK מספק את האנרגיה המושגית הגבוהה ביותר כי הוא חוזר על עצמו.

עוצמת המשוב הפיזי

איור 2. הגדרות עוצמת המשוב החזותי

לפי אירועי קלט ורכיבים בממשק המשתמש (HapticFeedbackConstants)

אם היעד משויך לאירועי קלט ספציפיים (כמו לחיצה ארוכה או החלקה) או לרכיבי ממשק משתמש (כמו מקלדת), אפשר למצוא קבועים הקטפטיים מוגדרים מראש בקובץ HapticFeedbackConstants. השם של כל קבוע מתייחס לתרחישי שימוש ספציפיים, כמו KEYBOARD_PRESS או LONG_PRESS.

הדמיה של אירועי לחיצה על לחצן בעולם האמיתי

משוב המגע ההדדי של אירועי קלט (לחצנים וירטואליים רכים) יכול לדמות לחיצות על לחצנים באמצעות ישויות פיזיות (כמו לחצנים קשיחים מכניים).

אירוע קלט: תהליך אינטראקציה בין שני משתמשים

אירוע הקליק נועד לדמות את ההתנהגות של לחצן מכני, שלוחצים עליו ואז משחררים אותו. האנרגיה הנתפסת של הדחף המכני שנוצר מהלחצה על כפתור גבוהה יותר מזו שנוצרת מהשחרור של הכפתור. לכן, המשוב הפיזי של לחיצות על לחצנים חזק יותר מהמשוב הפיזי של שחרור לחצנים.

משוב מישוש (haptic) של לחיצה על אירוע ושחרור שלו

איור 3. אפקטים של משוב מישוש לפי אירוע קלט בינארי

עוצמת המשוב החזותי: התחושה של לחיצה על כפתור

אירועי קלט עם אינטראקציה קצרה וקלה יותר משויכים לחוויית מגע קלה יותר. אירועי קלט עם מעורבות ארוכה ועמוקה יותר משויכים לחוויית מגע חזקה יותר.

משוב פיזי של אפשרות לחיצה

איור 4. אפקטים של משוב מישוש לפי תכונות מובנות

סימולציה של מרקם וירטואלי באירוע של קלט תנועה

קלט מבוסס-תנועה (כמו סריקה או גלילה) יכול להיות מיושר עם מרקמים וירטואליים של משוב מגע בזמן שהאצבע נעה על המסך, יחד עם ממשקי משתמש חזותיים. לדוגמה, אפשר ליצור משוב מגע חוזר בזמן שהאצבע נעה בממשק המשתמש של השעון עם רכיבי ממשק משתמש של סימני וירטואלים.

אפקטים של מרקמים וירטואליים של משוב מישוש מיועדים לחזור על עצמם. לרוב, האנרגיה הנתפסת גבוהה יותר מהאמפליטודה (כשהאפקט מופעל ללא חזרה או רק פעם אחת). לכן, קבועים של משוב מישוש שנועדו למרקמים וירטואליים של משוב מישוש (כמו CLOCK_TICK או TEXT_HANDLE_MOVE) צריכים להיות עדינים כדי לספק תחושה של תנועה באמצעות אותות חוזרים.

Virtual Texture

איור 5. אפקטים של משוב מישוש כדי לדמות מרקם וירטואלי

הכללת רגשות

כדי לכלול סנטימנט חיובי או שלילי באפקטים הלטנטיים, כדאי להשתמש בתחושה חזקה יותר לסנטימנט שלילי כדי למשוך את תשומת ליבו של המשתמש.

משוב פיזי

איור 6. אפקטים של משוב מישוש עם סנטימנט

הימנעות מרעש נשמע מרטט ארוך

כדי להימנע מרעש נשמע מהרטט הארוך של משוב הרטט למשיכת תשומת הלב, כדאי להאיץ את התבנית בצורה חלקה כדי ליצור אפקט של עלייה הדרגתית. אפשר לעשות זאת באמצעות הפקודה createWaveform(long[] timings, int[] amplitudes, int repeat).

רטט ארוך

איור 7. אפקט של עלייה הדרגתית ברטט ארוך