--

El miércoles 12 de enero de 2011, Apple lanzó para la comunidad de desarrolladores de iOS, la primera beta de iOS 4.3 junto a su SDK. Este nuevo desarrollo aporta nuevos gestos para el iPad, la opción WiFi Tethering y unas cuantas cosas más: correcciones de errores, mejoras, etc. Pero uno de los jarros de agua fría que se llevó la comunidad de usuarios es el hecho que dicha SDK y versión dejaban atrás al iPhone 3G y al iPod Touch de 2ª generación (de la misma forma que iOS 4 ya dejó atrás al iPhone EDGE y al iPod Touch de 1ª generación).

Se han alzado muchas voces críticas acusando a Apple de dejar de dar soporte a un terminal como el iPhone 3G, plenamente operativo a día de hoy, en un buen número de tareas. No sólo iOS 4 llegó sin multitarea para la generación de terminales de 2ª generación (iPhone 3G e iPod Touch 2G), sino también sin soporte de fondos de pantalla personalizados. Y además, para mayor problema, el rendimiento de iOS 4 sobre estos terminales bajaba de una manera espectacular con respecto a la anterior 3.1.3. Las subsiguientes revisiones iOS 4 fueron dando mayor estabilidad y rendimiento al 3G, pero ya nunca volvió a ser el mismo.

Pero… ¿por qué sucede esto? ¿cuál es el motivo de todos estos problemas? Vamos a intentar explicarlo de la manera más clara posible.

Antigüedad del terminal: un iPhone de hace 2 años y medio.

Empecemos por lo más obvio. El iPhone 3G es un terminal que fue presentado en junio de 2008, hace ya 2 años y medio. Es un tiempo bastante largo teniendo en cuenta la vida media que tienen otros smartphones (no teléfono móviles, sino smartphones). Esto nos da que pensar sobre lo bien hecho que está este terminal y la vida que le ha dado iOS como sistema operativo sostenible en el tiempo.

El problema es que en tecnología nada dura siempre y la increíble evolución que ha tenido el sector ha pisado el acelerador, dejando atrás a los terminales más antiguos en cuanto a posibilidades. Sólo hay que recordar que el iPhone e iOS no han cumplido aún 5 años de vida. Una sorprendente evolución en tan poco tiempo de vida.

Es más, podemos fijarnos en Android para ver la meteórica ascensión que tienen las características y funcionalidades de los smartphones con este sistema, como ejemplo de un caso que no es aislado a Apple sino al universo smartphone en general. El T-Mobile G1 (o HTC Dream) fue el primer terminal aparecido con este sistema, el 2 de octubre de 2008 en Estados Unidos. El pasado julio, se anunció que dejaba de venderse y finalmente nunca ha obtenido la actualización a Android 2.0 de manera oficial y se ha quedado en la 1.6. En esa mismas fechas, iPhone 3G también dejaba de venderse por parte de Apple. Si datamos la aparición de iOS 4 como el “fin del soporte” del terminal, han sido dos fructíferos años de servicio con todas sus características y actualizaciones al 100%.

Blackberry ha hecho también lo mismo y varios de sus terminales se han quedado en la versión 4 de su OS, otros en la 5 y sólo los nuevos y más modernos podrán disponer de la nueva OS 6. Cuando la carrera tecnológica es muy rápida, es normal que los corredores se queden atrás. En nuestro consuelo queda que los terminales, en la generación actual, han obtenido la suficiente potencia y características como para alargar en el tiempo su obsolescencia. El sector en este sentido, parece haberse estabilizado.

Características técnicas

El iPhone 3G tiene una CPU Samsung de 32bits RISC ARM1176, a una velocidad de 412Mhz, originalmente a 620Mhz. pero bajado de frecuencia para ahorrar batería. Dispone de 128Mb. de RAM y un procesador gráfico (GPU) PowerVR MBX Lite 3D. Es la misma arquitectura del iPhone 1G o iPhone EDGE. Su procesador principal soporta el set de instrucciones ARMv6, pero no el set que soportan todos los nuevos terminales, a partir del iPhone 3GS: El ARMv7. Este nuevo set de instrucciones, una de las principales características que aportó fue una gestión mucho más eficiente del VMSA o arquitectura de sistema de memoria virtual.

