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?
Mobile