Editorial: Las Facetas de la Fragmentación de Android

Se ha hablado mucho  acerca de la fragmentación de Android, pero muy
poco de análisis en cuanto  a su significado e impacto.

La mejor manera de ver las fragmentaciones no es desde el punto de
vista de la API, sino de las  aplicaciones. Si se observan las 10 000
aplicaciones más importantes de Android (entre las gratuitas y de
pago).  ¿cuántas de éstas  corren en todos los dispositivos con de
Android) ( yo diría en todas sus versiones).

Para el equipo de Android de Google, la fragmentación  es lo que los
mantiene despiertos en la noche. La fragmentación reduce el mercado de
direccionamiento de las aplicaciones e incrementa el costo de desarrollo
y podría romper la historia del desarrollador con Android.

El CTS de Google CTS ( pruebas de compatibilidad específicas,
compatibility test spec) se basa en garantizar que todas las
aplicaciones corran en todos los equipos con Android. Los dispositivos
con android  tienen que pasar esta CTS para poder tener acceso a las
líneas de código privadas, Market o la marca Android y Google controla 
que socio manejará Android.

Las 3 dimensiones de la fragmentación de Android
Muchos  observadores podrán señalar que la  fragmentación se deriva del
resultado de la licencia de open source (APL2) que va ligada a la
fuente de código publico. Pero la verdad es que es más complejo, ya que
hay 3 dimensiones en la fragmentación de Android.

1. Fragmentación del código base. Muy pocas empresas   han
tomado el planteamiento de la  división del código base público de
Android, que está bajo la licencia de  APL2; Google innova tan rápido
(5  grandes  versiones en 12 meses), que  los costos de mantenerlas
actualizadas  son demasiados  al paso del tiempo. (Nokia lo descubrió de
la forma difícil con Webkit y después se arrepintió).

La principal división del código de base de Android  es China Mobile (
el operador más grande del mundo con más de 500M de suscriptores),  que
ha subcontratado el desarrollo de Android a la compañía de software
Borq. China Mobile  no le interesa tanto  mantenerse actualizados  con
las últimas características de Android porque el mercado chino opera en
una isla donde todo es barato, y predominan las imitaciones de teléfonos
(Shanzai). Mediatek,  el líder vendedor de chips entrega  200-300
millonwa de equipos por año y planea tener disponible a Android, lo que
significaría otra división. Cyanogen y GeeksPhone
también subdividen el código público de Android , pero están diseñados
para un nicho de seguidores tecnológicos de  Android.