La cantidad de RAM del 3G es insuficiente para un correcto rendimiento de características avanzadas como la multitarea, pero a pesar de todo Apple desarrolló la multitarea de iOS usando la memoria virtual del ARMv6 y también la del ARMv7, para que funcionara en todos los terminales. Tras las pruebas de laboratorio, el iPhone EDGE se mostró completamente ineficiente, por lo que fue descartado para todo el upgrade. Fuentes no oficiales comentan que el motivo de descartar las primeras versiones de iPhone y iPod Touch, es debido al chip de comunicaciones 3G y la integración en el cambio de frecuencias del sistema operativo iOS 4. En el caso del iPod Touch 1G, es el único iOS que no tiene infraestructura hardware de micrófono, integrado también en las características del núcleo de iOS 4 y sus Frameworks.

En cambio, iPhone 3G soportó bien iOS 4 y todas sus nuevas características y cambio en la estructura del sistema, salvo por la memoria que ocupa la imagen de fondo y la gestión ineficiente de la memoria virtual en ARMv6 que le impedía una garantías de funcionamiento con la multitarea. Por ese motivo, Apple decidió desactivar estas funciones en iOS 4 para iPhone 3G. Se pueden volver a activar con jailbreak, pero ya no es su responsabilidad si el terminal no da la talla. Igualmente si iOS 4 ha dado problema de rendimiento en el 3G sin multitarea, imaginad con ella.

Los defensores del jailbreak hablan de un iPhone 3G de rendimiento magnífico con las herramientas propias de la multitarea con backgrounder o similares. No voy a discutir con ellos, pero en mis pruebas el rendimiento era malo y nada estable. He probado varias versiones, programas, terminales e incluso la multitarea oficial. Es triste como el iPhone se convierte en la tortuga más lenta del grupo. Hay una gran diferencia entre que algo pueda hacerse, y que se haga bien. En este caso Apple tomó la decisión (para mi acertada, para otros no, lógico) de no certificar un buen rendimiento y eliminar esta característica.

iPhone 3G

ARMv6 vs ARMv7

iPhone 3GS, presentado en junio de 2009, supuso un salto de gigante en la generación de CPUs. El Samsung S5PC100 ARM Cortex-A8 que lleva, es un avión en comparación con su antecesor, y no por nada la S del mismo significa Speed (velocidad). Además duplicó la cantidad de RAM e incorporó el set de instrucciones ARMv7, con sus grandes mejoras de rendimiento y gestión de la memoria virtual. iOS tuvo que adaptarse en gran parte para sacar el máximo rendimiento de este nuevo set de instrucciones, y muchas de esas mejoras no pudieron replicarse para los terminales con set ARMv6. Mientras con la nueva CPU y el nuevo set un desarrollo daba una velocidad estupenda, el mismo desarrollo compilado y adaptado para ARMv6 con una CPU más antigua, no daba el mismo rendimiento ni eficiencia. Esto ha obligado a hacer mucho más que adaptar simplemente el código.

Aquí podemos entrar en la dialectica de si el desarrollo de Apple para la multitarea (que no es real, sino la disponibilidad de una serie de servicios en segundo plano y la posibilidad de snapshots de memoria para las aplicaciones que quedan atrás) es más o menos eficiente. Lo que es cierto es que su desarrollo fue realizado para sacar el máximo rendimiento del set ARMv7 e infraestructuras de procesadores de la gama Cortex A8. Luego, dicho desarrollo, se adaptó a la generación anterior, se comprobó que era ineficiente y se desactivo (que no eliminó) aprovechando sólo las partes que daban buen rendimiento. Todo este proceso concluyó en la realización de una versión litede un iOS 4 que fue concebido sobre una arquitectura más moderna, no soportada por los procesadores más antiguos. A nivel de arquitectura Apple se la jugó (pues lo más fácil es que hubiera dicho que iPhone 3G no tiene iOS 4 y punto) pero quiso arriesgar saliéndole la jugada bien, mal o regular, según el baremo de cada cual.

Futuro próximo

