Gratitude observó una retención un 25% más alta para los usuarios de widgets
Lectura de 3 min
Practicar la gratitud puede disminuir los síntomas de depresión y ansiedad, y mejorar la salud mental y la satisfacción con la vida¹. La práctica constante de la gratitud puede generar mejoras sostenidas que duren meses². La app de mindfulness Gratitude fomenta la constancia a través de microdiarios, afirmaciones y tableros de visión diarios. La app tiene más de 6 millones de descargas, 150, 000 calificaciones de 5 estrellas y 100 millones de entradas de diario registradas.
Los desarrolladores Divij Gupta y Narendra Aanjna crearon widgets para cada uno de los recorridos del usuario principales de su app. Su objetivo era llegar a los usuarios en sus momentos cotidianos sin requerir la sobrecarga de una sesión de app completa.
Al mostrar instrucciones interactivas para escribir en el diario, afirmaciones, imágenes de tableros de visión y métricas directamente en la pantalla principal del usuario, el equipo redujo la barrera de entrada para la reflexión diaria y registró un aumento del 25% en la retención de los usuarios de widgets y alrededor de 1,000 entradas semanales en el diario desde los widgets. Este aumento en la lealtad de los usuarios se traduce en resultados de salud tangibles para ellos: la formación de hábitos constantes que respaldan el bienestar mental a largo plazo.
“Los widgets nos ayudaron a que la app estuviera más presente en las rutinas diarias de los usuarios, ya que les proporcionaban inspiración, recordatorios y reflexiones rápidas directamente en la pantalla principal. Esto aumentó la participación y facilitó que los usuarios mantuvieran la constancia en sus prácticas de mindfulness". Divij Gupta
El desafío: modernizar sin disminuir la retención
Si bien el impacto de los widgets era claro, la implementación original de RemoteViews basada en XML de Gratitude generó deuda técnica. A medida que el sistema de diseño de la app evolucionó hacia Material 3, los widgets heredados se volvieron cada vez más difíciles de alinear con la IU moderna. Cada actualización visual requería una sobrecarga manual de XML y soluciones alternativas frágiles, lo que ralentizaba la velocidad de los desarrolladores.
Parte 1 de la solución: Migra de XML a Jetpack Glance
Para modernizar sus widgets, el equipo recurrió a Jetpack Glance.
Primero, consultaron la página de diseño Widgets en Android y los diseños de widgets canónicos para comprender las prácticas recomendadas para mostrar información en una cantidad limitada de espacio.
Luego, migraron su paquete de widgets a Jetpack Glance. Este framework declarativo permitió que los desarrolladores pasaran de la planificación al lanzamiento en menos de un mes, lo que ahorró alrededor del 50% del tiempo de desarrollo, y se observaron dos ventajas adicionales:
- Reemplazar los diseños XML restrictivos por código declarativo hizo que la base de código fuera más fácil de leer y mantener, y redujo el esfuerzo de los desarrolladores.
- Jetpack Glance permitió que el equipo implementara con mayor facilidad colores dinámicos, cambios de tamaño flexibles y opciones de configuración expandidas. Estas funciones garantizan que los widgets se adapten al diseño único de la pantalla principal del usuario.
En el siguiente GIF, se muestran dos widgets de Gratitude y el cambio de tamaño adaptable:
Si bien Glance simplificó la IU, el equipo observó que las pruebas en varios launchers de OEM también eran esenciales para garantizar la coherencia del diseño en todos los dispositivos.
El equipo también implementó vistas previas de widgets generadas para que los usuarios puedan ver vistas previas personalizadas. Señalaron que probar las vistas previas generadas podría ser lento, ya que estas tienen un límite de frecuencia para preservar la batería. Para omitir el límite de frecuencia durante las pruebas, usa el siguiente comando de adb:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
Todos sus esfuerzos hicieron que el widget de Gratitude sea de alta calidad y diferenciado.
Segunda parte de la solución: Promociona los widgets nuevos en la app
Luego, los desarrolladores usaron la fijación de widgets en la app para aumentar la visibilidad y las instalaciones de los widgets. Pedirles a los usuarios que instalen widgets en un momento contextualmente relevante dentro de la app los ayuda a encontrar sus widgets sin tener que pasar por el selector de widgets del sistema. En el siguiente GIF, se muestra la hoja inferior de Gratitude para agregar widgets desde la app:
El equipo también refactorizó los paquetes de widgets, lo que cambió las rutas de acceso de los receptores de widgets y provocó que se borraran los widgets de las pantallas principales de los usuarios. Con los indicadores de usuario almacenados anteriormente para identificar a los usuarios de widgets, activaron otro mensaje de requestPinGlanceAppWidget en el que se invitaba a los usuarios de widgets a usar los nuevos widgets modernizados.
Sugerencia para desarrolladores: Para mantener las instalaciones de widgets mientras migras de RemoteViews a Jetpack Glance, asegúrate de que tu GlanceAppWidgetReceiver use el mismo nombre de clase y paquete que tu AppWidgetProvider anterior en el manifiesto de Android. Si se requiere un nombre de clase o una ubicación de paquete nuevos, sigue el ejemplo de Gratitude y usa la fijación en la app para ayudar a los usuarios a restablecer sus widgets.
La estrategia está funcionando, ya que el 10% del total de DAU adoptó los widgets.
Conclusión
Esta historia de Gratitude muestra que los widgets pueden ser herramientas para la formación de hábitos. Al implementar acciones rápidas para la autorreflexión directamente desde la pantalla principal, el equipo mejoró la lealtad de los usuarios. Gratitude redujo la deuda técnica y modernizó sus widgets con la adopción de Jetpack Glance, y les pidió a los usuarios que agregaran widgets dentro de su app.
“Nuestra experiencia con Jetpack Glance ha sido excelente. El enfoque basado en Compose se siente mucho más moderno, flexible y alineado con la forma en que compilamos el resto de nuestra IU hoy en día. Nos permite expresar los diseños de widgets de forma más natural, reutilizar componentes conocidos de Compose y realizar iteraciones en los cambios de la IU mucho más rápido. Muchas de las restricciones de la IU que antes teníamos con RemoteViews ya no son un problema, lo que facilitó la creación de widgets que se adaptan mejor al diseño y la experiencia de nuestra app”. – Divij Gupta
Comenzar
Para comenzar a usar Jetpack Glance y obtener información sobre las tecnologías que se mencionan en esta publicación, consulta estas guías:
- Descripción general de Jetpack Glance
- Página de diseño Widgets en Android
- Diseños de widgets canónicos
- Vistas previas de widgets generados
- Niveles de calidad de los widgets
- Fijación de widgets en la app
- Colores dinámicos
- Cambio de tamaño
- Actividades de configuración
Consulta otros casos de éxito de widgets:
- La app de Contactos de Google creó un widget nuevo un 25% más rápido con Jetpack Glance
- SoundCloud usa Jetpack Glance para compilar el widget de pistas que te gustan en solo 2 semanas
1: Diniz, G., Korkes, L., Tristão, L. S., Pelegrini, R., Bellodi, P. L., y 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., y 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
-
Casos de éxitoUltrahuman es una startup de tecnología de salud para consumidores que proporciona información diaria sobre el bienestar a los usuarios en función de los datos biométricos de los wearables de la empresa, como el RING Air y el medidor continuo de glucosa (CGM) M1 Live.
Amrit Sanjeev, Trevor Johns • Lectura de 2 min -
Casos de éxitoGrab es la superapp líder del sudeste asiático, que ofrece entregas, movilidad y servicios financieros a millones de usuarios en ocho países a través de una sola app.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Lectura de 5 min -
Casos de éxitoEl equipo creó una base de código de IU nativa de IA que es un 50% más pequeña que la implementación original, a la vez que logró una reducción del 35% en el tiempo de ejecución del agente de IA, un 32% menos de intercambios entre ingenieros y agentes, y una reducción del 33% en el costo de los tokens.
Pavlo Stavytskyi, Rebecca Franks • Lectura de 11 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.