Josh améliore la fidélisation de ses clients en réduisant de 30 % le temps de démarrage de son application

Josh est une application de vidéos courtes développée en Inde et lancée en août 2020. C'est également l'une des applications de vidéos courtes qui connaît la croissance la plus rapide en Inde, avec plus de 124 millions d'utilisateurs actifs par mois et 60 millions d'utilisateurs actifs par jour.

Optimiser Josh sur une gamme d'appareils (haut, moyen et bas de gamme) et maintenir une expérience standard sur chacun d'eux est une tâche difficile pour tout développeur d'applications. Les développeurs de Josh l'ont compris dès le début. L'amélioration des Android Vitals était une tâche majeure de leurs sprints. L'accent a été mis sur la satisfaction des utilisateurs en améliorant le temps de démarrage et la réactivité de l'application.

La réactivité de l'application et le temps de démarrage étaient également importants, car la vidéo était le principal format avec lequel les utilisateurs interagissaient et qu'ils consommaient sur l'application. Tout problème de diffusion vidéo ou interruption des différentes interactions pouvait rapidement entraîner la perte d'intérêt de l'utilisateur et la fermeture de l'application.

En investissant dans les performances du temps de démarrage de l'application, Josh a amélioré ce temps de 30 % pour l'utilisateur moyen et l'a multiplié par trois pour environ 10 % des utilisateurs sur les appareils anciens et bas de gamme.

Le défi

L'application Josh a connu une croissance rapide pour atteindre plus de 100 millions d'utilisateurs actifs mensuels en moins d'un an. Souvent, dans la course à la publication de fonctionnalités axées sur les produits ou les événements, l'optimisation des applications passe au second plan. Les audits d'applications et les commentaires structurels de Google les ont aidés à identifier ces problèmes dès le début et à trouver des solutions.

Mode opératoire

Lors de la surveillance d'Android Vitals, une opportunité d'améliorer le démarrage de l'application a été identifiée. L'équipe a décidé de donner la priorité à l'amélioration des temps de démarrage à froid, car cela améliorerait automatiquement les temps de démarrage tiède et à chaud.

L'équipe a pu mener une enquête approfondie et identifier les goulots d'étranglement à l'aide de plusieurs traces personnalisées, de systrace, du Profileur Android Studio et de Perfetto. Il était évident que le temps nécessaire à la méthode onCreate de la classe Application et à d'autres méthodes synchrones pouvait être optimisé.

Voici ce que l'équipe a fait plus précisément :

  • Profilé chaque bloc de code qui s'exécute au démarrage de l'application.
  • Analyse des traces système à l'aide d'outils de performances Android tels que Perfetto, Systrace, Dumpsys, etc.
  • L'impact des SDK tiers lors du démarrage de l'application a été étudié et le démarrage automatique de certains SDK tiers a été désactivé.
  • Suppression des anciennes bibliothèques
  • Certains modules ont été différés et exécutés en arrière-plan
  • Réduction de la taille des drawables utilisés sur l'écran de démarrage au démarrage et optimisation pour la taille de l'écran

Tous les éléments ci-dessus ont été soigneusement validés par des tests isolés pour confirmer leur impact positif sur l'application, en simulant des démarrages à froid et en intégrant la nouvelle bibliothèque Jetpack Macrobenchmark.

Résultats

Ces modifications ont non seulement entraîné une amélioration immédiate de toutes les métriques, mais ont également contribué à améliorer l'expérience utilisateur globale et ont permis à l'équipe de développement de Josh d'acquérir de précieuses connaissances.

  • En améliorant les taux de rebond et de rétention, Josh a conservé plus d'un million d'utilisateurs par rapport à la référence. En se concentrant sur ces deux métriques, l'équipe a également amélioré l'engagement global dans l'application.
  • Les notes du Play Store ont montré une tendance positive à la hausse après le lancement de l'application avec des améliorations au démarrage.
  • Le temps de démarrage de l'application a été amélioré de 30 % pour l'utilisateur moyen et a été multiplié par trois pour environ 10 % des utilisateurs sur les appareils anciens et bas de gamme, ce qui a permis d'améliorer considérablement la réactivité de l'application pour ces utilisateurs.

Plus important encore, cet exercice d'amélioration des Android Vitals a rassemblé toute l'équipe, ce qui a renforcé la motivation de l'équipe, en particulier des membres juniors. Cela a confirmé l'importance des Vitals et a même conduit l'équipe à utiliser certains enseignements dans ses autres applications.

"Lorsque les partenaires d'un écosystème se réunissent, l'écosystème se développe ensemble. La puissance des données et de l'analyse est sans précédent. En tant que plate-forme axée sur les créateurs, les contenus et les consommateurs, nous nous sommes toujours efforcés de créer la meilleure expérience utilisateur possible, qui repose en grande partie sur la stabilité de l'application. Josh a connu une croissance accélérée immédiate après son lancement. En travaillant en étroite collaboration avec l'équipe Google Play, nous avons pu identifier et corriger rapidement des problèmes tels que la stabilité et l'optimisation de l'application. Nos efforts avec Google nous ont permis d'améliorer la stabilité, la fidélisation et l'engagement des utilisateurs."

– Shailendra Sharma, vice-président senior en charge des produits et de l'ingénierie, VerSe Innovation.