Le code de 20 octets qui a sauvé l’iphone 4

À retenir :
– l’iphone 4 a souffert de problèmes de signal connus sous le nom d’antennagate
– apple a initialement réagi en blâmant les utilisateurs plutôt qu’en admettant son erreur
– un simple code de 20 octets a corrigé le problème d’affichage des barres de signal
– des bumpers ont été offerts aux clients à un coût élevé pour apple en raison du scandale
– la hauteur visuelle des barres a été modifiée pour améliorer la perception des utilisateurs


### iPhone 4 et l’affaire Antennagate : la solution en un simple bout de code

L’iPhone 4, lancé en 2010, a été le théâtre de nombreux soucis de réseau, donnant naissance à l’affaire connue sous le nom d’Antennagate. Quinze ans plus tard, un développeur a révélé qu’un simple morceau de code de 20 octets avait suffi à résoudre ce problème.

Le code de 20 octets qui a sauvé l'iphone 4
#### Une réaction maladroite qui a aggravé la situation

Le code de 20 octets qui a sauvé l'iphone 4
La réponse initiale d’Apple à cette controverse a exacerbé les choses. Steve Jobs avait suggéré que les utilisateurs tenaient leur téléphone de manière inappropriée. Cette remarque est restée célèbre pour son ton peu empathique. En fin de compte, la société a dû distribuer des bumpers gratuitement aux acheteurs, entraînant une dépense de 175 millions de dollars pour Apple, ainsi que la conclusion d’un accord dans le cadre d’un recours collectif. Bien que l’iPhone 4 ait été acclamé pour son design innovant, il est surtout retenu en mémoire pour cette polémique.

Apple a ensuite apporté des améliorations à l’antenne avec le modèle iPhone 4S, mais il s’est avéré que le véritable problème n’était pas matériel. L’entreprise a admis avoir fait une erreur dans la méthode utilisée pour calculer l’affichage des barres représentant la puissance du signal. Cependant, les détails concernant cette correction demeuraient flous jusqu’à récemment.

#### La découverte d’une correction inattendue

Sam Henri Gold, ingénieur logiciel et designer, s’est penché sur ce mystère en comparant les firmwares avant et après modification. Il a téléchargé iOS 4.0 et iOS 4.0.1 et examiné le framework CoreTelephony où il a identifié un binaire nommé CommCenter. Son analyse des chaînes était révélatrice : ce composant gérait effectivement la formule utilisée pour afficher les barres du réseau.

Le calcul utilisé était assez basique : lors de la conversion du signal reçu en barres visibles par l’utilisateur, CommCenter chargeait chaque seuil depuis sa mémoire et effectuait des comparaisons jusqu’à obtenir la plage correcte affichée sur l’écran. Le souci résidait dans une table de correspondance dont les valeurs sous iOS 4 étaient trop optimistes ; cela conduisait souvent à afficher quatre ou cinq barres alors qu’en réalité seules deux étaient présentes lorsque le smartphone était pris en main.

Avec iOS 4.0.1, Apple ajusta ces valeurs afin d’établir une progression beaucoup plus douce sur le graphique affiché aux utilisateurs ; désormais il fallait subir une détérioration significative avant que l’indicateur ne tombe à zéro barre.

#### Une astuce visuelle efficace

Sam Henri Gold évoque également un détail intéressant : Apple augmenta simultanément la hauteur visuelle des barres représentant le signal afin que les niveaux inférieurs apparaissent moins alarmants psychologiquement aux yeux des utilisateurs – une modification esthétique visant à atténuer leur perception d’un signal faible.

Ainsi donc, cette petite modification technique aura permis d’éteindre une controverse potentiellement nuisible pour Apple dans ses débuts avec l’iPhone 4 tout en veillant à effectuer quelques ajustements avec son successeur afin d’éviter qu’une telle situation ne se reproduise.

Avatar photo

Drak

Extraterestre un peu perché du haut de ma soucoupe, j'aide la bande avec mes articles d'un très haut niveau orthographique. Je suis moi aussi passionné de high tech depuis que mon modem 56K faisait pas mal de bruit en chargeant mon AOL illimité.

18 commentaires sur “Le code de 20 octets qui a sauvé l’iphone 4

Laisser un commentaire