תרגול הכרת תודה עשוי להפחית את הסימפטומים של דיכאון וחרדה, ולשפר את הבריאות הנפשית ואת שביעות הרצון מהחיים¹. תרגול עקבי של הכרת תודה עשוי להוביל לשיפורים מתמשכים שנמשכים חודשים². אפליקציית המיינדפולנס Gratitude מעודדת עקביות באמצעות יומן מיקרו יומי, הצהרות חיוביות ולוחות חזון. האפליקציה הורדה יותר מ-6 מיליון פעמים, קיבלה 150 אלף דירוגים של 5 כוכבים ונרשמו בה 100 מיליון רשומות ביומן.
המפתחים דיוויג' גופטה ונרנדרה אנג'נה פיתחו ווידג'טים לכל אחד ממסלולי המשתמשים העיקריים באפליקציה שלהם. המטרה שלהם הייתה להגיע למשתמשים ברגעים היומיומיים שלהם בלי לדרוש את התקורה של סשן מלא באפליקציה.
הצוות הציג הנחיות אינטראקטיביות לכתיבת יומן, הצהרות חיוביות, תמונות של לוח חזון ומדדים ישירות במסך הבית של המשתמשים, וכך הקל על הכתיבה היומית ביומן. הצוות דיווח על עלייה של 25% בשימור בקרב משתמשי הווידג'ט ועל כ-1,000 רשומות שבועיות ביומן שנוצרו באמצעות הווידג'ט. העלייה הזו בנאמנות המשתמשים מתורגמת לתוצאות בריאותיות מוחשיות עבור המשתמשים: יצירת הרגלים עקביים שתומכים ברווחה נפשית לטווח ארוך.
"הווידג'טים עזרו לנו להפוך את האפליקציה לחלק משגרת היום של המשתמשים, כי הם מספקים השראה, תזכורות ומחשבות ישירות במסך הבית. השימוש ב-Gemini הגביר את המעורבות של המשתמשים והקל עליהם לשמור על עקביות בתרגול המיינדפולנס שלהם". – דיוויג' גופטה
האתגר: מודרניזציה בלי להפחית את שיעור השמירה
ההשפעה של הווידג'טים הייתה ברורה, אבל ההטמעה המקורית של RemoteViews מבוססת ה-XML של Gratitude יצרה חוב טכני. ככל שמערכת העיצוב של האפליקציה התפתחה לכיוון Material 3, היה קשה יותר ויותר להתאים את הווידג'טים מדור קודם לממשק המשתמש המודרני. כל עדכון חזותי דרש תקורה ידנית של XML ופתרונות עקיפים שביצעו עבודה לא יעילה, מה שהאט את מהירות הפיתוח.
הפתרון חלק 1: מעבר מ-XML ל-Jetpack Glance
כדי לחדש את הווידג'טים, הצוות השתמש ב-Jetpack Glance.
הם קודם התייעצו עם דף העיצוב של הווידג'טים ב-Android ועם פריסות קנוניות של ווידג'טים כדי להבין מהן שיטות מומלצות להצגת מידע במרחב מוגבל.
לאחר מכן הם העבירו את חבילת הווידג'טים שלהם ל-Jetpack Glance. המסגרת ההצהרתית הזו אפשרה למפתחים לעבור משלב התכנון לשלב המסירה בפרק זמן של פחות מחודש, ולחסוך כ-50% מזמן הפיתוח. בנוסף, הם נהנו משני יתרונות נוספים:
- החלפת פריסות XML מגבילות בקוד הצהרתי הקלה על קריאת בסיס הקוד ועל התחזוקה שלו, וצמצמה את המאמץ של המפתחים.
- עם Jetpack Glance, הצוות הצליח להטמיע בקלות רבה יותר צבעים דינמיים, שינוי גודל גמיש ואפשרויות הגדרה מורחבות. התכונות האלה מבטיחות שהווידג'טים ישתלבו עם הפריסה הייחודית של מסך הבית של המשתמש.
קובץ ה-GIF הבא מציג שני ווידג'טים של Gratitude ושינוי גודל דינמי:
ממשק המשתמש של Glance היה פשוט יותר, אבל הצוות ציין שחשוב גם לבצע בדיקות במגוון רחב של לאנצ'רים של יצרני ציוד מקורי (OEM) כדי לוודא שהפריסה עקבית בכל המכשירים.
הצוות גם הטמיע תצוגות מקדימות של ווידג'טים שנוצרו כדי שהמשתמשים יוכלו לראות תצוגות מקדימות מותאמות אישית. הם ציינו שהבדיקה של תצוגות מקדימות שנוצרו יכולה להיות איטית, כי התצוגות המקדימות מוגבלות כדי לחסוך בסוללה. כדי לעקוף את הגבלת קצב יצירת הבקשות לצורך בדיקה, משתמשים בפקודת adb:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
כל המאמצים שלהם הפכו את הווידג'ט Gratitude לאיכותי ולייחודי.
הפתרון, חלק 2: קידום ווידג'טים חדשים באפליקציה
לאחר מכן, המפתחים השתמשו בהצמדת ווידג'טים באפליקציה כדי להגדיל את הסיכוי שהמשתמשים יגלו את הווידג'טים ויתקינו אותם. בקשה מהמשתמשים להתקין ווידג'טים ברגע רלוונטי מבחינת ההקשר בתוך האפליקציה עוזרת להם למצוא את הווידג'טים בלי שהם צריכים לעבור את תהליך בחירת הווידג'טים במערכת. קובץ ה-GIF הבא מציג את הגיליון התחתון של Gratitude שבו אפשר להוסיף ווידג'טים מתוך האפליקציה:
בנוסף, הצוות ביצע רפקטורינג בחבילות של הווידג'טים, מה שגרם לשינוי בנתיבי המקלט של הווידג'טים ולמחיקה של הווידג'טים ממסכי הבית של המשתמשים. הם השתמשו בדגלים של משתמשים שאוחסנו בעבר כדי לזהות משתמשים בווידג'טים, והפעילו עוד הודעת requestPinGlanceAppWidget שבה הוזמנו משתמשים בווידג'טים להשתמש בווידג'טים החדשים והמודרניים.
טיפ למפתחים: כדי לשמור על התקנות הווידג'טים במהלך המעבר מ-RemoteViews ל-Jetpack Glance, צריך לוודא ש-GlanceAppWidgetReceiver משתמש באותו שם מחלקה ובאותה חבילה כמו AppWidgetProvider הקודם במניפסט של Android. אם נדרש שם מחלקה חדש או מיקום חבילה חדש, כדאי לפעול כמו באפליקציית Gratitude ולהשתמש בהצמדה בתוך האפליקציה כדי לעזור למשתמשים לשחזר את הווידג'טים שלהם.
השיטה עובדת, כי 10% מהמשתמשים הפעילים היומיים הכוללים הטמיעו את הווידג'טים.
סיכום
הסיפור הזה על הכרת תודה מראה שאפשר להשתמש בווידג'טים ככלים ליצירת הרגלים. הצוות הטמיע פעולות מהירות שמאפשרות למשתמשים לבצע רפלקציה עצמית ישירות ממסך הבית, וכך שיפר את נאמנות המשתמשים. הם השתמשו ב-Jetpack Glance כדי להקטין את החוב הטכני ולעדכן את הווידג'טים, וביקשו מהמשתמשים להוסיף ווידג'טים לאפליקציה.
"חוויית השימוש שלנו ב-Jetpack Glance הייתה מצוינת. הגישה שמבוססת על כתיבת קוד מרגישה הרבה יותר מודרנית וגמישה, ומתאימה לאופן שבו אנחנו בונים את שאר ממשק המשתמש שלנו היום. הוא מאפשר לנו להציג פריסות של ווידג'טים בצורה טבעית יותר, לעשות שימוש חוזר ברכיבי Compose מוכרים ולבצע שינויים בממשק המשתמש הרבה יותר מהר. הרבה מהמגבלות של ממשק המשתמש שנתקלנו בהן בעבר עם RemoteViews כבר לא רלוונטיות, ולכן היה לנו קל יותר ליצור ווידג'טים שתואמים יותר לעיצוב ולחוויה של האפליקציה שלנו". – Divij Gupta
תחילת העבודה
כדי להתחיל להשתמש ב-Jetpack Glance וללמוד על הטכנולוגיות שמוזכרות בפוסט הזה, אפשר לעיין במדריכים הבאים:
- סקירה כללית של Jetpack Glance
- דף העיצוב של ווידג'טים ב-Android
- פריסות קנוניות של ווידג'טים
- תצוגות מקדימות של ווידג'טים שנוצרו על ידי AI
- רמות האיכות של הווידג'טים
- הצמדת ווידג'טים באפליקציה
- צבעים דינמיים
- שינוי הגודל
- פעילויות ההגדרה
מקרים נוספים לדוגמה של שימוש בווידג'טים:
- אפליקציית אנשי הקשר של Google יצרה ווידג'ט חדש ב-25% מהר יותר באמצעות Jetpack Glance
- חברת SoundCloud משתמשת ב-Jetpack Glance כדי ליצור ווידג'ט של טראקים שאהבתם תוך שבועיים בלבד
1: Diniz, G., Korkes, L., Tristão, L. S., Pelegrini, R., Bellodi, P. L., & Bernardo, W. M. (2023). The effects of gratitude interventions: a systematic review and meta-analysis. einstein (Sao Paulo)., 21, eRW0371. https://doi.org/10.31744/einstein_journal/2023RW0371
2: Bohlmeijer, E., Kraiss, J., Schotanus-Dijkstra, M., & ten Klooster, P. (2022). Gratitude as mood mediates the effects of a 6-weeks gratitude intervention on mental well-being: post hoc analysis of a randomized controlled trial. חזית. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
-
Case StudiesUltrahuman היא סטארט-אפ בתחום טכנולוגיות הבריאות לצרכנים, שמספק למשתמשים תובנות יומיות לגבי הבריאות שלהם על סמך נתונים ביומטריים ממכשירים לבישים של החברה, כמו RING Air ו-M1 Live Continuous Glucose Monitor (CGM).
Amrit Sanjeev, Trevor Johns • משך הקריאה: 2 דקות -
Case Studiesהצוות יצר בסיס קוד של ממשק משתמש מבוסס-AI, שהוא קטן ב-50% מההטמעה המקורית, ובו בזמן השיג קיצור של 35% בזמן הביצוע של סוכן ה-AI, 32% פחות אינטראקציות בין מהנדס לסוכן וחיסכון של 33% בעלות האסימונים.
Pavlo Stavytskyi, Rebecca Franks • משך הקריאה: 11 דקות -
Case Studiesוואטסאפ היא פלטפורמת המסרים הגדולה בעולם, עם מיליארדי משתמשים ברחבי העולם. זהו כלי התקשורת שברירת המחדל שלו היא הצפנה מקצה לקצה, והוא מאפשר לאנשים באזורים שונים לתקשר ביניהם בצורה פרטית, אמינה ומאובטחת.
Niharika Arora, Tracy Agyemang, Mayank Jain • משך הקריאה: 8 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?