iOS 7 crée des milliers de requêtes fantômes sur le web

L. Arnaud |

Dans la liste des nouveautés d'iOS 7 figurait, entre autres, le rafraîchissement automatique des applications en arrière-plan. Sur son blog, David Smith, célèbre podcasteur, relève que ce genre de rafraîchissement crée des milliers de requêtes inutiles sur les serveurs web, si cette problématique n’a pas été étudiée intelligemment par les développeurs.

Des applications comme Facebook ou Twitter, qui fonctionnent sous forme de flux, marchent plutôt bien avec cette nouvelle technique. Cela permet de retrouver des actualités "fraîches" directement à l'ouverture de l'application.

"Tout semble plus rapide, je passe moins de temps à attendre mes données" écrit David Smith. Et cette amélioration se fait au détriment de très nombreuses requêtes web « fantôme », puisque l'application n'est parfois même pas ouverte entre deux mises à jour du contenu.

Ce genre de rafraîchissement inutile engendre un trafic web tout aussi inutile. En plus de cela, une partie du rafraîchissement se fera sur le réseau cellulaire (3G ou 4G). David Smith prend l’exemple de son application météo Check the Weather qui établit une connexion vers une API payante (0,01 $ par requête). Avec le système de mise à jour en tâche de fond, le nombre de requêtes a explosé, comme le montre le graphique. Le développeur a pris alors conscience de ce problème et a rapidement modifié sa stratégie.

Des solutions existent pour stopper, ou du moins diminuer ces "botnets", elles sont à chercher du côté des développeurs (l'utilisateur ne peut pas faire grand-chose si ce n’est couper cette option). Les développeurs doivent rationaliser un maximum l'actualisation en arrière-plan, éviter de mettre une fréquence d'actualisation de plusieurs fois par jour pour une application qui sera utilisée, en moyenne, une fois tous les deux jours.

« Nous construisons des applications qui fonctionnent sur des appareils portables, alimentés par des batteries, qui se connectent à des réseaux sans fil. Chaque watt que nous pouvons sauver doit l'être pour améliorer l'expérience de nos utilisateurs », déclare David Smith, qui donne quelques conseils aux développeurs désireux de revoir leurs pratiques en la matière.

Outre le fait de donner un temps de rafraîchissement raisonnable au système, il préconise aux développeurs d’être honnêtes avec iOS (il est possible de dire au système si le fait d’avoir tourné en tâche de fond a été utile ou non à l’app. Ce qui permet au système de donner la main plus ou moins souvent à une app). D’autre part, il recommande une utilisation intelligente d’Apache (compression et mise en cache) ainsi qu’éventuellement d’utiliser les notifications silencieuses. Il s’agit d’une autre approche assez intéressante. Le serveur envoie une notification push silencieuse à votre terminal. Ce système permet alors de réveiller votre app pour récupérer à coup sûr de nouvelles données.

avatar Guillaumeg33 | 
C'est très intéressant pour le développement intelligent d'application de plus en plus communicantes. Le jailbreak permettait de mettre en place une firewall et on se rendait bien compte déjà que certaine applications se connectait sans aucune raison !!! Maintenant on chercherait plutôt un perfectionnement du firewall "de base" pour mettre sous analyse une application sur 24h, une semaine, un mois et ensuite affiner sa stratégie ("énergétique" également) de communication. Un outil de se calibre serait très utile au développeur pour tester sa création, ainsi qu'en tant qu'utilisateur sur d'ancienne mises à jour qui ne l'intégreraient pas.
avatar an3k | 
Quand on ne connais pas Android.... C'est standard en fait, il faut aller dans le suivi conso où figure la consommation de toutes les applis (on voit d'ailleurs la conso avant-plan / arrière-plan) et d'ici, on peut désactiver la conso en arrière-plan des applis souhaitées avec une simple case à cocher.
avatar privatejohns | 
@Vouzemoi Ha cette fameuse théorie du complot! La maladresse n'est pas un complot.
avatar privatejohns | 
"Nous construisons des applications qui fonctionnent sur des appareils portables, alimentés par des batteries, qui se connectent à des réseaux sans fil. Chaque watt que nous pouvons sauver doit l'être pour améliorer l'expérience de nos utilisateurs " Et si cela servait aussi à sauver un peu la planète? Chaque Watt économisé dans un portable économise au minimum des dizaines de Watts dans les serveurs et les réseaux.
avatar guiz913 | 
C'est le principe même des mode stamina de sony ou l'équivalent Samsung et lg... on peut choisir quelle appli a droit a ses mises à jour en tâche de fond, si le téléphone se connecte tout le temps ou alors uniquement à la demande... des choses que l'on peut faire manuellement sur ios et android (le mec qui dit que l'on peut pas empêcher les mise à jour en tâche de fond sur android n'y connais rien)juste qu'il ont facilité la chose...en espèrent que Google le fasse de base sur android et Apple aussi tiens.

CONNEXION UTILISATEUR