Desde que una versión es liberada por Google, esta pasa por unas complejas fases para adaptarlas a un terminal Android en concreto. Quiero decir que todo fabricante tiene que ensamblar el software Android al hardware con el que viene preparado el terminal del fabricante (no siendo una tarea fácil). El fabricante tendrá que adaptar su terminal a la versión de Android y esto se hace con tiempo y mucho trabajo por parte del equipo de ingenieros de la empresa que fabrica el terminal. Para explicar el proceso de ensamblaje nos centramos en el trabajo que realizaron los ingenieros de Sony para adaptar los Xperia del 2011 a Ice Cream Sandwich (Android 4.0). En este trabajo intentaremos generalizar los pasos a seguir para saber , aproximadamente, que haría cualquier fabricante de dispositivos Android con cualquier versión del androide verde para actualizarlo.
Para comenzar expondremos las 2 fases con la que se encuentran los ingenieros del fabricante, en este caso, los de Sony, para adaptar la versión 4.0 de Android.
1ª Fase: Fase de apertura. Hay un arduo trabajo para adaptar la versión de Android al terminal, en este caso la gama de los Xperia de 2011.
2ª Fase: Fase de Certificación y aprobación. Se deberá de certificar y aprobar la nueva versión de Android a toda la tecnología del terminal, desde WIFI, pasando por el hardware, y hasta el procesador con el que trabaja el terminal Xperia.
1ª fase. Obtención de Ice Cream Sandwich para trabajar en nuestros teléfonos.
Lo primero que hacen los ingenieros de Sony es integrar la versión de Android para ir haciendo compilaciones de seguridad y asegurar que las herramientas de depuración están en su lugar, con el objetivo de intentar que todo el código de la versión Android tenga una cierta estabilidad en el terminal en cuestión.
Para hacer realidad esta estabilidad somos conscientes de que la versión Android está creada en base a un hardware en concreto y eso es lo primero que hay que modificar. ICS fue liberada corriendo bajo hardware Texas Instruments y en el caso de los Xperia de Sony trabajan bajo hardware Qualcomm. Cuando hablamos de estos fabricantes como Texas Intruments o Qualcomm están relacionados con el procesador y otros componentes hardware periféricos al procesador. Para adaptar entre sí, hardware y software, tenemos una especie de aplicación de la capa de software capaz de comunicarse directamente con los componentes hardware del terminal. Lo llaman HAL (Hardware Abstraction Layer), pero esta aplicación que viene con la versión Android viene preparada para el hardware Texas Instruments y el equipo de Sony tendrá que modificarlo para el nuevo hardware (Qualcomm), creando así un propio HAL para los terminales Xperia 2011.
La modificación de HAL tiene un impacto positivo en muchas de las funciones del terminal Xperia, como es la cámara, los sensores, audio, bluetooth, Wifi, gps y tanto componentes gráficos como multimedia, ya que con el HAL proveniente de la versión de Android tendrías problemas de adaptación en todos estas funciones del terminal Android. A esto hay que sumarle la diversa gama de modelos Xperia de 2011 y aunque todos funcionen con el mismo procesador Qualcomm 8255, cada modelo de terminal tiene componentes diferentes como la pantalla, memoria, periféricos, etc… y esto conlleva a crear un HAL para cada uno de la gama de los terminales Xperia. De esta forma conseguimos una adaptación de las funciones básicas (llamadas, sms, mms, SIM, tarjeta SD) de Android en cada uno de los terminales para poder trabajar con ellos.
1ª fase. La integración de los parches Android.
Otras de las tareas a seguir en la primera fase es la integración de una serie de parches para mejorar y adaptar el código heredado de Android de acuerdo con nuestras necesidades. Estos vienen personalizados para tareas importantes para el terminal, como por ejemplo el control de errores mejorados. No podemos olvidar que estos parches personalizados vienen con la versión de Android para que estén generalizados en todo el mundo Android y de esta manera evitar la fragmentación. En este apartado llega la hora de personalizar el terminal con funciones propias por parte de Sony, tales como los gráficos personalizados. Al incorporar estas personalizaciones también se realiza una revisión básica de calidad para confirmar que todos los cambios integrados cumplen con el nivel de calidad requerido. Unas de estas revisiones sería confirmar el funcionamiento del reproductor de música, streaming de vídeo, USB, etc.., se van haciendo pruebas para ver que todos los escenarios de usuarios heredados se ejecutan sin ningún tipo de problemas. Como último ejemplo, se comprueba que las apps descargadas de Google Play se ejecutan perfectamente en el terminal.
1ª fase. Obtener un software estable y añadir localización.
Para conseguir un software estable, a parte de las pruebas de laboratorio, los ingenieros de Sony prueban sus terminales (la versión adaptada) con usuarios en vivo, para determinar alguna anomalía o defecto en el funcionamiento del mismo, quedando reflejado en un informe. Buscan estabilidad, como hemos comentado, pero también buscan calidad, por ejemplo, hacen pruebas sobre el consumo de energía en varios escenarios del usuario y de esta forma calibrar perfectamente el consumo de la batería. Otro aspecto de este apartado es la localización, se intenta integrar el soporte de localización en nuestras aplicaciones. Sobre la localización, Sony ha inyectado a la versión de Android mas idiomas de lo que viene por defecto, como puede ser el árabe, por lo que los terminales Xperia 2011 vienen con esa ventaja en concreto.
Una vez que hemos terminado todos los aspectos a tener en cuenta en la 1ª fase, nos adentramos en la certificación y aprobación de todo lo conseguido hasta ahora, por lo que damos paso a la 2ª fase. Hay que comentar que no todas las partes del software pasan por las mismas fases a la vez, un módulo de software en concreto puede estar en la 2ª fase y otra, perfectamente, aún puede estar en la 1ª fase, por lo que no hay uniformidad en seguir las fases en cada unas de las partes del software.
2ª fase. La fase de certificación y aprobación: Asegurarse de que el software y el hardware es compatible.
Certificar es asegurar de que el nuevo software (modificado por Sony) es compatible con los estándares de la tecnología que utiliza el terminal, en este caso la gama Xperia. Cada certificación engloba esa parte de software, que ha sido modificada y actualizada, con el buen entendimiento hacia la parte de hardware, como por ejemplo wifi o bluetooth, y de esta forma, la certificación se encarga de que cumpla con los requerimientos de las operadoras, derechos de propiedad intelectual, etc.. y de aquí pasará a ser aprobada.
No es necesario certificarlo todo, ya que si existe una parte de software que no ha sido modificada no hace falta hacer una certificación. Por desgracia no todas las certificaciones son globales, digamos que mas bien son locales, ya que dependiendo del país puede exigir una certificación en concreto al fabricante, y teniendo en cuenta que puede llegar hasta la friolera cifra de 80 países, cada uno de ellos pueden tomarse en serio el tema de las certificaciones. Pero para lo que podría suponer un trabajo casi infinito para los ingenieros de Sony, se cuenta con empresas que son capaces de realizar estas pruebas para facilitarle el trabajo, una de las empresas en cuestión es CETECOM. Otro aspecto a tratar sobre las certificaciones es que encontramos algunas que están relacionadas con el medio ambiente, para asegurar de que están dentro del cumplimiento de emisiones no esenciales (emisiones relacionadas con las ondas electromagnéticas o distintas frecuencias y su posible daño para el ser humano) o como otras de cumplimientos ambientales y de salud. En el caso de Sony ya están cubiertas este tipo de certificaciones, por lo que no tienen la necesidad de pasarlos de nuevo, ya que sabe como tiene que adaptar a sus terminales, para que estas certificaciones sean aprobadas sin ningún tipo de problemas; a parte, Sony tiene su campaña de certificaciones propias para ofrecer una mayor calidad posible al consumidor. Sobre las aplicaciones, como pueden ser las de Bluetooth, wifi, mms y algunas mas, también tienen que ser certificadas y aprobadas, pero en este caso con un test (CTS – Android Compatibility Test Suite) para asegurarnos de la compatibilidad con la nueva actualización.
2ª fase. Aprobaciones adicionales pueden ser necesarias.
Una vez que el fabricante aprueba la nueva actualización de la versión Android, esta será usada para trabajar en diferentes operadoras de todo el mundo. Las operadoras, como sabemos, también quieren una personalización de la versión Android para sus necesidades o su estrategia comercial, como puede ser el modelo de mercado, el tipo de red con el que trabajará, y varios argumentos de marketing, por ejemplo. Estas personalizaciones que desean las operadoras son creadas por parte del fabricante del terminal, en este caso Sony, y debe de crear unos paquetes se software y versiones de cada operador para que sean distribuidos por las operadoras. Esa distribución de actualización e instalación por parte de la operadora puede ser por medio de varias fuentes, como una herramienta de actualización de la propia operadora, una herramienta del fabricante (en este caso, Sony Ericsson’s PC Companion tool) o por medio de FOTA (Firmware Over the Air).
Por ley cada fabricante tiene que pasar por estas fases para que la calidad de su producto, junto con la modificación y actualización de la versión Android, sea de una gran calidad para el consumidor final. Espero que con este resumen de la adaptación de la versión del SO de Google a cualquier terminal basado en Android haya sido de tu agrado y sepas un poco mejor como funciona el universo Android.