iOS 4.3 aporta una serie de funcionalidades muy interesantes, como la mejora de AirPlay o el Personal HotSpotAmbas tareas se basan en la multitarea, pues son servicios en segundo plano que el sistema ha de presentar, y están desarrolladas sobre base ARMv7. No tengo la confirmación al respecto, pero es lógico pensar que Apple haya decidido no programar estas funcionalidades en ARMv6, si ya las ha diseñado sobre una infraestructura multitarea, desactiva en los terminales antiguos. El hecho que el iPhone 3G fuera capaz de WiFi Tethering a través de la aplicación MyWi, no implica que el desarrollo de Apple sea el mismo. Estoy convencido que Apple habrá trabajado para que el gasto de batería y calentamiento del terminal sean inferiores, y darle la máxima optimización con el set de instrucciones más moderno. Porque por otro lado, la estabilidad y funcionamiento de MyWi dejaba que desear en muchas ocasiones (espero que Personal HotSpot no sea así). Por eso, veo razonable que no se haya presentado una versión iOS 4.3 para iPhone 3G.

Existe la posibilidad (pero no es más que una teoría) que Apple siga trabajando en depurar el rendimiento de iOS 4 para iPhone 3G, pero al no incorporar estas funcionalidades, ni se ha molestado en sacar aún una revisión de iOS para él. Recordemos que el propósito principal de esta nueva beta de iOS es probar los nuevos gestos del iPad, el AirPlay con funcionalidad completa y el Personal HotSpot. Nada más.

De lo que podemos estar seguros es que los iPhone 3GS, iPhone 4 y iPad, van a tener un ciclo de vida bastante más amplio que su antecesor iPhone 3G, que se ha encontrado en un punto intermedio donde se ha quedado fuera de la importante evolución de las CPUs, memoria y características. Creo que no me equivocaré cuando veamos el iPad 2, y veamos lo genial que es pero que basicamente podemos hacer lo mismo que ya hacíamos. Lo mismo pasará con iPhone 5 e incluso me atrevería a aventurar que cuando se presente iPhone 6 y tengamos el 4 en la mano, muchos se plantearán si realmente merece la pena el cambio. El tiempo dirá si me equivoco o no.

De hecho, la gran mayoría de las CPUs de los actuales móviles tienen la base de un ARM Cortex A8. Su evolución, el Cortex A9, es el procesador de doble núcleo que va a incluirse en la generación que vendrá en unos meses (procesadores basados en él). Y dicha CPU sigue siendo de la misma arquitectura ARMv7. Y esto no es sólo aplicable a Apple. Es aplicable a Android, Blackberry y el resto de marcas y sistemas. Tanto en smartphones como en tablets.

iPhone original

Resumiendo

¿Estoy defendiendo a Apple? Ni mucho menos. Estoy exponiendo hechos, para que cada cual saque sus propias conclusiones. Con estos hechos sobre la mesa, obtenidos de un profundo trabajo de investigación, cada uno podrá dilucidar con más peso su propia opinión. Si Apple lo hizo fatal, si lo hizo bien o lo hizo regular. Lo que pretendo con este artículo es dar hechos y explicaciones, y que cada uno juzgue… La conclusión es propiedad de cada cual y será tan válida como la de cualquier otro.

El único hecho irrefutable es que la tecnología móvil en los últimos años (muy pocos) ha evolucionado a pasos de gigante, y todos los terminales (no sólo los de Apple) han experimentado una evolución asombrosa y en algunos casos casi prodigiosa. El otro día comparé un HTC Magic con un Galaxy S, y un Hero con un Desire HD, y parecía que habían pasado eones entre uno y otro (figurativamente hablando). Y nada más lejos. Estamos hablando de un mercado (el de los smartphones) con muy poco tiempo de vida sobre el concepto que Apple presentó en 2007. Y aún nos queda por ver y por evolucionar, y poco a poco nos iremos acercando al momento en que tendremos una estabilidad que nos permitirá que nuestros terminales tenga una vida útil más duradera. En este sentido hemos dado un paso importante y los terminales que hemos comprado en los últimos meses tengo la teoría (basado en la evolución del mercado) que durarán bastante (tecnológicamente hablando).

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

También en Hipertextual: