Dankbarkeit kann Symptome von Depressionen und Angstzuständen verringern und die psychische Gesundheit und Lebenszufriedenheit verbessern¹. Regelmäßige Dankbarkeitsübungen können zu nachhaltigen Verbesserungen führen, die Monate anhalten². Die Achtsamkeits-App Gratitude fördert die Konsistenz durch tägliche kurze Tagebucheinträge, Affirmationen und Vision Boards. Die App wurde über 6 Millionen Mal heruntergeladen, hat 150.000 5-Sterne-Bewertungen erhalten und es wurden 100 Millionen Tagebucheinträge erfasst.
Die Entwickler Divij Gupta und Narendra Aanjna haben Widgets für jede der wichtigsten Nutzeraktionen ihrer App entwickelt. Ihr Ziel war es, Nutzer im Alltag zu erreichen, ohne dass sie eine vollständige App-Sitzung durchlaufen müssen.
Das Team hat interaktive Tagebuch-Prompts, Affirmationen, Vision Board-Bilder und Messwerte direkt auf dem Startbildschirm der Nutzer angezeigt und so die Hürde für die tägliche Reflexion gesenkt. Es verzeichnete eine Steigerung der Bindungsrate um 25% bei Widget-Nutzern und etwa 1.000 wöchentliche Tagebucheinträge über Widgets. Diese höhere Nutzerbindung führt zu konkreten gesundheitlichen Vorteilen für die Nutzer: Sie entwickeln Gewohnheiten, die ihr langfristiges psychisches Wohlbefinden fördern.
„Mit Widgets konnten wir die App in den Alltag der Nutzer integrieren, indem wir direkt auf dem Startbildschirm schnelle Inspiration, Erinnerungen und Reflexionen bereitgestellt haben. Das hat das Engagement gesteigert und es den Nutzern erleichtert, ihre Achtsamkeitsübungen regelmäßig durchzuführen.“ – Divij Gupta
Die Herausforderung: Modernisierung ohne Rückgang der Bindungsrate
Die Auswirkungen von Widgets waren zwar deutlich, aber die ursprüngliche XML-basierte RemoteViews-Implementierung von Gratitude führte zu technischen Schulden. Als sich das Designsystem der App in Richtung Material 3 entwickelte, wurde es immer schwieriger, die Legacy-Widgets an die moderne Benutzeroberfläche anzupassen. Jede visuelle Aktualisierung erforderte manuellen XML-Aufwand und umständliche Workarounds, was die Geschwindigkeit der Entwickler verlangsamte.
Die Lösung, Teil 1: Migration von XML zu Jetpack Glance
Um die Widgets zu modernisieren, hat sich das Team für Jetpack Glance entschieden.
Zuerst haben sie die Widgets on Android Designseite und kanonische Widget-Layouts konsultiert, um Best Practices für die Anzeige von Informationen auf begrenztem Raum zu verstehen.
Anschließend haben sie ihre Widget-Suite zu Jetpack Glance migriert. Dieses deklarative Framework ermöglichte es den Entwicklern, in weniger als einem Monat von der Planung zur Auslieferung zu gelangen und etwa 50% der Entwicklungszeit einzusparen. Außerdem ergaben sich zwei weitere Vorteile:
- Durch das Ersetzen restriktiver XML-Layouts durch deklarativen Code wurde die Codebasis leichter lesbar und wartbar und der Aufwand für die Entwickler wurde reduziert.
- Mit Jetpack Glance konnte das Team einfacher dynamische Farben, eine flexible Größenanpassung und erweiterte Konfigurationsoptionen implementieren. Diese Funktionen sorgen dafür, dass die Widgets mit dem individuellen Startbildschirm-Layout des Nutzers harmonieren.
Das folgende GIF zeigt zwei Gratitude-Widgets und die adaptive Größenanpassung:
Glance hat die Benutzeroberfläche zwar vereinfacht, aber das Team stellte fest, dass Tests auf verschiedenen OEM-Launchern ebenfalls unerlässlich waren, um die Layoutkonsistenz auf allen Geräten zu gewährleisten.
Das Team hat auch generierte Widget-Vorschauen implementiert, damit Nutzer personalisierte Vorschauen sehen können. Sie stellten fest, dass das Testen generierter Vorschauen langsam sein kann, da die Vorschauen zur Schonung des Akkus ratenbegrenzt sind. Um die Ratenbegrenzung für Tests zu umgehen, verwenden Sie den folgenden adb-Befehl:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
All diese Bemühungen haben dazu beigetragen, dass das Gratitude-Widget hochwertig und differenziert ist.
Die Lösung, Teil 2: Neue Widgets in der App bewerben
Die Entwickler haben dann das Anpinnen von Widgets in der App verwendet, um die Auffindbarkeit und Installationen von Widgets zu steigern. Wenn Nutzer aufgefordert werden, Widgets zu einem kontextuell relevanten Zeitpunkt in der App zu installieren, können sie ihre Widgets finden, ohne den Widget-Picker des Systems aufrufen zu müssen. Das folgende GIF zeigt das Bottom Sheet von Gratitude zum Hinzufügen von Widgets aus der App heraus:
Das Team hat auch Widget-Pakete umgestaltet, wodurch sich die Pfade der Widget-Empfänger geändert haben und Widgets von den Startbildschirmen der Nutzer gelöscht wurden. Mithilfe zuvor gespeicherter Nutzer-Flags zur Identifizierung von Widget-Nutzern wurde ein weiterer requestPinGlanceAppWidget-Prompt ausgelöst, in dem Widget-Nutzer aufgefordert wurden, die neuen modernisierten Widgets zu verwenden.
Tipp für Entwickler:Wenn Sie Widget-Installationen bei der Migration von RemoteViews zu Jetpack Glance beibehalten möchten, muss Ihr GlanceAppWidgetReceiver im Android-Manifest denselben Klassennamen und dasselbe Paket wie Ihr vorheriger AppWidgetProvider verwenden. Wenn ein neuer Klassenname oder ein neuer Paketpfad erforderlich ist, folgen Sie dem Beispiel von Gratitude und verwenden Sie das Anpinnen in der App, um Nutzern zu helfen, ihre Widgets wiederherzustellen.
Die Strategie funktioniert: 10% der täglichen aktiven Nutzer haben Widgets eingeführt.
Fazit
Diese Gratitude-Fallstudie zeigt, dass Widgets als Tools zur Gewohnheitsbildung dienen können. Durch die Implementierung von Schnellaktionen zur Selbstreflexion direkt vom Startbildschirm aus konnte das Team die Nutzerbindung verbessern. Gratitude hat technische Schulden reduziert und seine Widgets modernisiert, indem es Jetpack Glance eingeführt und Nutzer aufgefordert hat, Widgets in der App hinzuzufügen.
„Unsere Erfahrungen mit Jetpack Glance waren hervorragend. Der Compose-basierte Ansatz fühlt sich viel moderner und flexibler an und entspricht der Art und Weise, wie wir heute den Rest unserer Benutzeroberfläche entwickeln. Wir können Widget-Layouts natürlicher ausdrücken, bekannte Compose-Komponenten wiederverwenden und UI-Änderungen viel schneller durchführen. Viele der UI-Einschränkungen, mit denen wir zuvor bei RemoteViews konfrontiert waren, sind kein Problem mehr. Das hat es uns erleichtert, Widgets zu entwickeln, die besser zum Design und zur Nutzererfahrung unserer App passen.“ – Divij Gupta
Erste Schritte
Informationen zu den ersten Schritten mit Jetpack Glance und zu den in diesem Beitrag erwähnten Technologien finden Sie in diesen Anleitungen:
- Jetpack Glance – Übersicht
- Designseite Widgets on Android
- Kanonische Widget-Layouts
- Generierte Widget-Vorschauen
- Widget-Qualitätsstufen
- Anpinnen von Widgets in der App
- Dynamische Farben
- Größenanpassung
- Konfigurationsaktivitäten
Weitere Fallstudien zu Widgets:
- Die Google Kontakte App hat mit Jetpack Glance ein neues Widget 25% schneller erstellt
- SoundCloud erstellt mit Jetpack Glance in nur 2 Wochen ein Widget für „Gefällt mir“-Songs
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. Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
-
FallstudienUltrahuman ist ein Health-Tech-Startup, das Nutzern täglich Einblicke in ihr Wohlbefinden bietet. Diese basieren auf biometrischen Daten von Wearables des Unternehmens wie dem RING Air und dem M1 Live Continuous Glucose Monitor (CGM).
Amrit Sanjeev, Trevor Johns • Lesezeit: 2 Minuten -
FallstudienDa die meisten Android-Apps Kotlin als Hauptsprache verwenden, hat sich kotlinx.coroutines zum De-facto-Standard für die asynchrone Programmierung entwickelt. Die Bibliothek bietet eine gut durchdachte und strukturierte Möglichkeit, gleichzeitige Abläufe zu verwalten, die nativ in Kotlin ist.
Jonathan Starup, Andrei Shikov • Lesezeit: 7 Minuten -
FallstudienLeistungsregressionen sind bekanntermaßen schwer zu reproduzieren, was sie zu einem großen Engpass für mobile Entwickler macht.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • Lesezeit: 4 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.