iBeacon : Android gère mieux la batterie qu'iOS

Mickaël Bazoge |

La technologie iBeacon promue par Apple depuis iOS 7 permet d'afficher sur l'écran de l'iPhone des notifications qui s'activent selon la position de l'utilisateur. De plus en plus populaire, iBeacon se retrouve aussi bien dans des Apple Store (aux États-Unis, du moins), que dans des stades ou lors de festivals. Mais elle ne concerne pas que le smartphone d'Apple : dans les faits, les mobiles sous Android équipés d'une puce Bluetooth LE peuvent aussi communiquer avec les balises Beacon; cet aspect multi-plateformes permet des comparaisons très intéressantes, tout particulièrement sur la consommation d'énergie que la technologie implique. Aislelabs a enquêté sur le sujet en mettant aux prises les iPhone 4S, 5c et 5s face au Moto G et aux Nexus 4 et 5.

Le premier enseignement, le plus étonnant étant donné l'implication d'Apple, est que la consommation de la batterie est mieux gérée sous Android que sous iOS. Évidemment, cela varie beaucoup d'un iPhone à un autre, le 4S se montrant ainsi le plus énergivore, tandis que le 5s est le plus économe. Le scénario du premier tableau est le suivant : le smartphone opère un scan toutes les secondes d'une heure, ce qui est extrême — une application standard dans le monde réel scanne les balises beaucoup moins fréquemment. Lorsque l'iPhone 4S repère 10 balises dans les environs, il consomme 14,5% d'énergie en plus, quant le 5s se contente de 7%.

Dans le second scénario, plus tortueux, les iPhone ont été placés dans les parages d'une balise, de 10 balises dont neuf ne communiquent pas avec l'application de test, et de 10 balises à nouveau mais dont chacune est prise en compte par l'application.

Le résultat confirme la première conclusion : l'iPhone 4S est le moins efficace en matière de gestion de la batterie. Les auteurs de l'étude rappellent à toutes fins utiles que les applications iBeacon représentent seulement 1% de la consommation d'énergie d'une batterie sur 12 heures d'usage dans le monde réel.

Au contraire d'Android qui prend en compte tous les beacons situés à proximité, iOS rajoute une subtilité : le système d'exploitation analyse d'abord le numéro d'identification (UIDD) de la borne avant d'autoriser ou non le fonctionnement avec l'application. Cela apporte un gain modeste en matière de consommation énergétique, ce qui est toujours bon à prendre avec l'iPhone (cela démontre aussi le travail d'optimisation de la batterie des ingénieurs d'Apple).

Mais malgré les efforts de la Pomme, les terminaux Android font tous mieux que l'iPhone, et tout particulièrement l'entrée de gamme Moto G. Le tableau suivant montre la consommation d'énergie exigée par la présence de zéro (aucune balise n'est présente autour de l'utilisateur) à dix bornes iBeacon.

Le Moto G utilise une astuce pour afficher de tels résultats. Sur 100 bornes beacon, le Nexus 5 décodera 100% des signaux envoyés par les balises; le smartphone de Motorola se contentera lui de 25 à 33% des signaux. Étant donné que la grande majorité des signaux sont de toutes manières dupliqués (les bornes envoient un signal toutes les 100 à 600 ms), il n'est donc pas forcément utile de les décoder tous. Globalement, la puce Bluetooth LE des appareils Android testés ici réalise un échantillonnage automatique des signaux Beacon, ce qui expliquerait pourquoi la consommation d'énergie est moindre sur l'OS de Google. Mais ces différences restent relativement négligeables quand on en vient à l'utilisation réelle des smartphones.

Un iPhone qui traque les signaux iBeacon en continu (un cas extrême). Remarquez la baisse rapide du niveau de la batterie.

Il y a cependant fort à parier que l'iPhone 6 et les futurs mobiles Android gagneront encore en optimisation avec iBeacon, avec l'apport de nouvelles puces BLE.

Tags
avatar Nesus | 

Oui mais non. Si l'optimisation veut dire ne traiter qu'une partie de l'information, ce n'est pas une optimisation. De même que mettre l'iPhone 4 est ridicule. Tout le monde sait que la puce Bluetooth intégrée est très énergivore.

avatar trolloloI | 

Pourtant le nexus 5 qui "Sur 100 bornes beacon, [...] décodera 100% des signaux envoyés par les balises" fait mieux que le 5s, nan ?

Et si, ne pas traiter 100% des requêtes c'est de l'opti puis qu'dans les 100% t'as beaucoup de copies pas vraiment utile.

Si tu reçois le même jour 2 lettres d'une unique personne avec le même contenu, tu vas lire les 2 dans leur intégralité ou tu vas zapper la seconde une fois que t'as remarquer que c'est une copie de la 1ière ?

avatar JustGeek | 

