En los tiempos que corren, mucho se habla de la fragmentación en Android, y casi siempre es para lo malo. Los usuarios de Android se defienden diciendo que en iOS también existe fragmentación y piratería, y que incluso puede ser mucho mayor que en Android ya que Apple elimina características para poder instalar versiones más actuales en iPhones e iPads antiguos. Pero, ¿qué hay de cierto en esas afirmaciones?
Fragmentación, el enemigo del desarrollador
iOS 6 se puede instalar en todos los iPhone desde el modelo 3GS (de hace 4 años, dejando al iPhone 3G fuera de la actualización, pero ese modelo se lanzó en julio de 2008, hace cinco años), y sí es cierto que introduce algunas limitaciones en ciertas características del sistema operativo en función del modelo de iPhone. Podría hablar largo y tendido de la obsolescencia programada que practican todas las empresas tecnológicas, no solo Apple, pero eso es tema para un artículo distinto.
Es un argumento común que, cómo no va a haber fragmentación en iOS si te quitan características del sistema operativo. Pero hay que tener en cuenta tres cosas:
- Eliminan características sobre todo en iPhone 3GS y 4, que tienen procesadores de un sólo núcleo, y cuyo rendimiento podría llevar a desesperar a los usuarios.
- Cada nueva versión de iOS introduce nuevas APIs para que los desarrolladores puedan crear mejores aplicaciones haciendo uso de iCloud o nuevos servicios de Apple. El asegurar que el máximo número posible de usuarios de iOS tienen acceso a las nuevas versiones favorece enormemente a los desarrolladores, ya que no tienen que estar preocupándose de para qué dispositivo sí que va a funcionar y para cuál no su aplicación. De hecho, casi todas usan iOS 5 en adelante, y eso implica al 97 por ciento de los dispositivos.
- No actualizar el iPhone 3G a nuevas versiones de iOS (4.3+) es simplemente por ser un terminal antiguo (cinco años). Mucho ha llovido desde junio de 2008 a esta parte en el panorama de los smartphones, además que ese modelo de iPhone es menos del 3 por ciento de la base de iPhones existentes, así que no justifica una actualización de software. Discutible decisión, aunque parece lógica a priori.
La actualización a nuevas versiones de iOS no sólo hay que verla como necesaria para los usuarios sino también, como muy bien apuntó Google en Google I/O 2013, para los desarrolladores. Si hasta los responsables de Android dijeron en una de las charlas de I/O que ahora no incluían ninguna característica nueva si no podían asegurar su correcto funcionamiento en la mayoría de dispositivos Android, ¿no es lógico pensar que Apple puede hacer lo mismo?
Las características que no se pueden usar ni en iPhone 3GS ni en 4 son:
- Maps: Flyover y Maps: Turn-by-turn: la verdad es que el primero es por problemas de rendimiento (requiere mucho procesamiento gráfico) y el segundo está relacionado con el acuerdo alcanzado con TomTom para incorporar la información de navegación punto a punto, que deja fuera al iPhone 4 e inferiores.
- Siri: el reconocimiento de voz de Apple requiere de un filtro especial para voz que está incluido en los procesadores A5 y A6 de Apple. Aunque Siri se puede hacer funcionar en el iPhone 4, debido a la falta de este filtro tiene una tasa de fallo más elevada a la hora de entendernos. Pero Google en Google Search (ahora con Google Now), que es la alternativa, pasa todo el procesamiento de voz a sus servidores, evitando este problema. Adelante, podéis criticar en este aspecto lo que queráis a los ingenieros de Apple por no hacerlo de la misma forma. Eso sí, ni Google Now ni Siri funcionan sin conexión a Internet, así que es menos explicable todavía.
- Cámara: panorama, Cámara: tomar fotos mientras se graba: el segundo tampoco funciona en el 4S, y el primero requiere una cantidad elevada de memoria en el que ir guardando las fotos mientras se sacan. Inviable de hacerlo funcionar en versiones con procesador de un sólo núcleo. Tampoco es que sea una gran pérdida, todo sea dicho.
- FaceTime sobre redes móviles: pues esto tiene que ver con la velocidad de transmisión de datos sobre redes celulares y los chips de 3G que llevan iPhone 3GS y 4. Aunque podría alegar cuestiones técnicas (que sólo disponen de UMTS y HSDPA para transmitir datos, de hasta 7.2 Mbit/s en condiciones óptimas, la mitad en la mayoría de los escenarios), creo que tiene más que ver con los tratos con las operadoras para no variar. Una videoconferencia de baja calidad sólo necesita un ancho de banda de 384 Kbit/s, pero tiene unos requisitos estrictos de jitter, retardos y pérdidas que con UMTS y HSDPA no están aseguradas en las operadoras, aunque podrían hacerlo. Pero el problema fundamental es que las operadoras no quieren que todos los usuarios usen videochat sobre sus redes de datos (ya sean de Apple, Samsung, o quien sea). Se está hablando que AT&T en EE.UU permitirá Facetime y otros videochats sobre sus redes celulares antes de final de año, así que en la práctica tampoco funciona FaceTime con el iPhone 4S y 5 en la mayoría de las redes de datos móviles, aunque tengan en muchos casos que ver con los problemas técnicos derivados de las videoconferencias (pérdidas, retardos, jitter).
- Safari: lista de lectura offline: que no esté esta característica en iPhone 3GS me resulta cuanto menos curiosa y, la verdad, no tengo explicación para ello.
Como veréis, el que estas características no se puedan utilizar en iPhone 3GS y 4 no justifica que el resto de mejoras de iOS 6 no se pudieran hacer llegar a esos iPhone. Esas mejoras incluyen nuevas aplicaciones de Apple (no, no incluyo Maps), mejoras en la configuración de privacidad, de las redes, más soporte a gráficos modernos (novedades en OpenGL), etc. El listado completo de cambios lo podéis consultar aquí, y valoradlo por vosotros mismos.
A continuación podéis ver la distribución por versiones de iOS que están instaladas. Puesto que Apple no proporciona estos datos desglosados, hay que recurrir a terceros para ellos, pero muestran datos de uso real de los dispositivos (accesos a Internet) de igual forma que los datos que proporciona Google son de accesos a Google Play (osea, de dispositivos que acceden a Internet). Los datos son de EE.UU y Canadá, pero los hábitos de consumo en el resto del mundo de los usuarios de iPhone no son muy distintos, y Chitika siempre ha sido bastante fiable a la hora de ver el estado de iOS.
Problemas de la fragmentación
Por supuesto, la fragmentación tiene diversos problemas:
- Seguridad: los problemas de seguridad de versiones antiguas no se corrigen por sí solos. Si Google no permite que instales Android 4.0 en tu terminal, estás expuesto a una buena cantidad de amenazas de seguridad ya plenamente conocidas y que hace que millones de terminales Android a lo largo de un año se vean expuestos a ellas, como el envío de SMS premium que nos dejan tiesa la cuenta bancaria. Este problema no ocurre en iOS, con una fragmentación inexistente.
- Desarrolladores: no tienen acceso a las nuevas APIs y funcionalidades de las versiones más modernas. Tienen que recurrir a librerías de terceros, más lentas y menos eficientes que las de Google, para hacer sus aplicaciones compatibles con Android 2.3 o inferiores. En algunos casos, se convierten en versiones inmanejables. Google Play permite a los desarrolladores descargar distintas versiones de su aplicación en función del sistema operativo instalado, por lo que se crea una multitud de versiones distintas de una misma aplicación con capacidades limitadas, como es el propio ejemplo de la aplicación de Gmail, que cuenta con distintas características para Android 2.2, 4.0 y 4.1. Ojo, que esto me parece perfecto para que una mayor cantidad de usuarios accedan a las aplicaciones, pero dificulta la labor de los desarrolladores.
En iOS es blanco o negro: o tienes esta versión de iOS, o no lo puedes usar. Y esa versión suele ser la 5+ instalada en el 97 por ciento de los iPhone. El tema de la seguridad tampoco es un problema para los usuarios de iPhone, ya que junto con Windows Phone, es prácticamente inexistente. Existen problemas, cierto es, pero o no se consiguen explotar como ataques de día cero, o son corregidos en el lado de Apple (aunque no siempre lo rápido que deberían). Y sobre los desarrolladores, Apple puede no dar un soporte adecuado a la mayoría (los nóveles lo tienen complicado), y es claramente un punto en el que deben de trabajar para mejorarlo junto al propio iCloud. En servicios, Google sigue siendo mejor.
Conclusión
La respuesta a la gran pregunta de "¿existe fragmentación en iOS?", no es "42", sino más bien "no". Es difícil calificar como fragmentación que la mayoría de las aplicaciones de la App Store requieran iOS 5 o superior y que esa versión esté instalada en el 97 por ciento de los terminales. Incluso iOS 6 está instalado en casi el 80 por ciento de los dispositivos iOS. En Android, la versión de la época de iOS5 era Android 2.3, y esta versión sigue instalada en el 38 por ciento de los terminales que acceden a Google Play. Las versiones 4.x de Android están instaladas en el 54 por ciento de los terminales, y la más reciente, 4.1, en el 27 por ciento. Muy lejos de ese 80 por ciento de iOS 6 también de junio del año pasado.
Eso sí, esto no quita para que la falta de algunas características en iPhone 3GS y 4 sean utilizadas para atacar constantemente a iOS y como defensa de la fragmentación en Android. Ahora bien, puedo estar equivocado en alguna de mis observaciones, y por eso me gustaría que dejárais vuestras opiniones en los comentarios para que podamos charlar sobre este interesante tema. ¿Crees que hay fragmentación en iOS?