lundi 12 décembre 2011

ICS : du code source à la mise à disposition de la mise à jour

Sony Ericsson vient de publier un article qui détaille les différentes étapes entre la mise à disposition d'un code source d'Android par Google (par exemple celui d'ICS) et la distribution de la mise à niveau du firmware de Sony Ericsson sur ses smartphones.

Cet article éclaire les différentes problématiques que peuvent rencontrer les constructeurs, et se veut pédagogique en expliquant à ses clients (et aux autres) pourquoi les mises à jour prennent tant de temps à arriver à partir de la parution d'un code source. Ce qui va toujours dans le sens de la nouvelle image que Sony Ericsson essaye de donner, depuis le renouvellement de sa gamme 2011.

Merci à Thomas C. pour le partage.

Il y a plusieurs semaines, le code source d'Ice Cream Sandwich (Android 4.0) a étépublié. Cela signifiait le début d'une période intensive pour les ingénieurs de Sony Ericsson, afin de créer une version du firmware, stable et certifiée conforme pour la gamme Xperia 2011. Dans un objectif de plus grande ouverture dans la communauté Android, Sony-Ericsson vient de publier certaines informations exclusives sur les différentes phases et activités de développement de Sony Ericsson sous Android, à commencer par la disponibilité du code d'ICS, et menant à la publication de la mise à niveau que vous pouvez télécharger sur votre téléphone.

Sur le blog officiel, Sony Ericsson avait commencé par publier la liste des téléphones Xperia 2011 qui recevront les mises à jour logicielles pour Ice Cream Sandwich. Cependant, avant qu'ils puissent déployer ces mises à jour de logiciels, il y a un gros travail d'analyse de Ice Cream Sandwich. Ils appellent cette phase “Bring up phase”, qui pourrait être traduit par “Phase de préparation”.

Puis la seconde phase, la plus importante, que l'on appelle “la phase de certification et d'approbation” où Sony-Ericsson doit tester que tous les composants et toutes les technologies fonctionnent sans soucis avec cette nouvelle mise à jour.

 

La phase de préparation

Le 14 Novembre dernier, le code source d'ICS fut publié. Ce fut aussi le jour où les ingénieurs de Sony-Ericsson ont commencé leur travail afin de faire tourner ce Cream Sandwich sur la gamme Xperia 2011, Sony Ericsson nous rappelle qu'ils n'avaient pas eu de pré-accès au code source d'ICS. Ils ont pu mettre la main dessus en même temps que n'importe qui.

La première étape est d'intégrer les plus récentes mises à jour Android disponibles avec les codes de développement de Sony Ericsson, pour s'assurer que tout compile. Ceci est fait par nos équipes d'ingénieurs qui doivent confirmer que tous les outils de test et de débogage sont en place. La stabilité du logiciel est très important à ce stade, car ils vont s'appuyer sur cet ensemble de base de code.

Dans le code d'Ice Cream Sandwich qui a été publié, la couche d'abstraction matérielle (HAL) – la couche logicielle des applications donnant accès direct aux composants matériels – a été dans une certaine mesure adaptée pour une plate-forme matérielle de Texas Instruments. Cependant, pour les téléphones Xperia, S-E a utilisé une plate-forme matérielle Qualcomm. Cela signifie que les ingénieurs S-E devaient remplacer cette couche d'abstraction matérielle.

Les changements ont eu un impact sur plusieurs fonctions du téléphone, y compris la caméra, les différents capteurs (proximité, luminosité, accéléromètre et boussole), audio, Bluetooth ™, Wi-Fi ™, le GPS, ainsi que le multimédia et les composants graphiques. Ils n'ont donc pas eu seulement à modifier et à configurer la couche HAL en fonction de la plate-forme matérielle Qualcomm, mais aussi tous les autres composants matériels utilisés dans les téléphones.

Un autre soucis vient du fait que tous les produits Xperia 2011 sont basés sur la même plateforme matérielle et utilisent le chipset Qualcomm 8255, néanmoins il y a plusieurs variations de taille de l'écran, de mémoire, et de composants périphériques (tels que le caméra). A ce stade, ils s'assurent d'obtenir toutes les fonctionnalités de base (comme les appels téléphoniques, SMS, MMS, carte SIM et l'accès à la carte SD) avant de continuer.

 

Intégration des correctifs pour Android

Dans la phase de préparation, une autre tâche est d'intégrer un certain nombre de correctifs, d'améliorer et d'adapter le code existant d'Android en fonction de nos besoins. Ces patchs sont personnalisés pour chaque téléphone. Pour éviter la fragmentation, beaucoup de ces correctifs personnalisés sont directement intégré dans l'Android Open Source Project, afin qu'ils soient inclus dans le code source par défaut d'Android pour la prochaine version du logiciel. Ce travail a fait de Sony Ericsson, l'un des principaux contributeurs à Android. A ce stade, Sony-Ericsson intègrent également leurs mises à jour, tels que des mises à jour graphiques personnalisées.

Quand ils intègrent ces patchs, ils effectuent un check-up de base pour confirmer que toutes les modifications intégrées atteignent le niveau de qualité requis. Parmi les différents tests effectués, ils testent la fonctionnalité du lecteur musical, le streaming vidéo, l'USB et  les DRM. Quand ils ont terminé, ils fusionnent toutes les fonctionnalités dans une branche du code, et ils continuent avec des tests de non-régression. Cela inclut aussi que les applications installées depuis l'Android Market fonctionnent correctement.

 

Obtenir l'écurie logiciel et en ajoutant la localisation