Et dans votre dernier exemple, l'écran reste continuellement allumé, ce qui peu aussi aider à videra batterie

avatar mansour | 

@Darth Philou :
"Le tableau suivant montre la consommation d'énergie exigée"
Peut importe la capacité de la batterie donc

avatar sachouba | 

L'écran était certainement éteint entre chaque prise de photo, évidemment. Je n'ai jamais vu un iPhone capable de tenir 6h avec l'écran allumé ET en recherche de signal Bluetooth en permanence... Même un Android haut de gamme ne le pourrait pas.

Je crois qu'il s'agit simplement de la jauge de la batterie. Le titre est donc trompeur... Toujours est-il que dans la vraie vie, les gens regardent plus le niveau de leur batterie que le nombre de Wh consommés par leur Bluetooth.

avatar jackhal | 

J'allais le dire : 6h20 avec l'écran allumé, la géolocalisation activée, le bluetooth activé, le wifi-actif (avec une bonne réception) mais aussi... le libellé "No Service" correspond à "Pas de réseau" (sinon c'est No SIM ou l'avion seul, si je ne m'abuse).
C'est pas ce qu'il y a de pire pour la batterie ça, aussi ? Ou bien c'est optimisé par le M7 (genre "si il n'y a pas de réseau et que l'utilisateur ne bouge pas, pas la peine de se forcer à chercher ?")

Bref, c'est ça ne m'étonne pas spécialement que ça baisse rapidement.

Autre chose : une même consommation pour un même service utilisera proportionnellement plus sur un appareil avec une petite batterie que sur un appareil avec une plus grosse batterie :
- un service qui prend 500 sur une batterie de 1500 augmente la consommation de 33%
- un service qui prend 500 sur une batterie de 2300 augmente la consommation de 22%

Donc sur le graph, le 10 beacons sur un Nexus 5 qui prennent proportionnellement quasi autant que sur les 5C/5S montre une implémentation moins optimisée, même si la barre est un peu plus petite.
Pour avoir une idée de l'efficacité de l'implémentation du Nexus 5, il faut augmenter toutes les barres de 50%. Ca reste mieux du coté Android dans tous les autres cas mais ça diminue l'écart, forcément.

Je parle bien de l'efficacité de l'implémentation, pas de l'impact pour l'utilisateur... mais le titre ("Android gère mieux la batterie qu'iOS") fait référence à l'implémentation. Implémentation qui du reste est différente sur le Moto G qui ne fait que le quart ou le tiers du taf des autres, même des Nexus qui sont pourtant eux aussi sous Android.

Au final de quoi on parle, là, au juste ? Des mAh des batteries ? D'Android et iOS alors que le comportement varie d'un Androphone à un autre ? Du fait que l'iPhone consomme assez rapidement sa batterie quand son écran reste allumé et qu'il recherche une accroche réseau dans les pires conditions ?
Euuuh... ???

Ou bien on se focalise sur l'optimisation d'un aspect assez anecdotique puisque "Les auteurs de l'étude rappellent à toutes fins utiles que les applications iBeacon représentent seulement 1% de la consommation d'énergie d'une batterie sur 12 heures d'usage dans le monde réel."

Va savoir ce qu'est "une batterie" ou même l'usage dans le monde réel...

Peut-être que c'est indiqué dans l'étude originale mais il n'y a pas de lien vers la source de l'article.

avatar Mickaël Bazoge | 
Ici : http://www.aislelabs.com/reports/ibeacon-battery-drain-iphones/#935 Je rajoute dans l'article.
avatar jackhal | 

ok merci.

Il y a des choses très troublantes dans les derniers graphs, notamment le fait que les déchargement en baseline sont linéaires et que si on les prolonge, on monte à plus de 100% (à part pour le 4S) SAUF avec les iBeacons actifs pour le 5C.

j'ai toujours eu l'impression que mon iPhone 5 restait bloqué étrangement longtemps à 100% avant de descendre de manière régulière donc l'idée d'un pourcentage max calculé qui démarre à plus de 100% mais dont l'affichage est restreint à 100% ne m'étonne pas.

par contre sur le 5C ça démarre à 100% avec un max d'iBeacons, mais pas avec le 5S ou si on prolonge tout de manière linéaire on arrive à plus de 100% dans tous les cas.

si ces mesures sont exactes, ça signifie que le calcul du niveau de batterie d'Apple est faux, au moins pour les iPhone 5.
.
non seulement il est faux mais en plus il surévalue la consommation des ibeacons des iPhones 5 puisqu'en prolongeant les lignes de manière linéaire, à T=0 seul l'iPhone 4S affiche quelque chose qui a du sens. Pour le 5S, même avec 0 beacon il met 1h avant de descendre sous les 100%.

ce qui signifie que pour le 5C, à t=0, si les beacons sont actifs, le pourcentage de batterie est déjà inférieur avec les beacons que sans.... étrange, non ?

Pour le 5S c'est faux aussi mais au moins ça semble logique : en prolongeant les lignes de manière linéaire elles semblent avoir la même origine à t=0

quoiqu'il en soit les pentes sont intéressantes. il semblerait que :
- la consommation pour 7/10 beacons a énormément diminué entre le 4S et les 5C/5S (le nombre de beacons a beaucoup moins d'impact qu'avant - comme on pouvait déjà le voir avec le diagramme en barre dans l'article)
- le 5S consomme plus d'énergie que le 5C (du moins sur ces graphs) même sans beacons. C'est le cas ? Il a vraiment une autonomie inférieure malgré une plus grosse batterie ?

En tout cas c'est bien compliqué de tirer des conclusions sans avoir tout le protocole de test voir même des tests supplémentaires. Et je ne parle là que d'iOS...

avatar jackhal | 

je m'en rend bien compte en me relisant, je ne suis pas clair.

pour faire simple : regardez les deniers graphs de la source, prolongez tout en faisant des droites :
- soit tout se coupe à t=0 mais avec une capacité de batterie > 100%,
- soit ça se recoupe à t < 0 (!) et une capacité > 100%.
- soit tout est logique (4S)

Il y a un problème dans le calcul de la batterie des iPhones 5 de la part d'Apple ou dans les mesures d'Aislelabs, c'est certain...

avatar Maliik | 

@jackhal :
Le symbole "localisation" dans la bar haute de l'iPhone n'utilise en aucun cas la puce GPS.
C'est simple que l'API iBeacon est dans le core de localisation (pour localisation indoor) qui utilise par exemple également la boussole qui est aussi dans le core de localisation.

;)

avatar jackhal | 

Ah tiens, oui ! (je t'avouerais que j'ai vérifié quand même tant ça me semblait bizarre).
Je pensais que c'était une indication pour l'utilisateur concernant quelque chose concernant la géolocalisation qui peut relever de la vie privée mais comme tu l'écrivais, ça s'active même pour la boussole.
C'est bizarre, comme choix. C'est tellement généraliste que même l'accéléromètre devrait afficher cette icône, à la limite. :-)

avatar alloquebec | 

J'adore mon 5s mais je suis forcé de constater que Apple prend du retard... Surtout si l'on vie ailleurs qu'au Canada,USA,Chine ou autres EU ... Les balises et le nombre de supports Bluetooth et de réseau wifi dans les pays émergeant sont partout ... ... Kill beaucoup plus rapidement mon iPhone que les androïdes de mes amis indiens à 150$ le phone... Bref en Inde ... Chère iPhone ... Je t'adore mais ... Vite augmente ta pile car j'ai maintenant un MI pour survivre une journée !

avatar Toto-2403 | 

@alloquebec

+1

avatar harzack86 | 

eh ben sur mon iPhone 5, la batterie se vide aussi vite meme sans utiliser iBeacon...

avatar Maliik | 

Mdr quand j'entends qu'Apple est dépassé par Android dans le secteur du BT.
Apple gère le 4.0 depuis l'iPhone 4S, et pas seulement l'implémentation du hardware dans l'iPhone... Je parle des api !!

Android à attendu KITKAT pour prendre en charge réellement le BT 4.0 au niveau api... Et c'est loin d'être au niveau des outils qu'Apple offre aux développeurs.

L'utilisation du iBeacon se fait en background (le but je le rappel est d'être alerté lorsqu'on passe à proximité d'une borne / téléphone in the pockette) et non pas en foreground (comme dans l'aperçu).

Donc critiquer Apple sur le mode foreground (qui exploite forcément les capacités de l'iPhone à fond car l'utilisateur regarde son écran et attend des informations à ce moment précis), et donc pour cela l'iPhone scanne 60% de bornes en plus que sur un Android...

Cette article est illogique !!
Android est flémar ? Ou a l'incapacité d'un scan (mode client) puissant comme le fait l'iPhone ?

C'est sur qu'en foutant rien on s'épuise moins.

Regarder l'article d'un autre œil.

avatar W.B.M | 

Tout ça de calcul et de spéculation pour essayer de discréditer l'étude parce que l'iPhone est derrière c'est pathétique .

L'iPhone est derrière ça arrive , le monde s'arrêtera pas de tourner .

avatar Dimitri64500 | 

iBeacon ou pas, mon 4s lorsqu'il n'a pas + de 2 barres réseau devient fou et perd sa batterie en 4h...

avatar pat3 | 

Mmmhh… ça devait être super sympa des soirées avec vous quand vous étiez étudiants en sciences!
Ah, mais une ibeacon me signale que vous continuez à vous faire des soirées d'anciens? Euh, Siri, trouve moi un endroit sympa ou finir la soirée !

CONNEXION UTILISATEUR