תוכן עניינים:
אנדרואיד 6.0 מרשמלו מבחינה טכנית הוא בן כל שבוע. (פחות מכך אם סופרים את תאריך צניחת הקוד, אני משער.) אבל זה כבר במצב של תצוגה מקדימה של מפתחים כבר חודשים, ומפתחים הצליחו להגיש אפליקציות המשתמשות ברמת ה- API החדשה (ובכך בהרשאות החדשות) עבור מעט זמן עכשיו.
אז אם אתה מפעיל את מרשמלו בטלפון Nexus (ואתה באמת צריך להיות), תתחיל להיתקל בתכנית ההרשאות החדשה ככל שהאפליקציות מתעדכנות. אחד המקרים הראשונים שלי לכך היה עם טוויטר. (וקודואים לטוויטר בגלל היותם מהראשונים.)
איך טוויטר עושה את זה …
שקול צילום מסך זה שתראה כשאתה פותח לראשונה את טוויטר. טוויטר רוצה להשתמש במיקומי הנוכחי כדי להתאים אישית את החוויה שלי. בסדר, למה לא. אני אוהב את המיקום שלי, ואני אוהב חוויות טובות יותר. אני ארשה זאת.
ואז ההרשאה החדשה במרשמלו נכנסת פנימה. האם אני רוצה לתת לטוויטר גישה לדבר שאמרתי שאני רוצה לתת לו גישה? כן אני כן. וזו הסיבה שפגעתי ב OK בפעם הראשונה.
העניין הוא שתיבת הדו-שיח הראשונה של טוויטר לא קשורה למעשה לאפשר אישור למיקום שלי. זה פשוט מפעיל את דיאלוג המערכת. אבל זה מנוסח מעט יותר ידידותי מתיבת הדו-שיח להרשאת אנדרואיד.
לשקול:
טוויטר: "טוויטר רוצה להשתמש במיקומך הנוכחי כדי להתאים אישית את החוויה שלך."
אנדרואיד: "לאפשר לטוויטר לגשת למיקום של המכשיר הזה?"
שתי שאלות דומות להרשאה ששואלות את אותה שאלה - אך רק אחת למעשה מאפשרת כל דבר.
הראשון אומר לי מה הוא רוצה לעשות - וחשוב מכך למה הוא רוצה לעשות את זה. האחרון הוא בעיקר אותו סוג של דיבור הרשאה פשוט אך מעורפל שהגענו לתיעוב מאנדרואיד. וזה צריך להיות, אני מניח. אבל כאן הופך האפליקציה המבקשת את ההרשאה - אותה תיבת דו-שיח ראשונה מטוויטר - חשובה עוד יותר. במקום לתת לי מייד את האפשרות "אל תאפשר / אישור", טוויטר צריכה לקחת משפט נוסף כדי לומר לי מה הלאה. "טוויטר רוצה להשתמש במיקומך הנוכחי כדי להתאים אישית את החוויה שלך. אם אתה מגניב עם זה, לחץ על 'אפשר' במסך הבא." או משהו לזה. ואז יש לך הקשר טוב יותר לבקשת ההרשאה, והמשתמש מוכן למה שעולה - וזה לא כל כך חוזר על עצמו.
זה שתי עצירות קשות על המשתמש וזה קשה. אבל זו נקודת כאב חד פעמית. וזה שווה את זה, אני חושב, לגרום לנו לשים לב קצת יותר ליתר ההרשאות שאפליקציות עשויות לדרוש ממנה (זה המונח הטכני). מצד שני, איקונוגרפיה והקשר עשויים להיות שאינך צריך להגיד לי שאתה עומד לבקש רשות למצלמה, מכיוון שרגע הקשתי על סמל המצלמה.
כך מגדיר זאת גוגל:
בנסיבות מסוימות, ייתכן שתרצה לעזור למשתמש להבין מדוע האפליקציה שלך זקוקה להרשאה. לדוגמה, אם משתמש משיק אפליקציית צילום, המשתמש כנראה לא יופתע מכך שהאפליקציה מבקשת אישור להשתמש במצלמה, אך ייתכן שהמשתמש לא יבין מדוע האפליקציה רוצה גישה למיקום או אנשי קשר של המשתמש. לפני שתבקש אישור, עליך לשקול לספק הסבר למשתמש. קחו בחשבון שאינכם רוצים להציף את המשתמש בהסברים; אם תספק יותר מדי הסברים, המשתמש עשוי למצוא את האפליקציה מתסכלת ולהסיר אותה.
איך פייסבוק עושה את זה …
בואו נסתכל איך פייסבוק - אפליקציה אחרת שכבר עודכנה לקבלת ההרשאות החדשות.
אהההה, בקשת ההרשאה הכפולה הנדירה. זה מה שאתה מקבל מפייסבוק כשאתה לוחץ על סמל המצלמה לעדכון סטטוס חדש. אוקיי, רימיתי קצת - אתה מקבל את ההודעה הכפולה הזו אם אתה שולל את הרשאת האחסון בפעם הראשונה, כאשר הוא מנסה לאכלס את התמונות הממוזערות של מה שבגלריה שלך. אבל זה נעשה יפה. פייסבוק אומרת לך מה היא רוצה, ומדוע היא רוצה את זה.
ואז אתה צריך לחזור על עצמך שוב. כן, הייתי רוצה שלפייסבוק תהיה הרשאה לבקש מהטלפון שלי לעשות משהו.
אבל, שוב, זה הכפתור הראשון "אפשר" שיש לי בעיה איתו. זה למעשה לא מאפשר לשום דבר אחר מאשר דיאלוג המערכת לבקש מכם שוב את אותו הדבר בדיוק. ואתה צריך לעשות את זה רק פעם אחת.
איך Hangouts עושה את זה …
הנה דוגמא אחת נוספת, הפעם ב- Google Hangouts. פגיעה בסמלים של המצלמה או הגלריה במהלך שיחה תפעיל רק את דיאלוג המערכת. אין שום בקשה מיותרת לפני זו שמעניקה את ההרשאות. (ושוב, אני טוען שזה בסדר. כשאני לוחץ על אייקון של מצלמה, כבר מקבל הקשר לבקשת רשות המצלמה.)
איפה שאני חושב שגוגל באמת עשתה עבודה נחמדה הייתה עם המסביר מההתחלה הזו לקבלת אישור אנשי הקשר, איזה שטוח הוא הכרחי כדי שהאפליקציה תעבוד בכלל. ראשית כתוב מדוע הוא זקוק לגישה לאנשי הקשר שלך. לחיצה על "הבא" מציגה את בקשת הרשאת המערכת. שזה אומר "הבא" ולא "אפשר" זה מה שבאמת חשוב שם. האחד זורם לשני. ברור שאתה לא רוצה לבצע כל בקשה להרשאה במסך מלא כזה. אבל למשהו חשוב מספיק שיוצג בריצה ראשונה, זה נעשה יפה מאוד.
המעבר להרשאות זמן ריצה הוא גדול וחשוב. אך יתכן וזהו תהליך למידה קטן.
אני מודה כי אני מכין כאן קצת הר מגבעה. אתה צריך לעבור זאת רק בפעם הראשונה עבור אפליקציה. אבל הרשאות חשובות. (ואני חושב שהמעבר להרשאות זמן ריצה טוב.) הסבר על ההרשאות הוא טוב. אפילו ניתן להתעלם מהפסקה הכפולה בשם שגורם לך להסתכל לפני שאתה מזנק. הסבירו את ההרשאה למשתמש, רק אל תגרמו לו לחשוב שהוא כבר אישר זאת פעם אחת, רק כדי לגרום להם לעשות זאת בפועל צעד מאוחר יותר בבקשת המערכת. אני פשוט לא אוהב לחזור על עצמי זה הכל.
וכמו תמיד, אתה חופשי לבטל הרשאות מתי שאתה רוצה. אם תעשה כן, האפליקציה תבקש שוב את רשותך בפעם הבאה שתנסה להשתמש בפונקציונליות זו.
הנקודה היא שיש לנו כמשתמשים משהו חדש להתרגל אליו. אבל כך גם מפתחים אפליקציות.
עדכון: להאזנה טכנית יותר לכל זה - ואגב, אישור שהדרך שבה פייסבוק וטוויטר עושים דברים לא ממש אידיאלי - עיין בפרק 33 בפודקאסט Backstage של Android Developers.