Quelle application pour suivre la Coupe du Monde 2018 sans vider la batterie de son smartphone ?

Reading Time: 2 minutes

Vous voulez suivre la Coupe du Monde FIFA 2018 ? Savoir minute par minute si vos pronostics sont exacts ? Et surtout, vous ne voulez pas tomber à court de batterie avant la fin du match !
Nous avons sélectionné pour vous 10 applications qui permettent de suivre en direct le score de matchs.

Continue reading « Quelle application pour suivre la Coupe du Monde 2018 sans vider la batterie de son smartphone ? »

Comment détecter les problèmes d’énergie et de performance de vos applications mobiles avant vos utilisateurs ?

Reading Time: 3 minutes

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.

Pourquoi mesurer la performance avec le CPU est une erreur ?

Reading Time: < 1 minute

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.

Pour plus d’informations, nous vous invitons à lire notre article « Pourquoi devriez-vous mesurer la consommation énergétique de votre logiciel ?« 

Palmarès 2018 des applications de transports urbains

Reading Time: 3 minutes

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 :

{{< button href= »https://get.greenspector.com/palmares-2018-applications-transports-urbains/ » >}}
Télécharger la version complète de l’étude! {{< /button >}}

Méthodologie de l’étude

Nous avons sélectionné 10 applications parmi les 10 plus grandes villes de France :

{{< gsp-image title= » » src= »/assets/img/articles/2018-05-02-palmares-2018-apps-transports-urbains/apps-min.png » >}}

ApplicationVilleVersionTéléchargementsNote Playstore
Lignes d’AzurNice2.0.20.1125100 000+3.4
RATPParis4.4-rc35 000 000+3.4
RTMMarseille3.6.1100 000+3.9
STARRennes1.4.0100 000+3.5
TanNantes5.7.0100 000+3.2
TaMMontpellier1.4.250 000+3.3
TBMBordeaux2017030140803.271100 000+2.8
TCLLyon5.1.2500 000+3.6
TisséoToulouse2.0.3100 000+3.9
TranspoleLille20160822.240100 000+2.8

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.