2. Lanzamiento de la fragmentación. Google ha lanzado 5
grandes actualizaciones de Android en 12 meses (1.5, 1.6, 2.0, 2.1 y
recientemente  2.2), todas las cuáles presentan grandes funciones  y
frecuentemente rompen la API. Es de notar  que al acceder a Android
Market desde la versión 1.6 en comparación en un equipo con 2.1 
proporciona diferentes aplicaciones. handset gives you a different set
of apps. En cuanto a la compatibilidad, AndroidFragmentation.com
(un proyecto comunitario)  ha documentado varios casos del lanzamiento
de varias fragmentaciones  que rompen las   APIs (ejemplo el SDK 2. no
es compatible con las aplicaciones antiguas de contactos) o de
inconsistencia en la implementación del OEM (ejemplo recibir múltiples
mensajes por WiFi i se desconecta en los dispositivos HTC.

El lanzamiento de las fragmentaciones  es víctima de la propia
velocidad de innovación de  Google – y Andy Rubin ha insinuado que hay
más lanzamientos por venir en los próximos meses. Es claramente un
signo  de como las empresas jóvenes, ágiles de internet conoce como
desarrollar software mucho mejor que las empresas con un legado móvil;
los grandes cambios de Symbian llevan  entre 2 y 18 meses para ser
lanzados.

El lanzamiento de las  fragmentaciones es  particularmente  agudo
debido a la  falta de la disponibilidad limitada de un mecanismo de
actualización automático como el que se encuentra en el   iPhone.  Se
llama el fenómeno del envejecimiento del tiempo de ejecución  que es
directamente responsable del incremento del costo del desarrollo de las
aplicaciones.   Los operadores de Tier-1 network ven a los celulares en
su base instalada con  navegadores que tienen  1-6  años –asi es como se
puede obtener contenido móvil ( y programas) para las empresas de
desarrollo. [Nota: algunos equipos con Android vienen con la
actualización del firmware (FOTA) disponible de Google y sus vendedores
de FOTA,  pero es instalado  reactivamente (ejemplo para evitar 
remarcados en el equipo)  más que de forma proactiva (por ejemplo, para
actualizar todos los equipos con el último sistema operativo OS ).

Google reporta que  la base de instalación de Android está ddividida
entre los dispositivos que corren  versiones en 1.5, 1.6 y 2.1  (o al
menos los que logran acceder a  Android Market). El desglose detallado 
hasta mediados de mayo de 2010 es  el siguiente:

El lanzamiento de la  fragmentación  está surgiendo del tratamiento
elitista de Gogle con sus socios de OEM. Google  deberá recoger y
seleccionar cuál línea de código privada está disponible para cual OEM 
basados en un criterio comercial. Por ejemplo, cómo  Sony Ericsson’s X10
(corriendi en Android 1.6)salió a  market después del e Nexus One ( que
corre en  Android 2.1).

3. Perfil de la  fragmentación. Android fue diseñado para 
smartphones con volumen. por lo que llegó en el momento adecuado-
después del lanzamiento del iphone y  era lo que estaban buscando los
fabricantes  de electrónicos de consumo en cómo desarrollar equipos que
se conecten. Esto resultó en dos efectos que Google ni había planeado:

– Android fue considerado por todos los operadoress tier-1 ( y
varios  tier-2) esperando desarrollar dispositivos parecidos al iphone
con precios más baratos ( ejemplo con menos subsidio y grandes
diferencias. Esto significa que mientras los operadores financiados  en
los años de adolescencia de Android   (2008-2010), ellos  a dispositivos
de altas características y puntos en el precio de los puntos.

– Android  es ahora tomado en cuenta por las 10 principales  empresas
de electrónicos de consumo, que van desde pantallas de autos hasta
tablets, teléfonos DECT y  marcos para cuadros. La Tableta Archos fue
sólo el comienzo.  Cada uno de éstos dispositivos tiene diferentes
requerimientos y así resulta que hay diferentes perfiles para las
plataformas.

La sincronización de la entrada de  Android en el mercado  ha
resultado en dos implicaciones resultado de la fragmentación.

Primeramente,  el código base oficial de Android no es tá diseñado
para equipos que usan los mercados de las masas.  ( ARM9 o ARM11, con 
200-500MHz).Para tener grandes  volúmenes (más de 100M anualmente),
Google necesitará sansionar un  segundo perfil de Android  para los
dispositivos enfocados a las masas. Este es un Catch-22,  ue funcionaría como un segundo perfil 
que se necesitará para alcanzar grandes  volúmenes,  lo cual hará que se
rompa la historia de los desarrolladores de Android.

De segundo,  cada nuevo perfil de la plataforma  está diseñado pora
diferentes formas (carros,  tablets, etc) que crearán  variaciones en
la  API  que serán difíciles de administrar.  Esa es una de las razones
principales detras de la iniciativa de la Tv en Google y la Fundación de
software abierto embebido. Sin embargo, aunque Google no se puede mover
lo suficientemente rápido para coordinar (¿administrar?) los 10 usos y
formas que emergen de Android.

La fragmentación de Android  se va a poner peor todavía, y  se
volverá  víctima de su propio éxito, pero  ¿esperarías tener una sola
app ( y un sólo código) que corra en tu tv, teléfono y carro?

Y allí radica la oportunidad para los vendedores de herramientas
para facilitar  aplicaciones portadoras de herramientas, herramientas de
prueba de compatibilidad y SDKs para ayudar a cerrar la brecha en la
selva final de la fragmentación de Android.

¿Qué piensan ustedes?  tienen alguna historia por compartir acerca de
las fragmentaciones?

Traducción desde Vision
Mobile
  • fragmentacion codigo