Il y a plusieurs mois de cela, Michael De Gusta écrivait un article sur les orphelins d’Android. Cet article fit grand bruit et surtout débat. Il cristallisait de manière visuelle le décalage entre version déployée sur les mobiles et la version courante d’Android. Cela mettait en évidence que certains appareils avaient, malheureusement, plusieurs versions de retard.

Mais pourquoi ces écarts ? Pourquoi les mises à jour ne viennent-elles pas de manières régulières ?  Michael le reconnait lui-même, c’est une bonne question “Why don’t Android phones get updated? That’s a very good question.”. Malheureusement il nous livre que peu d’éléments de réponse “[...] a big part of the problem is that Android has to go from Google to the phone manufacturers to the carriers to the devices [...]”, il faut bien l’avouer, c’est un peu maigre…

Essayons de voir pour trouver quelques bonnes raisons.

1. Le paradigme de la téléphonie mobile a changé

Dans un temps pas si lointain que cela, mais que beaucoup trop de personnes ont tendance à oublier, un âge avant les iOS et Android, un âge où les Symbian et autres OS propriétaires régnaient en maitre, c’était un âge où les mises à jour d’OS étaient plutôt exceptionnelles. Ce qui fait qu’il n’y avait aucune véritable règle d’implantée, aucun « best practice » et encore moins de réelle expérience dans le domaine.

De plus, qui aurait cru que les clients réclameraient autant leur MAJ ? Qui aurait cru que les clients demanderaient la version de l’OS avant d’acheter ? La vision d’antan du téléphone mobile n’est plus, on ne vous vante plus seulement les caractéristiques techniques (souvenez-vous : Bluetooth, lecteur MP3, FM, main libre, …). Le téléphone mobile moderne c’est dorénavant du hardware ET du software.

Pour Android, la mise en œuvre du système de MAJ fut délicate. Certes il y a d’autres acteurs dans la chaine (nous verrons cela par la suite), mais nous pouvons supposer un manque de vision, de coordination et une sous-estimation de l’impact des MAJ, de la part de l’OHA.

2. Les constructeurs sont là pour vendre

Un constructeur ca fabrique et vend des téléphones. Ses résultats sont principalement jugés sur le nombre d’unité vendu. Pas besoin d’être un génie pour comprendre leur intérêt : vous faire changer de mobile au maximum. « Tu veux la dernière version d’OS ? Achète notre tout nouveau mobile ». Soyons honnête, je provoque un peu. Rien, n’est aussi simple, il y a des enjeux cachés :

Prévoir l’avenir : lorsqu’il conçoit un mobile le constructeur réfléchit en gamme (bas, milieu, haut de gamme sont classiques – vous pouvez vous amuser à en chercher d’autres, comme les zones géographiques par exemple). C’est un exercice très complexe, qui prend en compte de nombreux paramètres marchés, sociaux, financiers, juridiques, technologiques et autres. Mais dite vous bien que cela va impacter les caractéristiques du téléphone. Si en plus, le pauvre constructeur doit essayer de prévoir si son mobile fonctionnera sous les prochaines versions, dont les lignes de codes ne sont mêmes pas encore écrites, c’est trop pour lui. Le seul moyen qui lui reste c’est d’attendre la livraison de la nouvelle version et de tester. Là on arrive au point suivant.

Gestion des coûts : une fois en marché le mobile doit rapporter de l’argent. Le constructeur cherche à rentabiliser son investissement et maximiser sa marge. La gestion des mises à jour, ce sont des coûts supplémentaires. Comme le constructeur peut difficilement prévoir le bon fonctionnement d’une nouvelle version d’OS, il doit la tester avant de la mettre à disposition, pour éviter les bugs trop critiques. Ce qui signifie qu’il doit affecter des ingénieurs à un projet, pour compiler la nouvelle version pour chacun de ses mobiles et tous les tester. Projet qui risque de prendre plusieurs semaines, donc c’est un effort et un coût non négligeable pour le constructeur. Il parait donc évident qu’il fasse des choix avant de tester,  il ne peut re-tester toute sa gamme. Et ces choix, vous en déplaise, ne seront pas forcément basé sur vos goûts, ni même des éléments techniques ou capacité hardware (ils doivent faire du chiffre ces chers messieurs). Vous pouvez crier au scandale autant que vous voulez…

3. Les opérateurs contrôlent leurs coûts

Imaginons que le constructeur a finalement fait un build pour un terminal dit. Il le met alors à disposition des opérateurs. Qu’est-ce qui retient ce dernier de ne pas la livrer à ses clients ? Le même problème de coûts que le constructeur. Tous les téléphones quel qu’ils soient sont préalablement testés par l’opérateur. Il s’assure que le téléphone fonctionne correctement sur son réseau, comporte bien les paramètres demandés, etc…

Forcément dés qu’une nouvelle version est disponible, l’opérateur se replonge dans des tests complets, ce qui tout comme le constructeur lui coûte en temps et en argent. Il ne le fera donc pas nécessairement, dépendamment des intérêts et d’une stratégie que lui seul connait ! ;-)

Ensuite il y a les imprévus, une mises à jour d’un build qui arrive avec un bug critique. L’opérateur ne peut lancer la mise à jour et le constructeur ne veut pas corriger. C’est du vécu ! Enfin, ces mises à jour doivent être « homologués » avant d’être déployés, par les différents organismes et partenaires (NFC, WiFi, 3G, etc.).

On vient donc de la voir, sans être exhaustif, il y a plusieurs raisons louables d’un point de vue industriel, mais aberrantes d’un point de vue client pour qu’un téléphone ne soit pas mis à jour.

Maintenant, que tout le monde a plus de recul et est bien conscient que les mises à jour sont des enjeux et un différenciant commercial (avant tout), nous pouvons avoir espoir en l’avenir.