À l’heure de la digitalisation et de la forte croissance de la mobilité, le développement des applications mobiles est devenu stratégique pour toutes les entreprises.
Il a été beaucoup question avant et pendant cet évènement Viva Technology 2018 de la notion de #TechForGood. L’idée ? Encourager les « géants de la tech » (et les moins géants) à contribuer, via leurs solutions technologiques, à la réalisation de progrès sociétaux ou environnementaux.
En ce qui concerne l’utilisation du réseau en mobilité, le monde des applications se divise en deux catégories : celles qui gardent la batterie chargée, et celles qui creusent. Dans quelle catégorie se trouve votre application ?
Dans cet article, nous vous expliquons les enjeux et les problématiques d’énergie et de performance de vos applications mobiles, et comment les détecter avant vos utilisateurs.
Performance et énergie, critères primordiaux pour les applications mobiles
La performance d’une solution numérique est un critère important pour les utilisateurs. Sans performance, les utilisateurs seront critiques et dans le pire des cas n’utiliseront plus le service. Ce facteur s’est renforcé avec la mobilité, compte-tenu des plateformes moins puissantes et des réseaux avec des caractéristiques inégales. À cela s’est ajoutée la problématique de l’énergie. En effet, il est rare que les plateformes mobiles soient alimentées en continu !
Détection trop tardive des problèmes d’énergie et de performance
Avant l’arrivée des smartphones, le respect d’exigence de performance s’était principalement focalisé via des tests de charge côté serveur. Les équipes ont continué cette démarche en ajoutant quelques tests de performance sur des émulateurs ou sur leurs propres téléphones.
Cette démarche permet de détecter quelques problèmes de performance mais est cependant limitée. D’une part, les connexions réseau et les appareils des équipes de développement sont généralement d’un bon niveau et pas assez représentatifs de ceux des utilisateurs finaux ; d’autre part, la problématique d’énergie n’est jamais prise en compte. En effet, les tests s’effectuent sur des connexions Wi-fi avec fibre optique et un émulateur tournant sur un poste de développeur puissant. Très loin d’une connexion 2G sur un téléphone reconditionné.
Au final, la solution passe le cap des recettes pour la mise en production mais les retours du terrain sont nombreux. On peut anticiper cela avec les outils de Real User Monitoring, cependant le coût d’analyse des problèmes et de correction est élevé (et ne prend pas en compte les problématiques d’énergie).
Détecter les problèmes avant la mise en production
Afin d’améliorer son service numérique mobile, il est donc nécessaire de détecter le maximum de problèmes avant la mise en production. Et c’est possible en appliquant une stratégie de test structurée et ciblée qui sera exécutée sur des téléphones de test.
Il est tout d’abord nécessaire d’identifier les types d’usage principaux de l’application. Il ne faut pas écarter la possibilité de faire des tests sous excuses de la fragmentation de l’usage. Il faut pour cela simplement identifier 2 ou 3 types d’utilisateur : utilisateur avec téléphone dernier cri et connexion 4G, utilisateur en mobilité avec téléphone moyenne gamme, utilisateur en zone blanche avec téléphone reconditionné. Cela permet de mettre en place les plateformes sur lesquelles vous allez tester (ici 3 types de téléphones) ainsi que les connexions (Wi-fi, 3G, 2G).
Ensuite il n’est pas nécessaire de mettre en place des tests qui couvrent 100% de vos fonctionnalités. L’idée est plutôt de contrôler que l’usage principal de l’application répond bien à des critères acceptables de performance et de consommation d’énergie, et cela dans tous les paramètres d’exécutions que vous avez définis (Plateforme et connexion).
La détection avant la mise en production dans GREENSPECTOR
Les utilisateurs de GREENSPECTOR appliquent cette stratégie via l’usage de certaines fonctionnalités :
Tests sur des téléphones réels de différentes générations
Intégration des tests automatisés ou lancement de tests manuels
Modification des moyens de connexion des devices (Wifi, 2G…)
Mesure de la performance et de l’énergie de chaque fonctionnalité de l’application
Au final, avant chaque mise en production (voire plus régulièrement), l’exécution des campagnes de tests ciblés sur des mobiles réels permet de détecter les principales problématiques d’énergie et de performance.
Lors de sa présentation Upscale 2018 en mars dernier, [Brendan Gregg]( http://www.brendangregg.com/), ingénieur senior performance chez Netflix, explique pourquoi le CPU n’est pas une bonne métrique pour mesurer la performance.
Brendan Gregg, Ingénieur performance chez Netflix : « Everyone uses %CPU to measure performance, but everyone is wrong »
C’est l’occasion pour nous de revenir sur ce que nous poussons depuis longtemps : comment mesurer la performance et la consommation de ressource de façon fiable ?
Brendan Gregg explique que le taux CPU peut indiquer des fausses informations. Par exemple, un CPU busy n’indique pas forcément que le CPU est occupé à faire des calculs mais qu’il est en attente d’informations. Il est donc nécessaire d’utiliser des outils plus poussés pour analyser ce qui se passe dans les couches basses du code. Brendan Gregg conclut même que cette problématique va empirer avec l’accélération de la vitesse de processeur.
Nous avons observé ce phénomène par le biais de notre R&D. En effet, un taux CPU élevé ne veut pas nécessairement dire que le CPU est sollicité et inversement un CPU bas pourrait cacher une surconsommation provenant d’une autre cachette.
Le problème est encore plus présent dans la mobilité. En effet, les plateformes actuelles sont hétérogènes : CPU, GPU, Radio, interfaces multiples … Il est donc complexe de suivre la réelle performance de ses plateformes et il est nécessaire d’utiliser des outils de profiling divers et complexes.
Notre approche chez Greenspector est différente, nous proposons d’utiliser l’énergie comme une métrique plus fiable. Tout composant sollicité consomme de l’énergie, suivre la consommation d’énergie va permettre de détecter des sur-consommations de ressources.
L’étude que nous avons menée au sein de GREENSPECTOR reprend les applications des 10 plus grandes villes françaises afin de comparer leurs consommations en énergie et ressources selon des scénarios d’usage fréquents.
Présentation de l’étude
Les applications mobiles de transports urbains font partie des applications les plus téléchargées et les plus utilisées au quotidien. Toutes les grandes villes ont une application éditée par les société de transports urbains.
Ces sociétés ont compris que le développement des applications mobiles permettait d’offrir des services aux voyageurs (horaires, info-trafic, carte des transports, intermodalités), … mais aussi de réduire des coûts par la mise à disposition de service de vente et compostage de billet directement intégré dans l’application de nos téléphones.
Objectif : entretenir un rapport régulier via l’application et prendre sa part de smartphone où les places sont chères entre toutes les applications disponibles. L’enjeu est aussi de rester concurrentiel par rapport à d’autres acteurs privés qui ont développé des applications concurrentes.
Ces applications doivent donc proposer des services de qualité, un accès rapide au service quelques soient les contraintes réseau tout en préservant l’autonomie du smartphone.
Au delà, de ces considérations concurrentielles et du service « public » à rendre dans les meilleurs conditions, les sociétés doivent aussi être exemplaires et penser à l’impact écologique d’un service largement déployé et utilisé. Le poids excessif des données échangées (et leur fréquence) ou de l’application à télécharger (et à mettre à jour) occasionnent des surconsommations réseau et serveurs. Une consommation importante de l’application implique une accélération de l’usure de la batterie (On note une dégradation de 20 % au bout de 500 décharges complètes) et probablement un remplacement prématuré du smartphone. Ces impacts écologiques se traduisent bien sûr par des impacts économiques souvent dilués et chez l’utilisateur et peu pris en compte.
Pour découvrir l’intégralité de l’étude et ses résultats approfondis, téléchargez gratuitement la version complète :
Les mesures des scénarios sont effectuées sur un Nexus 6 grâce à notre GREENSPECTOR FreeRunner Test. Il s’agit d’une application directement installée sur le smartphone et qui permet de réaliser des tests de consommation dans le cadre d’une navigation manuelle. Lors de son lancement, l’application de mesure se met en tâche de fond et la mesure se lance. Nous effectuons alors les actions des différents scénarios. Une fois que la mesure est terminée, l’application revient en avant plan. Les résultats de la mesure sont alors immédiatement disponibles. Pour déterminer l’éco-score des applications, une mesure supplémentaire est effectuée grâce à notre GREENSPECTOR Benchmark Runner. Il s’agit d’une fonctionnalité qui permet de lancer une série de tests automatisés. Ces tests comportent trois parties
Nombre de critères évalués
Eco score global : il indique le niveau d’écoconception de l’application. Il correspond à la moyenne des éco-scores network et client resources. C’est à dire le respect de pratiques «frugales» sur les échanges réseau avec les serveurs et les ressources globales consommées par l’application sur le mobile.
Impact sur l’autonomie du device : Il est calculé sur la base de la vitesse de décharge de la batterie durant le scénario. Il est mesuré grâce à des sondes d’énergie de l’appareil.
Risque de détection de l’application comme consommatrice par le système : Les constructeurs comme Samsung ou Huawei ou les éditeurs comme Android notifient maintenant les utilisateurs sur les applications consommatrices. De plus en plus de constructeurs intègrent des limites de consommation d’énergie dans le temps par les applications, c’est également le cas de Google Android. L’objectif pour ces constructeurs est de ne pas pénalisé le matériel et son autonomie par des applications trop consommatrices. Rappelons que l’autonomie est un critère clé de l’acte d’achat d’un smartphone.
Temps passé : Le temps passé sur les différentes applications, à scénario égal, n’est pas le même (temps de réponse plus ou moins longs, contenus différents etc.). Ici, le temps est un indicateur de la qualité du parcours utilisateur. Un parcours plus rapide pour les usages les plus fréquents provoquera également une consommation moindre et une meilleure qualité du parcours utilisateur.
Les différents scénarios
3 scénarios utilisateurs ont été réalisés :
Consultation des horaires des prochains passages d’une ligne de bus, de tram, ou de métro à un arrêt spécifique
Consultation d’un plan de lignes du centre-ville
Consultation des infos trafic
Résultats
Classement de l’impact des applications sur l’autonomie (mAh)
Pour découvrir l’intégralité de l’étude et ses résultats approfondis, téléchargez gratuitement la version complète :
Si votre application mobile de transports urbains n’apparaît pas dans ce benchmark, n’hésitez pas à nous contacter.
La société GREENSPECTOR remporte le prix « CleanTech Open France » dans la catégorie Digital & IoT
Le CleanTech Open, fondé par Ecosys Group anime l’écosystème français et européen des cleantech pour accélérer la mise en marché et l’industrialisation des solutions contribuant au changement climatique. Chaque année est organisé un concours, destiné aux startups et PME éco-innovantes afin de faire rayonner les meilleures startups françaises dans le domaine des cleantech.
Après avoir présenté le projet de notre solution d’efficience des services numériques en mobilité, dans le cadre d’une demi-finale puis d’une finale à Paris devant un jury composé d’experts techniques et d’investisseurs, le projet de développement intégrant la solution GREENSPECTOR a été déclarée lauréate de cette édition.
Thierry LEBOUCQ, Président de GREENSPECTOR : Notre solution GREENSPECTOR répond à la fois à des enjeux écologiques des entreprises qui développent des services numériques mais aussi et, c’est cela que nous avons mis en lumière, à des enjeux économiques forts. La réduction de la consommation de ressources notamment pour des services en mobilité répond à un gain d’autonomie et de durée de vie des batteries de smartphones : allonger la durée de vie d’un parc mobiles de 1 an représente une économie substantielle pour des flottes de plusieurs milliers de devices. De manière plus globale, une service numérique mobile plus frugal apportera une meilleure réponse en terme de performance d’usage dans des conditions d’environnement contraint (un réseau de moins bonne qualité, un appareil moins puissant, un accès complexe à une ressource électrique). Des entreprises qui éditent des services et contenus Grands publics commencent à se rapprocher de GREENSPECTOR car elles cherchent à s’outiller pour garantir une moindre consommation d’énergie pour que leurs applis ne soient pas notifiées par les fabricants, pour proposer un service performant mais aussi pour des raisons de référencement de leur contenu selon les algorithmes de Google. Ce prix récompense le passage d’un projet de R&D de notre solution, lui aussi déjà récompensé, à la concrétisation de son intérêt sur le marché depuis un peu plus de 2 ans. Il consolide notre positionnement d’un numérique éco-responsable, pour lequel le levier de la « défense écologique », ne doit pas rester le seul enjeu pour les entreprises. Il montre aussi que nous avons franchi un cap et que nous sommes prêts désormais à déployer largement la solution dans des offres partenaires et en mode SaaS.
Ferpection et Greenspector sont deux entreprises françaises qui montent dans le domaine du test d’applications mobiles. Rencontre avec leurs dirigeants, Thibault Geenen (Ferpection) et Thomas Corvaisier (GREENSPECTOR).
Greenspector may use cookies to improve your experience. We are careful to only collect essential information to better understand your use of our website.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.