Apple con el iPhone nos tiene acostumbrados a solucionar grandes carencias de su terminal con geniales soluciones.
De todos es sabido por ejemplo, que el iPhone no contaba hasta el firmware 3.0 con algo básico como cortar, copiar y pegar texto, el caso es que cuando al final lo implementan lo hacen de una manera muy original y que supera ampliamente las expectativas de los usuarios y deja a la competencia otra vez un paso por detrás.
Esto mismo es aplicable a los mensajes MMS (totalmente integrados en la aplicación de mensajes, incluso con la posibilidad de enviar vídeos), al Bluetooth (que sin ser tan «abierto» como en otros dispositivos sí permite a través de API’s que los desarrolladores lo gasten para sus aplicaciones fácilmente), posibilidad de realizar vídeo (con una fantástica interfaz que permite editar el video al vuelo) y un largo etcétera…
Estas son las ventajas de ir puliendo cada vez mas un software que corre en (casi) en el mismo hardware, es un fenómeno parecido al de las consolas donde, por ejemplo, hemos asistido a un renacimiento de la consola XBOX simplemente con una actualización de software manteniendo el mismo hardware de hace años.
Apple acertó invirtiendo muchos esfuerzos en realizar un gran hardware con una interfaz rompedora y que está completamente en forma después de dos años (con las revisiones que han supuesto el iPhone 3G y el iPhone 3GS con respecto al iPhone original).
Pero hay todavía un detalle muy importante donde el iPhone está claramente por detrás de sus competidores y es el de permitir a las aplicaciones de terceros funcionar en segundo plano. Apple argumenta y con toda la razón del mundo que dar rienda suelta a desarrolladores para que dejen sus aplicaciones ejecutándose podría ir en detrimento de la experiencia de usuario (más lag a la hora de usar el dispositivo) y de la duración de la batería.
Apple se salió por la tangente y llevó a la práctica un estupendo sistema de notificaciones PUSH con el que las aplicaciones ya no necesitan correr en segundo plano ya que son unos costosos servidores los que avisan a nuestro dispositivo del evento que haga falta que se nos muestra en forma de sonido, mensaje o «badge». A partir de recibir esa notificación ya el usuario decide qué hacer, por ejemplo ejecutar esa aplicación y ver de qué trataba ese mensaje por ejemplo.
Este sistema funciona muy bien con casi todos los requerimientos de las aplicaciones que necesitan ejecutarse en segundo plano, un claro ejemplo son las aplicaciones de mensajería instantánea, ¿para qué quiero estar ejecutando una aplicación si sólo necesito de que me avisen cuando alguien me ha escrito algo?…
Pero hay otras aplicaciones que no funcionan bien con este método, un clarísimo ejemplo es Goggle Latitude.
Esta aplicación nos informa de la localización de nuestros amigos en un mapa donde también nosotros podemos compartir nuestra ubicación y dotar todo ello de un carácter social. Esta aplicación en el iPhone ha tenido que ser implementada mediante una web app, es decir, que corre sobre Safari y no es una aplicación nativa. Esto quiere decir que cuando queremos hacer cualquier otra cosa en el iPhone debemos quitar Google Latitude para poder hacer otra cosa puesto que no lo podemos dejar corriendo en segundo plano para que nos notifique por ejemplo que un amigo ha llegado al punto de reunión, o lo que es más importante que vaya actualizando puntualmente nuestra posición para que los demás la vean.
Quería llegar hasta aquí para dar mi opinión sobre todo esto y es que en Cupertino son conscientes de esta carencia en el iPhone y que nos van a sorprender y pronto con un modelo para permitir ejecutar aplicaciones en segundo plano que va a sorprender de nuevo a propios y extraños y que va a dejar a Apple de nuevo por delante de la competencia, pero para poder llevar esto a cabo hay dos grandes cosas que Apple tendrá que cuidar al máximo y son la experiencia de usuario y la duración de la batería. ¿Cómo va a conseguirlo?
Pues parte de la solución la tenemos en el mercado y es el nuevo iPhone 3GS, yo estoy seguro que una buena solución a la multitarea «completa» no era posible con el iPhone original y con el 3G por limitaciones de memoria y de velocidad del procesador, ahora con el nuevo iPhone 3GS que tiene el doble de RAM y un procesador más potente solo queda una cosa y es establecer una política a nivel del planificador del sistema operativo que permita la multitarea sin penalizar los aspectos comentados anteriormente.
Apple seguro que se va a sacar de la manga unas API’s o como queráis llamarlo que permitirán a las aplicaciones ejecutarse en segundo plano, eso sí, cumpliendo a rajatabla con las condiciones que va a imponer Apple, (seguramente establecerá unos «slots» para poder ejecutarse, unas limitaciones en cuanto al uso de la pila, de memoria, paginación etc…).
En resumen creo que dentro de muy poco veremos un firmware 3.2 que permitirá a aplicaciones ejecutarse en segundo plano (si no me equivoco sólo en el iPhone 3GS) y que dejará de nuevo al terminal de Apple en condiciones de seguir luchando por ser el mejor smartphone del mercado.