עיצוב UX של מגע

מיפוי הקבועים של HAL-API שהוצג במאמר מיפוי קבועים בין HAL ל-API מבוסס על עקרונות מומלצים מאוד של עיצוב חוויית משתמש. עקרונות העיצוב של חוויית המשתמש מגדירים את הבסיס לאופן השימוש בממשקי Android Haptics API, מתי להשתמש בהם ובמה להשתמש. במאמר 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.

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

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

אירוע קלט: זרימת אינטראקציה בזוגות

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

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

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

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

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

משוב פיזי בלחיצה על לחצנים

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

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

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

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

Virtual Texture

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

הכללת סנטימנטים

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

סנטימנט של משוב פיזי

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

איך להימנע מרעש שנשמע בגלל רטט ארוך

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

רטט ארוך

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