TikTok optimise l'expérience utilisateur avec les outils Android

TikTok, la plate-forme de divertissement axée sur la communauté, permet à plus d'un milliard de personnes du monde entier de découvrir, créer et partager des contenus qu'elles aiment.

Une base d'utilisateurs diversifiée nécessite des conditions de réseau et des spécifications d'appareil variées. Tous les utilisateurs souhaitent bénéficier d'une expérience fluide et réactive dans l'application, quel que soit l'appareil utilisé.

Si TikTok est lent à charger ou si la lecture est bloquée, les utilisateurs seront frustrés et abandonneront complètement l'application. Pour éviter cela, TikTok s'appuie sur la surveillance des données, la comparaison avec des applications similaires et les enquêtes auprès des utilisateurs pour suivre les performances globales de l'application. L'équipe a également adopté des outils de profilage tels que Systrace et Simpleperf pour réduire les à-coups de l'UI, les décalages de lecture et les problèmes de réseau. Cette approche fonctionnait bien, mais l'équipe d'ingénieurs souhaitait aller plus loin et découvrir les facteurs sous-jacents affectant les performances. Elle voulait également élaborer un plan d'optimisation avec des indicateurs de performances quantifiables.

Mode opératoire

L'objectif de TikTok était d'accélérer le démarrage de l'application et d'assurer une lecture et une expérience utilisateur plus fluides. Pour atteindre ces objectifs, l'équipe a utilisé des outils de développement Android pour identifier les points à améliorer et les affiner.

Pour réduire le temps de démarrage de TikTok, l'équipe a refactorisé le framework de démarrage en se basant sur la bibliothèque App Startup de Jetpack.

Pour garantir une interface utilisateur plus fluide, l'équipe a utilisé l'outil d'inspection de la mise en page dans Android Studio afin de simplifier sa hiérarchie des vues et de supprimer le contenu excessif. TikTok a développé une stratégie pour répartir les tâches complexes sur différentes frames afin de garantir des fréquences d'images cohérentes pendant l'exécution de l'application.

La lecture de vidéos est au cœur de l'expérience de l'application TikTok. L'équipe a réutilisé des instances de lecteur et utilisé le préchargement/prerendu pour créer des transitions rapides et fluides entre les vidéos.

Résultats

L'équipe TikTok utilise les outils de performances Android depuis plus d'un an pour suivre, quantifier et optimiser tous ses facteurs de performances. De nombreux indicateurs de performances de l'application ont été considérablement améliorés. Ainsi :

  • Le temps de démarrage de l'application a été réduit de 45 %.
  • Les à-coups et les images abandonnées ou figées dans l'expérience utilisateur ont diminué de 49 %. La première image lors de la lecture d'une vidéo s'affiche désormais 41 % plus rapidement et le décalage vidéo a été réduit de 27 %.

Grâce à une expérience utilisateur améliorée, de plus en plus de personnes utilisent TikTok. La durée des sessions a augmenté et les utilisateurs sont plus susceptibles de rester actifs dans l'application. Le nombre de jours actifs par utilisateur sur 30 jours a ainsi augmenté de 1 %. Les enquêtes auprès des utilisateurs et les notes attribuées à l'application ont également révélé une augmentation significative de la satisfaction globale.

En se concentrant sur l'obtention de l'application Android d'excellence et en ciblant la dernière version de la plate-forme, Android 13, l'équipe améliore en permanence l'expérience utilisateur, ce qui incite davantage de personnes à partager et à consommer du contenu.

Plus de 250 millions d'appareils Android à grand écran sont actuellement utilisés dans le monde. L'équipe se concentre également sur l'augmentation de l'adoption de ces appareils afin d'offrir une expérience TikTok plus immersive aux utilisateurs dans un avenir proche.

Commencer

Pour découvrir comment l'équipe TikTok a optimisé son application en fonction des données de performances et amélioré l'expérience globale à l'aide des outils Android, veuillez lire notre étude de cas technique pour les développeurs.