
Ah, 2010. L’année où Apple a lancé l’iPad, mais où l’attention se portait surtout sur un autre sujet : l’Antennagate.
Peu après la sortie de l’iPhone 4, les utilisateurs ont constaté une chute significative de la puissance du signal lorsqu’ils tenaient le téléphone d’une manière habituelle pour passer un appel. En réaction, Apple a proposé plusieurs solutions, dont la fameuse déclaration de Steve Jobs indiquant que les utilisateurs tenaient le téléphone de façon incorrecte. Mais en réalité, le problème a été résolu grâce à seulement 20 octets de code.
Malheureusement, l’iPhone 4 est surtout associé à cette controverse qui a pris une ampleur considérable. Apple a dû offrir aux acheteurs une coque de protection gratuite, ainsi qu’accepter de régler une action en justice collective. La société a par la suite amélioré l’antenne dans l’iPhone 4S, mais le cœur du problème résidait en réalité dans le logiciel.
À l’époque, Apple a reconnu avoir commis une erreur dans le calcul des barres de signal. Ils ont déclaré :
« Lors de notre enquête, nous avons été stupéfaits de découvrir que la formule utilisée pour afficher le nombre de barres est totalement fausse. Dans de nombreux cas, nous affichons par erreur 2 barres de plus que ce que nous devrions. »
Nous n’avions pas de visibilité sur les modifications apportées par Apple, mais l’ingénieur logiciel et designer Sam Henry Gold a récemment révélé qu’il avait réussi à déceler la solution.
« J’ai téléchargé les deux firmwares et j’ai commencé à les explorer. Dans le framework CoreTelephony, j’ai trouvé un binaire prometteur : CommCenter. En regardant les chaînes, j’ai eu l’impression que c’était ici que se trouvait la formule des barres. »
Il a ensuite expliqué que le vrai calcul était très simple, le CommCenter chargeant chaque seuil en mémoire et faisant des comparaisons. Mais le problème résidait dans une table de recherche sûre.
Dans la mise à jour 4.0.1, ces valeurs ont été ajustées pour offrir une transition plus douce. La nouvelle carte affichait une chute graduelle de 5 à 0 barres, rendant le comportement du signal beaucoup moins catastrophique. Gold a même noté qu’Apple avait modifié la hauteur des barres pour éviter que les barres basses n’apparaissent trop décevantes.
« Ils ont également augmenté la hauteur des barres inférieures pour qu’elles ne paraissent pas si mauvaises. »
C’est un retour captivant sur un épisode marquant de l’histoire d’Apple.