Publicado en
Negar que la revolución del cómputo móvil ya comenzó es una necedad: ya en 2012 la mitad del tráfico web de los 100 sitios más visitados venía desde dispositivos móviles como teléfonos celulares y tabletas; para inicios de 2013 ese número había aumentado al 68%, lo que por un lado indica el enorme crecimiento del ecosistema de dispositivos móviles a costillas de los equipos de escritorio, y por otro las nuevas dinámicas en uso de estos dispositivos que están siempre conectados y siempre con su usuario.
Para los profesionistas de TI este auge viene con un costo: un ecosistema diverso con silos cerrados de tecnologías propietarias, que no son necesariamente interoperables, y ciclos de actualización y cambio más cortos, que aumentan tanto el costo como el esfuerzo para llegar a la mayor cantidad posible de usuarios, mientras que para hacer liberaciones de software hay menos tiempo y más intermediarios. La alternativa más viable a esta fragmentación de mercado es HTML5 y las web apps.
El problema de las app stores
Antes del iPhone, la entrega de aplicaciones móviles era muy compleja: las personas se “pasaban” apps por medio del puerto infrarrojo de sus dispositivos, o las descargaban desde sitios web de dudosa reputación con riesgo de exponer sus datos personales y el acceso a su información de pago. Con el iPhone, también llegó la Apple App Store, un servicio de compra y descarga gestionado por Apple en el cual un programador o empresa podía dar a conocer sus apps, distribuirlas e incluso venderlas sin necesidad de montar toda la infraestructura de pago por su cuenta. El Apple App Store vino a darle al usuario un punto único de descarga de aplicaciones, con la confianza —hasta cierto punto— de que como las apps que obtiene de ahí son evaluadas y sancionadas por Apple, vienen de fuentes confiables y están libres de malware y virus. Pronto otras compañías como Nokia, BlackBerry, Palm, Microsoft y Google comenzaron a implementar el mismo modelo con algunos cambios menores.
El problema de las app stores se volvió pronto evidente para los desarrolladores y empresas con soluciones para móviles: la publicación de la app ya no depende del desarrollador sino de los dueños de la tienda, que pueden tardar hasta ocho semanas en cada revisión —depende del volumen de apps que se estén publicado en un momento. Esto agrega incertidumbre al final del proceso para salir a mercado y aumenta el tiempo para corrección de errores o futuras actualizaciones.
Otro riesgo para los desarrolladores es que para publicar en una App Store puede que se requiera utilizar las herramientas propietarias de la empresa detrás de la tienda; de no hacerlo, corremos el riesgo de que la app sea rechazada. Algo como esto sucedió en 2010 cuando Apple comenzó a rechazar apps creadas con Adobe Flash.
Por otro lado, al construir aplicaciones nativas, si queremos llegar al mayor número posible de usuarios tenemos que construir una edición de la aplicación para cada plataforma (ej. iOS, Android, BlackBerry, Windows Phone). Esto es similar a lo que ocurría en los días de la web cuando era necesario hacer distintas versiones del mismo sitio, una para cada navegador web, en perjuicio de quien paga el desarrollo o en detrimento de una experiencia consistente, en la cual el usuario era obligado a instalar un navegador diferente para acceder a un sitio.
Para las compañías que desarrollan y mantienen plataformas móviles, el motivo de este modelo es claro: encerrar a los desarrolladores en un ecosistema propietario donde el código que escriben no es compatible con ninguna otra plataforma al tiempo que, al especializarse, los desarrolladores quedan cada vez más inmersos en ella y es menos probable que se muevan a una plataforma distinta.
Estándares e interoperabilidad
Existen en el mercado varias plataformas, frameworks y herramientas que permiten el desarrollo de apps desde una base de código común hacia varias plataformas como: Titanium Appcelerator, PhoneGap, Xamarin o GeneXus, por mencionar algunos; no obstante, esto no resuelve el problema de que se sigue dependiendo de las app stores para llegar a los usuarios. Adicionalmente, cada plataforma tiene sus propias guías de diseño visual que son incompatibles con las demás.
El ecosistema de cómputo móvil ha pasado por las mismas etapas que otras tecnologías enfocadas a usuarios finales, incluyendo aquella en la que una o varias compañías dominantes —o con recursos— intentan eliminar a la competencia usando la táctica conocida como “Adoptar, Extender y Extinguir” que básicamente consiste en encaminar a los usuarios a usar tecnologías no estándares controladas por un solo proveedor. Esta táctica se utiliza cuando hay un vacío en la definición de formatos completos y se implementa por medio de la participación de mercado de un producto exitoso para forzar un estándar de facto. Lamentablemente, tiene consecuencias nefastas para el mercado y el consumidor, ya que limita de forma artificial la creatividad y la competencia.
Cuando un ecosistema se estabiliza, es normal que la industria gravite hacia estándares que facilitan las buenas prácticas y permiten desarrollar proyectos de software a mediano o largo plazo con la certeza de que la plataforma no depende únicamente de una empresa. En el mundo de las PCs de escritorio, aunque hay lenguajes muy sofisticados para cada plataforma como .NET o Cocoa, no es sorpresa que muchos programas sean escritos en lenguajes “viejos” como C++, Java o QT, y el motivo es el mismo: evitar el “retrabajo” y mantener múltiples bases de código para servir a la mayor cantidad de usuarios.
El desarrollo de aplicaciones para escritorio dio un giro con el surgimiento de las aplicaciones basadas en web y de los proveedores de software como servicio, ya que no solo evita el trabajo de actualización y mantenimiento en cada PC, sino que cambian los modelos de compra de licencias a otros de suscripción, que son más accesibles para empresas y personas. Para los creadores de estos servicios, la perspectiva de poder servir a usuarios de manera instantánea en cualquier parte del mundo, sin intermediarios, es tan atractiva como la posibilidad de trabajar con estándares web como HTML, CSS y ECMAScript, al mismo tiempo que pueden tomar decisiones sobre cuál tecnología utilizar en su infraestructura sin afectar a los usuarios.
Actualmente, el 80% del tiempo que un usuario pasa en una PC, lo pasa usando su navegador web, y ya es normal que usuarios finales utilicen aplicaciones complejas directo en el navegador, como Google Apps u Office 365.
La presencia de un estándar claro y abierto, desde sus protocolos de comunicación hasta el lenguaje de desarrollo, es lo que ha permitido a la web crecer de la manera que lo ha hecho en los últimos 20 años para convertirse en en uno de los cambios tecnológicos que más rápidamente ha adoptado la humanidad, acaso solo detrás del cómputo móvil que, paradójicamente, se está moviendo justo en la dirección contraria.
Presente vs Futuro
Las aplicaciones web —o web apps— ya están disponibles para la mayoría de las plataformas de smartphones, pero la experiencia para el usuario todavía es deficiente por razones que van desde problemas de desempeño, falta de acceso a los sensores y sistemas de almacenamiento, hasta falta de una estandarización completa ya que los fabricantes de navegadores móviles están repitiendo la historia del escritorio al incluir características propietarias y omitir capacidades de la competencia con el objetivo de cerrar el mercado hacia su propuesta.
HTML5 es la gran promesa en este sentido y ya hay propuestas fuertes al respecto en el mundo móvil: Blackberry, por medio de la plataforma Webworks, soporta apps escritas en HTML; los dispositivos Nokia Asha soportan apps y widgets hechos con HTML; Ubuntu Phone también soporta aplicaciones en HTML5; y Firefox OS se va al extremo, ya que todas sus apps son HTML5, y el navegador web se convierte en un runtime más que un visor de contenido.
En un mundo donde cada sitio web móvil es una app que pudiera descargarse para correr en modo desconectado o semidesconectado, las tiendas de aplicaciones no serían necesarias y los usuarios podrían descubrir nuevas apps utilizando buscadores, de la misma manera que hoy descubren sitios web. De cumplirse este escenario podríamos llegar a prácticamente todos los dispositivos móviles sin mantener múltiples equipos y bases de código, estandarizar la experiencia de usuario a la metáfora web que la mayoría de las personas ya conocen y reorientar las app stores a servicios de aseguramiento de calidad y funcionalidades de “pago por uso” como las que ya hay dentro de las apps para hacer compras, insertar publicidad y otros.
Conclusión
El futuro de las apps móviles está en HTML5 por varias razones: es un formato abierto, estándar, que cuenta con miles de diseñadores y desarrolladores capacitados y al que se puede acceder prácticamente desde cualquier dispositivo. La propuesta es muy prometedora, pero aún hay obstáculos por superar para llegar a concretarla, especialmente la inercia que existe en este segmento tecnológico y en cada uno de sus participantes: la industria, los desarrolladores e incluso los usuarios.
- Log in to post comments