Menudo revuelo se ha montado, WhatsApp acaba de lanzar un servicio que sus usuarios llevan varios años exigiendo. Que sea una plataforma de mensajería multiplataforma... Algo que ya es Telegram y que muchos agradecemos. Pero vamos a dejarnos de a quien quieres más, si a papá o a mamá, vamos a centrarnos en lo que importa, el porqué y cómo se podría solventar este problema.
Como usuario de iOS que soy, me gusta que haya la mayor opción posible de aplicaciones para la plataforma que he decidido usar y siendo justos, hay que recordar que WhatsApp nació en iOS (en 2009) y no fue hasta agosto de 2010 cuando por fin dio el salto a Android. WhatsApp ha tenido muchas deferencias con los usuarios de iOS (no hay cuota anual) pero, parece que con este movimiento quisiera morder la mano de un aliado por muchos años.
Vamos a empezar con un poquito de historia, mezclada con opinión personal. Evidentemente, es una opinión que no podemos contrastar realmente luego puedo equivocarme, pero allá voy...
WhatsApp no esperaba, ni de lejos, llegar a ser algún día lo que es hoy en día, la aplicación de mensajería instantánea por excelencia. A día de hoy estamos hablando de 700 millones de usuarios activos al mes y más de 30.000.000.000 de mensajes enviados cada día... Ahí es nada.
WhatsApp tienen los recursos y un equipo de desarrollo muy válido.
¿Y con este volumen de usuarios, cómo no ha sido capaz de crecer en concordancia? Recordemos que le costó varios meses adaptar la GUI al nuevo diseño de iOS 7 y es ahora cuando conseguimos una aplicación Web que nos permita ver los mensajes que nos envían desde nuestro ordenador. WhatsApp es un grande, recientemente comprado por Facebook por 19.000 millones de dólares, me temo que recursos tendrán y equipo de desarrollo válido para conseguir lo que quieran, también.Tenemos ejemplos de que las cosas pueden hacerse mejor. Sí, me refiero a Telegram
De verdad que me fastidia enormemente ser cansino con este tema, pero Telegram es el claro ejemplo de como se tienen que hacer las cosas. ¿Habéis probado a comprobar cuanto tarda WhatsApp en reconocer un nuevo contacto introducido en nuestra agenda? Pues en un sistema iOS, con el orden de 2000 a 3000 entradas en la agenda, puede tardar del orden de 15-20 segundos.
En su versión de Windows Phone, que estuve probando durante unos meses, podían pasar minutos desde que introducía un contacto en la agenda hasta que WhatsApp me lo mostraba para poder enviarle mensajes. WhatsApp tiene ciertos aspectos en su código que hacen pensar que hicieron las cosas sin pensar realmente en el futuro y vete tú ahora a "meterle mano".
Y no penséis que la aplicación Web es la panacea... Si tienes el teléfono sin cobertura, o sin batería... O simplemente en modo avión ¿Qué ocurre? Simplemente no funciona. ¿Es esa una solución para una aplicación de esa envergadura? A mi me parece que no.
Telegram es el patito feo de esta historia... ¡Es que nadie lo usa! Tras las recientes caídas de WhatsApp (estando sin poder dar servicio durante varias horas) Telegram registró el alta de más de 100 nuevos usuarios por segundo. Pero pasa lo de siempre, la gente se lo instala... Lo utiliza... Y se vuelve a WhatsApp.
Yo mismo, cuando había conseguido atraer a todo el grupo de amistades de la infancia a Telegram, se volvieron en manada a WhatsApp porque otro amigo con pocos conocimientos de informática se había comprado un SmartPhone y se había instalado WhatsApp... En vez de decirle "Instálate Telegram anda..." Todos se volvieron allí.
Pero seamos justos, WhatsApp tiene una filosofía e iOS choca con ella
Y no solo con iOS, siendo realmente justos, la filosofía de WhatsApp difiere totalmente con la filosofía de Telegram (la aplicación con la que nos gusta tanto compararla) Para informarme un poco e intentar vislumbrar las razones por las cuales WhatsApp Web no está disponible para iOS, me he puesto en contacto con Ander Suárez desarrollador de iOS, y responsable de varias aplicaciones para iOS como PerPetuall.
Como siempre esta dispuesto a hablar contigo y es una de esas personas a las que gusta escuchar sobre estos temas (sobre todo cuando sabes que controla mucho sobre el mismo). Y la verdad es que me ha gustado mucho mi conversación con él.
Ander Suárez, desarrollador de iOS nos explica pormenorizadamente el funcionamiento de las tareas de background en iOS
Primero de todo, me ha dejado claro el sobresaliente equipo que hay detrás de la aplicación. En el momento de la compra de la compañía por parte de Facebook, el equipo de ingenieros de WhatsApp rondaba la treintena de personas y en todo ese tiempo, aún con el volumen de usuarios de la aplicación, no habíamos tenido caídas importantes del servicio (imperceptibles, salvo alguna sonada que podemos contar con los dedos de una mano.Ander me da una explicación (siempre bajo su punto de vista) a la maniobra de WhatsApp. Primero de todo, la filosofía de la aplicación está pensada para funcionar con una única sesión en un único dispositivo. Si queremos utilizar la misma cuenta, en otro dispositivo, deberemos desloguearnos del dispositivo inicial. Cosa que no ocurre con Telegram, que permite tener varias sesiones de una misma cuenta en dispositivos diferentes a la vez.
Para ello, más que crear una web donde lleguen los mensajes a través de servidores de la compañía (que sería más complejo y costoso de mantener) WhatsApp ha decidido utilizar nuestro teléfono móvil como plataforma, siendo este el encargado real de los mensajes que nos llegan a nuestro teléfono. La verdad es que la solución resulta ingeniosa, pero esto hace que este concepto, para el cual no habría ningún problema en Android, resulte poco viable para iOS.
No porque no sea capaz de hacerse, sino porque la experiencia de uso de la aplicación se vería mermada y es más que seguro que a los desarrolladores de WhatsApp no le interesa. Para ello tenemos que pensar en como maneja iOS las aplicaciones en segundo plano y Ander nos despeja todo tipo de dudas.
Apple controla férreamente como actúan las aplicaciones en segundo plano. Una aplicación normal, puede estar ejecutándose un máximo de tres minutos (aproximadamente) hasta que iOS la cierra. El tiempo, hasta la llegada de iOS 7, era de 10 minutos pero Apple decidió bajar este tiempo. Por lo tanto, el proceso en background encargado de enviar mensajes, que sería el que serviría de puente con la Web, dejaría de enviar mensajes a los tres minutos de entrar en segundo plano.
Para que la aplicación consiga volver a enviar los mensajes que nos llegan a la web, deberíamos activar el teléfono y volver a entrar en la aplicación. DropBox sería un ejemplo de este tipo de procedimiento: la aplicación sube fotos en segundo plano hasta que pasan los tres minutos, tras lo cual deberemos volver a entrar en la aplicación para que suba las posibles fotos que puedan quedar.
Para aplicaciones con necesidades especificas, Apple ofrece la posibilidad de ciertas tareas en segundo plano de forma continua, tales como seguimiento de localización (Runtastic) o reproducción de audio (Spotify). También ofrece tareas denominadas Background Fetch: autoejecución en segundo plano para realizar una tarea durante un periodo corto de tiempo (por ejemplo, predescarga de novedades de una red social).
Sin embargo, estos modos están enfocados para ser usados para estas tareas. Apple nunca va a permitir que se vea comprometida la batería o el sistema por una aplicación corriendo en segundo plano... Evidentemente hay maneras de intentar "piratear" esto, pero se corre el riesgo evidente de que Apple rechace la aplicación.
WhatsApp ha desarrollado una solución a algo que le demandaban sus usuarios siguiendo la filosofía original de la aplicación. Y han decidido conscientemente no desarrollar una versión para iOS a sabiendas de que dada la política de uso de Apple con sus Apis de desarrollo, la experiencia del usuario final de la aplicación no sería satisfactoria.
¿Veremos un cambio temprano a todo esto? Quien sabe, tal vez Apple permita a WhatsApp ciertas licencias, aunque con el historial de Apple, esto parece poco probable. ¿Debería cambiar WhatsApp para amoldarse a Apple? Pues, rompería la filosofía que los desarrolladores tienen de su aplicación. Parece que estamos ante una encrucijada donde los que pierden realmente son los usuarios de iOS y WhatsApp que quieren usar WhatsApp Web.
Ver 86 comentarios