¿El futuro de la movilidad?

Dicho esto, y viendo la evolución que ha tomado todo lo relacionado con la movilidad, creo que cualquier cosa que

Dicho esto, y viendo la evolución que ha tomado todo lo relacionado con la movilidad, creo que cualquier cosa que podamos decir o escribir sobre la misma se debería tomar como una serie de afirmaciones, acertadas o no, que casi con total seguridad quedarán desfasadas en un corto espacio de tiempo.

Cada vez con mayor frecuencia me encuentro ante la situación de que mis potenciales clientes me preguntan por cual es la alternativa más adecuada para implantar una solución móvil a sus procesos. Aunque no exista una única respuesta (de esto os hablaré más adelante), lo que sí percibo es que mis propias respuestas han cambiado en gran medida respecto a las que podría haber dado hace apenas dos años. ¡Qué deprisa cambian las cosas!

No pensemos que cuando hablo de solución, únicamente me refiero a lo que somos capaces de hacer sobre un dispositivo (smarthone o tablet). En este tipo de desarrollos hay que tener muy en cuenta desde las comunicaciones hasta los distintos protocolos y estándares utilizados, así como el acceso a la información final del lado servidor donde, en la mayoría de los casos, se concentra toda la lógica de negocio en torno a la que gira nuestro servicio movilizado.

Y ahora intentemos contestar a nuestra pregunta: ¿cuál es el futuro de la movilidad? Sinceramente (y eso que yo mismo la he formulado) la pregunta es totalmente errónea, ya que, de la noche a la mañana, ha pasado de ser algo que parecía el futuro a ser algo que nos ha arrollado y se ha convertido en el presente. En un presente que nos invade y nos rodea y al que, a partir de ahora, nos vamos a tener que acostumbrar puesto que el principal objetivo de la gran mayoría de nuevos servicios e iniciativas será el mundo móvil. Con esto no estoy queriendo decir que el mundo sobremesa esté muerto, ni mucho menos, pero sí que considero que su curva de utilización va a bajar en picado y que tenderá a ámbitos de nicho.

Según muchos estudios, a lo largo de 2014, el mayor tráfico de datos se producirá desde smarthons/tablets quedando el generado desde PC/portátiles relegado a un segundo lugar. A partir de estas informaciones, surge la filosofía del mobile first que, básicamente, nos indica que, cuando diseñemos nuestras soluciones, pensemos primero en los móviles dado que es mucho más sencillo rellenar que limpiar. Sin duda, para este trabajo es muy importante disponer, dentro de nuestro equipo, de buenos creativos y diseñadores.

Para complicar todo esto un poco más, habrá que tomar la decisión de si lo más adecuado para movilizar nuestro servicio será una aplicación nativa o, por el contrario, será el desarrollo de una web adaptada a nuestros dispositivos (con HTML5, CSS3…). La respuesta es bien sencilla: depende, y depende de muchas cosas, siendo algunas de las más importantes las siguientes: ¿qué queremos mostrar/ofrecer?, ¿a quién nos dirigimos?, ¿de qué presupuesto disponemos?, ¿tenemos el personal adecuado?, etc.

Resumiendo, no es lo mismo mostrar una información corporativa/comercial, que querer ofrecer a nuestros clientes un valor añadido proporcionándoles una herramienta de gestión a través del canal móvil.

WEB MOBILE. En este sentido, si nuestra decisión es el desarrollo de una web, sería muy recomendable empezar a estudiar las técnicas de responsive web design y, posteriormente, aplicarlas en el desarrollo. Estas técnicas se fundamentan en la realización de un único desarrollo, el cual será lo suficientemente inteligente para ser mostrado de la manera más óptima posible en cada uno de los dispositivos (smarthone, tablet, PC…) incluso si los utilizamos de manera horizontal o vertical. Como es lógico, esta técnica no pretende únicamente cambiar los tamaños de lo que visualizamos, si no que pretende mostrar lo más importante en cada caso sin que afecte a una correcta navegación y, por supuesto, sin afectar a la mejor experiencia de usuario.

