Partout dans le monde, les organisations se livrent à une course effrénée pour créer des applications qui atteignent leurs clients là où ils se trouvent — ce qui signifie souvent sur leurs téléphones et tablettes. Les applications mobiles lentes et truffées de bugs frustrent les utilisateurs, voire les poussent vers la concurrence.
Créer des expériences utilisateur exceptionnelles sur une multitude d’appareils et de plateformes mobiles est impératif, mais identifier et résoudre les problèmes de performance peut s’avérer difficile et chronophage. Tester une application avant sa mise à disposition est important, mais les environnements de test ne reproduisent souvent pas les conditions réelles et les régressions de performance peuvent passer inaperçues.
Pour détecter les problèmes de performance les plus frustrants, les équipes de développement mobile doivent examiner ce qui se passe sur les appareils des utilisateurs. Cela nécessite de savoir à quelle vitesse l’application démarre, quelle est la durée des requêtes HTTP, combien d’images sont lentes ou figées, à quelle vitesse les vues se chargent, et bien plus encore.
Bien qu’un certain nombre de métriques soient à prendre en compte, voici les cinq plus importantes que toute équipe mobile devrait suivre pour mieux comprendre les performances d’une application.
1. Utilisateurs et sessions sans plantage
Un plantage est considéré comme une erreur non gérée. Il peut se produire pendant la phase de chargement initiale d’une application ou à tout moment pendant son utilisation. Suivre le pourcentage d’utilisateurs n’ayant subi aucun plantage, ainsi que le nombre de sessions qui ne se sont pas terminées par le plantage de l’application, constitue un indicateur clé de performance (KPI) important pour mesurer la stabilité de l’application.
Le suivi et la comparaison de ces chiffres d’une version à l’autre peuvent également faire apparaître des tendances et fournir de précieuses informations sur la qualité du code.
2. Temps de démarrage à froid et à chaud de l’application
Lorsqu’un utilisateur appuie sur l’icône d’une application, celle-ci doit démarrer rapidement. Les valeurs du temps de démarrage d’une application correspondent au temps écoulé entre le lancement du processus et la fin du rendu de l’activité correspondante à l’écran.
Apple recommande que les applications iOS mettent au maximum 400 ms à afficher la première image. La Google Play Console avertit les développeurs Android lorsque le temps de démarrage d’une application est excessif. Cela inclut les cas où un démarrage à froid (c’est-à-dire lorsqu’une application est lancée pour la première fois ou après un redémarrage ou une mise à jour) prend plus de 5 secondes, ou lorsqu’un démarrage à chaud (une application lancée au moins une fois et partiellement conservée en mémoire) prend plus de 2 secondes.
Quelle que soit la plateforme, il est essentiel qu’une application démarre rapidement, car il s’agit du premier point de contact de l’utilisateur avec une entreprise, et les temps de chargement élevés donnent une mauvaise première impression. Sous iOS, Mac Catalyst, tvOS et Android, les entreprises doivent suivre le temps nécessaire à leur application pour afficher la première image. Ces informations peuvent contribuer à réduire la durée du démarrage de l’application.
3. Images lentes et figées
Une interface utilisateur qui ne répond pas, des saccades dans les animations et autres ralentissements de l’application agacent les utilisateurs et dégradent leur expérience. Deux indicateurs mobiles permettent de mesurer ces problèmes : les images lentes et les images figées.
Un téléphone ou une tablette affiche généralement 60 images par seconde (fps), même si la fréquence d’affichage peut atteindre 120 fps. À 60 fps, si une application met plus de 16,67 ms à afficher une image, celle-ci est considérée comme lente. Les images figées sont des images de l’interface utilisateur dont l’affichage prend plus de 700 ms. Une application qui fonctionne correctement ne devrait connaître aucun de ces problèmes.
4. User Misery
User Misery est une métrique de performance pondérée par les utilisateurs qui permet d’évaluer l’ampleur relative des performances d’une application. Alors que les développeurs peuvent examiner le ratio de différents niveaux de seuils de temps de réponse, User Misery comptabilise le nombre d’utilisateurs uniques frustrés sur la base d’un seuil de temps de réponse satisfaisant multiplié par quatre (ms). User Misery met en évidence les transactions qui ont le plus fort impact sur les utilisateurs.
Résoudre les problèmes de performance mobile
Ces indicateurs mobiles peuvent révéler de précieuses informations sur l’expérience utilisateur et permettre aux développeurs de mieux comprendre l’impact des modifications du code sur leurs applications. La baisse du nombre de sessions ou d’utilisateurs sans plantage, les démarrages à froid et à chaud lents, ainsi que les images lentes ou figées sont autant de signes clés d’une dégradation des performances ; il convient alors d’agir rapidement pour déterminer l’origine des problèmes.
Une méthode efficace pour résoudre les problèmes de performance mobile consiste à utiliser le traçage distribué, défini comme une méthode d’enregistrement des opérations liées de plusieurs services. Généralement, ces opérations sont lancées par des requêtes d’un service à un autre, une « requête » pouvant être une véritable requête HTTP, ou une opération déclenchée par une file de tâches ou un autre mécanisme asynchrone.
Bien qu’il s’agisse d’une technologie standard utilisée pour comprendre ce qui se passe entre les services distribués, elle reste relativement récente pour les applications mobiles. En définitive, les équipes qui cherchent à gérer et à optimiser les performances mobiles obtiendront d’excellents résultats en surveillant les bons indicateurs et en adoptant des techniques de traçage distribué afin de déboguer plus efficacement les applications mobiles.
À propos de l’auteur :
Philipp Hofmann, ingénieur logiciel, Sentry


