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 duran 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 desarrollaron 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 mensajes interactivos para el diario, afirmaciones, imágenes del tablero 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 para los usuarios del widget 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: formación de hábitos constantes que respaldan el bienestar mental a largo plazo.
"Los widgets nos ayudaron a que la app esté más presente en las rutinas diarias de los usuarios, ya que brindan inspiración, recordatorios y reflexiones rápidas directamente en la pantalla principal. Esto aumentó la participación y facilitó que los usuarios mantuvieran la coherencia con sus prácticas de mindfulness". – Divij Gupta
El desafío: Modernizar sin reducir 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.
Solución, parte 1: Migración de XML a Jetpack Glance
Para modernizar sus widgets, el equipo recurrió a Jetpack Glance.
Primero, consultaron la página de diseño de Widgets en Android y los diseños canónicos de widgets 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ó a los desarrolladores pasar de la planificación al lanzamiento en menos de un mes, lo que ahorró aproximadamente el 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 armonicen con el diseño único de la pantalla principal del usuario.
En el siguiente GIF, se muestran dos widgets de Gratitud y el cambio de tamaño adaptable:
Si bien Glance simplificó la IU, el equipo observó que las pruebas en varios lanzadores de OEM también eran fundamentales para garantizar la coherencia del diseño en todos los dispositivos.
El equipo también implementó Vistas previas de widgets generados para que los usuarios puedan ver vistas previas personalizadas. Observaron que probar las vistas previas generadas podría ser lento, ya que las vistas previas tienen un límite de velocidad 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 Gratitud sea de alta calidad y diferenciado.
Solución, parte 2: Promociona 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. Pedir a los usuarios que instalen widgets en un momento contextualmente relevante dentro de la app los ayuda a encontrar sus widgets sin necesidad de usar 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 los receptores de widgets y provocó que se borraran los widgets de las pantallas principales de los usuarios. Usaron marcas de usuarios almacenadas anteriormente para identificar a los usuarios de widgets y activaron otro mensaje de requestPinGlanceAppWidget que 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 nuevo nombre de clase o ubicación del paquete, 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 usuarios activos diarios adoptó los widgets.
Conclusión
Esta historia de Gratitud muestra que los widgets pueden ser herramientas para formar 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 solicitó a los usuarios que agregaran widgets en 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 familiares de Compose y realizar iteraciones en los cambios de la IU mucho más rápido. Muchas de las restricciones de la IU que enfrentamos anteriormente 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 mencionadas en esta publicación, consulta estas guías:
- Descripción general de Jetpack Glance
- Página de diseño de widgets en Android
- Diseños canónicos de widgets
- 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 nuevo widget 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). Gratitud como mediadora del estado de ánimo en los efectos de una intervención de gratitud de 6 semanas sobre el bienestar mental: análisis post hoc de un ensayo controlado aleatorizado. Frente. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
-
Casos de éxitoUltrahuman es una startup de tecnología de la salud para el consumidor que proporciona estadísticas diarias de 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 é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 tokens.
Pavlo Stavytskyi, Rebecca Franks • Lectura de 11 min -
Casos de éxitoWhatsApp es la plataforma de mensajería más grande del mundo y presta servicios a miles de millones de usuarios en todo el mundo. Es la herramienta de comunicación predeterminada para personas de diversas regiones, ya que conecta a los usuarios a través de mensajería privada, confiable y segura.
Niharika Arora, Tracy Agyemang, Mayank Jain • Lectura de 8 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.