Fragmentación: el talón de Aquíles de Android

Ayer se publicaba en Android Developers un informe sobre la distribución de las diferentes versiones de Android que hay en el mercado, con fecha de cierre el 3 de diciembre (así que actualizado está).

Y es que, como bien sabréis, uno de los mayores quebraderos de cabeza de los desarrolladores de Android es compatibilizar sus productos con las diferentes versiones, algo que por ejemplo en iOS no ocurre (aunque hubiera no hace mucho tantas quejas por tener que actualizar las apps al tamaño de iOS 6).

Ya hablamos de soslayo sobre la fragmentación en Android en la entrada sobre 6 razones a tener en cuenta para elegir entre Android e iOS y en el malestar suscitado porque las actualizaciones tardan mucho en llegar a los usuarios, pero quería aprovechar para centrar una noticia entera en esta característica.

Android es un Sistema Operativo basado en Linux, que a su vez es libre. Quien está detrás del proyecto no es otro que Google, pero lo cierto es que cualquiera con maña puede liarse a picar código y modificar lo que le venga en gana del SO, a diferencia de iOS, que es propietario, y tiene tras de sí a la empresa de la manzana.

Por otro lado, y descontando la gama Nexus (que Google saca de vez en cuando con su firma, pero en verdad el trabajo es producido por un fabricante externo), Android corre en terminales de muy diversos fabricantes, y por tanto, Google se toma muy en serio ofrecer características lo más abiertas posibles para que el mismo sistema sirva para móviles y tablets de muy diversas formas.

Esto, claro está, tiene una gran ventaja, y es que permite que se expanda mucho más rápido que si solo dependiese de un fabricante (como de nuevo podríamos hablar de iOS y Apple), y también un gran inconveniente, que no es otro que la obligación de diseñar y desarrollar con el desconocimiento de dónde va a correr el sistema, por lo que se puede optimizar hasta cierto punto, y en algunos casos (gama baja de smartphones, por ejemplo), la experiencia de usuario puede no ser la idónea.

A esto hay que incluir que muchos fabricantes y operadoras de telefonía deciden “tunear” el sistema operativo en sus terminales, ofreciendo características propias y dotándolo de personalidad (y por lo general siendo más una molestia que otra cosa).

Por tanto, desde que Google libera el código de una actualización, hasta que ésta es “convenientemente” modificada por el fabricante de turno, y más tarde por el operador de telefonía, pueden pasar meses y meses. Por si fuera poco, la obsolescencia programada se encarga de no ofrecer actualizaciones a terminales ya considerados antiguos, aunque muchos de ellos pudieran funcionar mejor con la actualización (habría casos que actualizar en verdad sería contraproductivo).

De ahí que lo que en Apple, al ser un modelo centralizado, apenas son un pequeño porcentaje los terminales que se quedan sin actualización (bien porque no la quieren pagar, o porque se ha cambiado de procesador y ya no son compatibles), en Android es lo más normal del mundo.

A día de hoy, y después de haber pasado ya casi 6 meses desde que se liberara Jelly Bean, y casi 2 meses desde la 4.2, los porcentajes son los siguientes:

  • Cupcake: 0.1%
  • Donut: 0.3%
  • Eclair: 2.7%
  • Froyo: 10.3%
  • Gingerbread: 50.8%
  • Honeycomb: 1.6%
  • Ice Cream Sandwich: 27.5%
  • Jelly Bean: 6.7%

A bote pronto, lo que más me llama la atención es que todavía más de la mitad de los dispositivos android usen Gingerbread, dejando ICS a un 27,5%. Entiendo que Froyo se haya quedado con un 10,3% de terminales que seguramente ya no podrán tirar con la 2.3, pero ¿0.4 con Donut y Cupcake? ¿Todavía hay gente que le dura la batería después de tantos años?

En fin, volviendo al tema, la única solución que se me ocurre para solucionar disminuir la fragmentación, quitando el hecho que Google ya pone dos meses antes de sacarlo a la luz el código en las manos de los fabricantes, es que éstos últimos, junto con los operadores, dejaran de centrarse en incluir sus propios cambios, que no hacen más que molestar (no he probado aún una aplicación de samsung o de vodafone que merezca la pena).

Pero claro, es pedirle peras al olmo (tanto los fabricantes como los operadores quieren estar presentes en el software, aunque no sepan cómo hacerlo, por eso de que el software es el futuro).