OkCredit es una app de administración de cuentas de crédito para millones de propietarios de tiendas y sus clientes en India. Con 140 millones de transacciones por mes y más de 50 millones de descargas, solo el año pasado OkCredit registró transacciones por un valor de USD 50, 000 millones en la aplicación.
Teniendo en cuenta la escala en la que operaba OkCredit y los millones de empresas que dependen de su app para administrar sus cuentas, es fundamental que OkCredit garantice una experiencia fluida y sin complicaciones para todos sus usuarios, independientemente del dispositivo que utilicen.
Los usuarios recompensan a las apps que tienen mejor rendimiento con opiniones positivas y calificaciones altas. Una app que tiene problemas de estabilidad o rendimiento suele generar frustración y, lo que es peor, malas calificaciones. Esto convierte a los errores de ANR (Aplicación no responde) en una métrica de rendimiento importante para realizar un seguimiento si quieres deleitar a los usuarios y brindarles una buena experiencia de forma constante.
Las inversiones de OkCredit para mejorar Android vitals, como la reducción de ANR y la mejora del tiempo de inicio de la app, la llevaron a cosechar frutos, en especial en dispositivos de gama baja (que ya tienen recursos limitados). Notaron mejoras en la retención de clientes y en las transacciones de los comercios en la app.
El desafío
Uno de los segmentos clave de OkCredit eran los usuarios de dispositivos de gama baja. Estos dispositivos tienen recursos limitados y la ejecución de tareas impuestas en ellos puede crear fácilmente una experiencia del usuario deficiente. Por ejemplo, un desafío de mantenimiento importante era hacer un seguimiento y agregar instrumentación para los errores de ANR. El objetivo era abordar estos problemas para mejorar la experiencia general del usuario y aumentar las transacciones de los comercios.
¿Qué hicieron?
La reducción de errores de ANR y la mejora de los tiempos de inicio de apps como OkCredit generaron clientes satisfechos y, además, un aumento en las transacciones de comerciante en la app.
La pista más importante para depurar un error de ANR es averiguar qué estaba haciendo el subproceso principal cuando ocurrió el error de ANR. Gracias a los comentarios de Google, OkCredit creó un enfoque estructurado para identificar estos errores de ANR.
- Supervisó el rendimiento con Android vitals y usó informes personalizados en Firebase Crashlytics para obtener información sobre los errores de ANR.
- Se optimizó la inicialización de bibliotecas de terceros desde el inicio de la app, moviéndolas a un subproceso en segundo plano.
- Se usaron herramientas como Systrace y Profiler para identificar ANR en receptores de emisión y servicios. Macrobenchmark en CI también ayudó a evaluar los inicios en frío.
- Con el generador de perfiles de métodos, se identificó que los objetos se cargaban de forma diferida.
- Con perfetto, se identificaron diseños con un alto inflado.
- Se resolvió el error de ANR en preferencias compartidas cambiando todas apply() a commit() en un subproceso en segundo plano.
Las tareas anteriores se validaron para confirmar su impacto comparando métricas o usando herramientas como systrace, CPU Profiler, etcétera.
Los resultados
Más allá de mejorar las métricas y la experiencia del usuario, el equipo de desarrollo de OkCredit obtuvo información que le permitió mejorar su proceso de desarrollo en el futuro.
- En dispositivos de gama baja:
- Se redujo el ANR en un 60%
- El primer día, mejoró en aproximadamente un 22% la retención de clientes de dispositivos de gama baja.
- Las transacciones promedio de cada comercio aumentaron un 30%
- Se mejoró la calificación de la app de 4.3 a 4.6 en Play Store.
- El tiempo de inicio en frío mejoró alrededor de un 70%
- Se observó una mejora del 60 % en los clics del usuario para dibujar el primer fotograma en cualquier pantalla.
Este ejercicio reunió al equipo para crear mejores prácticas y los animó a centrarse en mejorar la experiencia del usuario. El equipo comenzó a usar herramientas como Perfetto y el generador de perfiles de CPU durante el desarrollo para mejorar la comprensión del sistema y tomar decisiones más rápido.
"Centrarnos en reducir los ANR nos ayudó a diferenciarnos, ya que ofrece una experiencia placentera. Esto aumentó la retención y redujo la deserción. Además, debido a la excelencia en ingeniería de los equipos, prácticas como estas tienen una profunda influencia en la cultura de la organización. Esto nos enorgullece como equipo y empresa de establecer nuevas comparativas de rendimiento de apps en la naciente industria de la digitalización de pymes de la India”.
– Gaurav Kunwar (cofundador y director de marketing de OkCredit)