TikTok, la destination de divertissement axée sur la communauté, rassemble plus d'un milliard de personnes du monde entier pour 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 une expérience d'application fluide et réactive, quel que soit l'appareil qu'ils utilisent.
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 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 saccades de l'UI, les décalages de lecture et les problèmes de réseau. Bien que cette approche ait bien fonctionné, 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.
Comment ont-ils fait ?
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, y compris :
- Le temps de démarrage de l'application a été réduit de 45 %.
- Diminution de 49 % des à-coups, des images abandonnées ou figées dans l'expérience utilisateur : 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 ayant augmenté de 1 %. Les enquêtes auprès des utilisateurs et les notes attribuées aux applications ont également révélé une augmentation significative de la satisfaction globale des utilisateurs.
En se concentrant sur l'obtention de l'excellence des applications Android 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 des appareils à grand écran 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 de l'application à l'aide des outils Android, veuillez lire notre étude de cas technique pour les développeurs.