APLICACIÓN NATIVA. La segunda alternativa planteada son las aplicaciones nativas. Éstas, en la gran mayoría de los casos, son descargadas de los stores correspondientes (Apple Store, Google Play, etc.), aunque existen otros métodos de distribución alternativos que no están bajo el control y supervisión de los primeros.

Para conseguir este tipo de apps, la opción más obvia, está en hacer un desarrollo específico para cada sistema operativo. Por poner un ejemplo, nos podemos descargar el IDE de Apple (xCode), escribiremos nuestro propio código con su lenguaje (Objective-C), compilaremos un instalable (.ipa) y lo publicaremos en su tienda (Apple Store). Por supuesto, esto lo deberemos hacer para cada uno de los sistemas en los que queramos tener presencia (Android, BlackBerry, Windows Phone, etc.).

Sin duda, si tomamos esta opción, a priori, conseguiremos los mejores resultados, realizando unas aplicaciones muy óptimas y consiguiendo la mejor experiencia de usuario. Eso sí, no todo iban a ser ventajas, nuestros costes de desarrollo se nos disparan, será difícil encontrar buenos profesionales para cada lenguaje, además corremos el riesgo de no conseguir la misma calidad en todas las plataformas y, en parte, estaremos hipotecando nuestro futuro puesto que el mantenimiento de cada una de estas aplicaciones en paralelo, probablemente, nos traerá más de un quebradero de cabeza.

Para solucionar esta problemática, desde hace ya bastantes meses, existe un importante número de frameworks de muy distintas características que buscan un mismo objetivo, y que no es otro que facilitar el desarrollo y unificar la compilación de los instables. Resumiendo, que escribiendo un único código fuente, seamos capaces de llegar a varias plataformas.

Por su extendido uso, y por tener detrás al gigante Adobe, nos pondremos como ejemplo PhoneGap y su estrategia para conseguir el objetivo anteriormente comentado. En realidad, el planteamiento base es muy sencillo, ya que lo que nos aporta este framework es habilitarnos un único elemento nativo de cada sistema operativo, y que no es otro que un objeto web, que ocupará el cien por cien de la pantalla, y sobre el que lanzaremos la navegación de páginas desarrolladas con HTML5. De esta forma, nos abrirá una ventana enmarcada dentro de una aplicación nativa sobre la que podremos visualizar una web completamente independiente (o casi) del sistema sobre el que esté ejecutándose y sobre la que podremos utilizar el API que nos ofrece la plataforma para acceder a las características y recursos del dispositivo (cámara, localización, sistema de ficheros, etc.). Si, además, a nuestro servicio queremos aportarle una correcta arquitectura y una escalabilidad acorde, es muy recomendable apoyarnos en una serie de frameworks JavaScript, que pueden variar desde jQuery Mobile, a otros como Marionette, Require, Backbone, etc.

Como decíamos antes, existen muchas otras alternativas a PhoneGap, por ejemplo Titanium, que todo el código está escrito en JavaScript, CoronaSDK (con su lenguaje LUA), Xamarin que basa su código en.NET, y un largo etcétera.

Pero, como no podía ser de otra manera, también tienen sus inconvenientes, destacando como más importante, que la experiencia de usuario no es la misma, ya que deberemos desarrollar pensando en los distintos sistemas operativos sin poder centrarnos en una única problemática. Otro de los grandes handicaps que adolecen algunos de estos frameworks es que el rendimiento se aleja bastante del nativo puro, si bien, en este sentido, se ha avanzado mucho y, en gran medida, puede ser solventado por las buenas prácticas de nuestro equipo de desarrollo.

Y para terminar…

Volvamos al principio, ¿dónde está el futuro?, pues, sinceramente, ni idea. No porque no tengamos buenas alternativas delante, sino porque el escenario es tan variado que no sabría decantarme y, lo que es más probable, algo se estará cocinando en las los laboratorios de Apple, Google, Microsoft, etc., que estoy seguro nos volverá a cambiar completamente el panorama haciendo que nos tengamos que replantear nuevamente las posibilidades que se nos presentan. Eso sí, ¿qué sería de nosotros y a qué nos dedicaríamos si no tuviéramos que rehacer todo de nuevo cada poco tiempo?

Alberto Salmanca, responsable de Unidad de Movilidad de BABEL Sistemas de Información.