Lorsque toutes les fonctionnalités ont été fusionnées en une seule branche de code, ils effectuvent sur les tests de stabilité pour s'assurer que le logiciel est stable dans toutes sortes de cas d'utilisation. Outre les tests de laboratoire, ils emploient un panel d'utilisateurs pour les essais. Et avec les tests de stabilité, ils poursuivent les tests de qualité. Enfin, ils lancent des tests d'autonomie pour améliorer la consommation d'énergie dans différents scénarios d'utilisation.

Une autre tâche importante dans cette étape est d'intégrer le support de la “localisation” dans les applications (le support de plusieurs langues). Dans la plupart des cas, ils doivent ajouter plus de langues qu'en propose Android par défaut. Par exemple, dans la mise à jour des Xperia 2011 déployée en octobre, ils ont ajouté un soutien pour les langues bidirectionnelles comme l'arabe.

Une fois toutes ces tâches sont effectuées, et le logiciel est stable et testé, le logiciel est prêt à être soumis à des certifications. Cependant, la phase de préparation, la phase certification et la phase d'approbation se chevauchent, comme certaines parties du logiciel sont prêtes pour la certification plus tôt que les autres. Dès qu'un module logiciel spécifique est prêt, il est envoyé à la certification. Ainsi, alors qu'un module peut être dans la phase d'approbation et de certification, d'autres sont encore dans la phase de préparation.

 

La phase de certification et d'approbation

Un téléphone est livré avec des composants et des logiciels qui interagissent avec différentes technologies, telles que Bluetooth, Wi-Fi, un modem et ainsi de suite. Pour utiliser ces technologies, ils doivent certifier que le nouveau logiciel est compatible avec ces standards technologiques. Ils ont donc besoin de certifier une nouvelle version du logiciel pour toutes ces différentes technologies en raison des exigences communautaires de l'opérateur (GCF , PTCRB ,CCF) et les droits de propriété intellectuelle (DPI), s'ils ont modifié le module logiciel lié à ces technologies.

Dans une large mesure, ils essaient d'obtenir des certifications mondiales, mais dans certains pays, ils exigent des tests spécifiques. Pour une mise à jour “mondiale”, ils ont besoin des certifications dans 80 pays.

Outre les opérateurs et les certifications des DPI, il faut se conformer aux certifications externes pour les exigences réglementaires. Par exemple, ils doivent montrer la preuve qu'ils sont confornent à des rayonnements non essentielsSAREMC, ainsi que d'autres conformités environnementales et sanitaires.

En plus de cela, Sony Ericsson réalise des certifications internes dans certains domaines qu'ils identifient comme importants.

Toutes les certifications sont basées sur chaque modèle de téléphone, et même si un modèle de téléphone a été certifié avec une version logicielle antérieure, les parties qui ont été modifiés doivent être recertifiés en cas de nouvelle version du logiciel.

Contrairement à ce que les gens peuvent penser, ce n'est pas la phase de préparation, mais la phase de certification et  d'approbation qui est le processus le plus long. C'est l'une des principales tâches qui est obligatoire en tant que fabricant de téléphone, mais c'est une tâche que la communauté de ROM personnalisée n'a pas à prendre en considération. Par ailleurs, en mettant tous les efforts dans ce test de certification, ils s'assurent que la qualité et la conformité est à un niveau supérieur, au bénéfice de tous les consommateurs du monde entier.

 

Des homologations supplémentaires peuvent être nécessaires

Dans certains cas, la nouvelle version du logiciel et complète doit être approuvée pour être utilisée dans tous les différents réseaux. De nombreux opérateurs veulent également personnaliser le firmware selon leurs besoins, qui à leur tour sont basées sur leur marché, le réseau, la différenciation et le business modèle. Sony Ericsson doit mettent tout en œuvre toutes ces personnalisations afin de créer une variété de firmwares pour chaque opérateur.

Lorsque tout cela est fait, ils sont prêts à déployer la mise à niveau. La mise à niveau du logiciel peut ensuite être téléchargée et installée, soit dans l'outil de l'opérateur (s'ils en ont un), à partir de l'outil de Sony Ericsson PC Companion, ou par les mises à jour directement sur le téléphone (FOTA – Firmware Over The Air).

 

Ce qu'il faut retenir de cet article :

  • Le fait que Sony Ericsson a uniformisé sa gamme 2011, notamment en ce qui concerne les processeurs qui animent ses Androphones (ce qui simplifie considérablement le processus d'adaptation du code source), en prévision de futures mises à jour.
  • Le fait que Sony Ericsson se targue d'être l'un des plus gros contributeur de patchs correctifs au code source d'Android AOSP (qui serviront à la prochaine MàJ de la part de Google)
  • Le fait qu'il existe toute une partie de tests (en labos, en conditions réelles, etc…) et surtout de CERTIFICATIONS A OBTENIR (obligation légale) avant de pouvoir lancer officiellement un téléphone/un firmware/ une mise à jour d'un firmware.
  • L'article insiste – et à mon avis à juste titre – sur le fait que c'est cette partie là qui prends le plus de temps par rapport à la “simple” adaptation du code au matériel Sony Ericsson. Ce qui explique en partie pourquoi les ROMs customs basées sur ICS sortiront (sont sorties) quoiqu'il arrive avant les ROMs officielles. En effet, nul besoin pour les équipes de CyanogenMod de faire (re)certifier la puce Wifi d'un Androphone avant de distribuer une Nightly!

Pour rappel, Sony Ericsosn a promis que les mises à jour arriveraient en mars pour toute la gamme 2011.

Aucun commentaire:

Enregistrer un commentaire