aplicaciones web mozilla (y II)

La semana pasada Mozilla presentó una propuesta para crear aplicaciones y tiendas de aplicaciones basadas en la web. Aunque la propuesta es mucho más abierta que las tiendas de apple (App Store) o google (Web Store), es complicado que funcione. Algunas ideas que se me ocurren sobre la nueva propuesta de mozilla:

  • Prism parece que no tiene futuro. En el directorio de proyectos de mozilla labs, ya aparece como proyecto inactivo. La idea de Prism era muy buena, pero la implementación cómo una aplicación independiente, no. Chrome implementó la idea de una forma más fácil de usar, dentro del propio navegador.
  • Integración con el escritorio / móvil. Es el principal problema de la propuesta de mozilla. Se da por supuesto que la integración es inmediata, pero no creo que sea tan sencillo. Gracias a Prism y a Fennec, Mozilla tiene tecnología para conseguirlo, pero dependerá del resto de navegadores conseguir que sea multiplataforma.
  • Cambia la perspectiva de la web. Hasta ahora, la mayoría de las aplicaciones y contenidos en internet se han financiado a través de la publicidad. Una alternativa ha sido crear servicios freemium con una cuota mensual. La App Store de Apple cambió está perspectiva para las aplicaciones de móviles: vender aplicaciones por descarga. Si la idea de Chrome y de Mozilla funciona, muchas aplicaciones web podrían cambiar su modelo de generar ingresos, al estilo de la app store.
  • Visión de plataforma. Es una visión diferente de una plataforma. Frente al modelo cerrado e integrado de apple, presentan un modelo abierto pero fragmentado similar a la situación actual en la web.

¿Porqué he escrito más en detalle sobre esta propuesta? Después de que se anunciase Prism, pensé en que sería buena idea crear un repositorio de aplicaciones web instalables en el escritorio. Hace un par de años empecé a trabajar un poco en esa idea y poco a poco he ido creando un prototipo que reutilizase prism, llamado app-share.com. En la última versión, descarté el uso de prism y lo transformé en un escritorio web, que actualmente tiene un aspecto muy similar al prototipo de mozilla. En el futuro intentaré integrar la nueva propuesta de Mozilla.

aplicaciones web mozilla (I)

Mozilla ha presentado una propuesta para crear aplicaciones web que permitirá el desarrollo de tiendas al estilo de la App Store de Apple. La nueva tecnología se llama open web applications y por ahora sólo han presentado un prototipo con el objetivo de estandarizar las tecnologías abiertas necesarias que permitan el desarrollo de aplicaciones, tiendas, directorios y los mecanismos de instalación de las aplicaciones web. Aquí podeis ver el video de presentación en inglés:

Después de echarle un ojo a la documentación, resumo un poco las ideas incluidas en la propuesta de la Open Web Applications. En otro post, comentaré algunas ideas que se me ocurren con esta propuesta.

Elementos de la Open Web Applications

En la arquitectura propuesta, se encuentran los siguientes elementos:

Aplicaciones: Son aplicaciones web normales con un manifiesto que contiene información para la instalación. Con esa información contenida en el manifiesto, las aplicaciones se podrán instalara en distintos dispositivos. La objetivo de usar aplicaciones web es aprovechar html5 y a través del almacenamiento local definido por html5, una aplicación web podría comportarse casi como una aplicación nativa, trabajando, si fuese necesario, sin conexión a internet.

Tiendas o repositorios: Son directorios de aplicaciones que permiten buscar y/o comprar aplicaciones. En el caso de las tiendas, tendrán un mecanismo de pago seguro para poder descargar una aplicación. Las tiendas/repositorios son las que permitirán la descarga del manifiesto de una aplicación, convirtiendose en los distribuidores de las aplicaciones.

Usuarios: el usuario podrá instalar aplicaciones en su navegador, en el escritorio de su ordenador o en su móvil. El usuario buscará estas aplicaciones en las tiendas de software, en repositorios compartidos o directamente desde la propia aplicación. Las aplicaciones podrían ser de pago o no dependiendo del creador de la misma.

La clave del funcionamiento de estas aplicaciones es html5, el almacenamiento local y el manifiesto de la aplicación. Con esta arquitectura se conseguirán aplicaciones que presentan características de aplicaciones de escritorio y de aplicaciones web:

  • Integradas e instalables en el escritorio o en el móvil.
  • Encontrables por buscadores web.
  • Enlazables igual que las páginas web existentes.
  • Construidas con tecnologías web (HTML, CSS y JavaScript) abiertas y estandarizadas.
  • Compatiles con todos los navegadores modernos.
  • Fáciles de lanzar y de mantener.

Tiendas de aplicaciones

Con la propuesta de Mozilla, se habilitarán varios métodos de distribución de software:

  • Soportarán esquemas de aplicaciones de pago.
  • Soportarán compras portables, lo que pagas una vez lo puedes llevar a todos tus ordenadores, móviles, etc.
  • Distribución abierta, en distintas tiendas y/o distribución desde la propia aplicación web.

La Open Web Applications es una respuesta a la tienda de aplicaciones web Chrome que a su vez es una versión del Android Market para aplicaciones web, que es una copia de la App Store de Apple, la tienda es más exitosa y rentable hasta el momento. Mientras que la App Store y el Android Market son tiendas para aplicaciones móviles nativas, la Open Web Application y la Chrome Web Store están pensadas para aplicaciones web. La diferencia entre ambas es que la arquitectura de Mozilla está abierta a distintos navegadores y tiendas mientras que la tienda de google en principio solo funcionará con la tienda de google en el navegador chrome. Por el momento, mozilla no va a construir una tienda de aplicaciones, esperan que sean otros los que utilicen su tecnología para construir tiendas. Además Apple acaba de anunciar una tienda de aplicaciones para Mac, la Mac App Store.

La propuesta de Mozilla tiene la arquitectura más abierta, que permitirá crear distintas tiendas, repositorios de aplicaciones y la autopublicación de aplicaciones a los desarrolladores, utilizando tecnologías abiertas y compatibles entre distintos navegadores y aparentemente no están pensando en crear su propia tienda de aplicaciones.

la web ha muerto

Chris Anderson (famoso por su teoría de la larga cola) y Michael Wolff han levantado la polémica entre los bloggers con un artículo en wired en el que declaran que la web ha muerto. Según su punto de vista, la web ha muerto básicamente porque cada vez se accede menos a las aplicaciones online a través de un navegador y cada vez se usan más aplicaciones específicas para iPhone o iPad.

Uno de los problemas del artículo es haber utilizado un gráfico de Cisco para apoyar su teoría, por lo que se les ha criticado duramente:

  • El gráfico muestra la cantidad de tráfico, el video consume mucho más tráfico que la web.
  • En la etiqueta video está incluido el video a través de la web (video a través de flash en sitios cómo youtube). Técnicamente se usa un navegador web para acceder a ese video.
  • La medida en tráfico no es comparable a la medida en tiempo de uso. La gráfica mide ancho de banda consumido porque a Cisco es un dato que le interesa para optimizar sus routers, pero es complicado extrapolar que la web ha muerto a partir de éste gráfico.
  • En su razonamiento exageran el peso de las aplicaciones de iPhone y iPad. Comparado con el total de consumo de datos no creo que sean muy relevantes, aunque probablemente dominen en sus respectivos mercados.

Sin embargo sus comentarios tienen cierto sentido, puede que se esté iniciando un cambio de tendencia:

  • Las aplicaciones en iPhone y iPad son (en general) más fáciles de usar que las páginas web. El navegador supone un añadido sobre las aplicaciones web  que complica su uso.
  • Google va a abrir una tienda de aplicaciones, cada vez más usuarios utilizan esta forma para buscar e instalar aplicaciones nativas y a partir de que google abrá su tienda también web. Es una forma de ocultar el navegador y esconder su complejidad, ya que permitirá instalar aplicaciones web.
  • Para los desarrolladores es una forma más fácil de monetizar una aplicación que la publicidad, por lo que habrá dinero corriendo y negocio, al igual que la App Store de Apple.

Creo que no han tenido en cuenta en escenario que en mi opinión más probable: el navegador es cada vez más un elemento que no aporta nada al usuario, que quiere acceder a aplicaciones web. Sin embargo es un elemento casi imprescindible para la arquitectura actual de aplicaciones web, así que lo más probable es que el navegador se integre en el sistema operativo. Google va a tratar de conseguirlo a través de Chrome OS. Uno de los principios descritos en The Laws of Simplicity de Jonh Maeda es el de ocultar la complejidad. Así cómo google es una caja de búsqueda sencilla que oculta miles de servidores y protocolos complejos, el navegador es un elemento complejo que, cada vez más, sólo sirve para acceder a aplicaciones web.

Por otra parte la web se apoya en el protocolo HTTP y muchos aplicaciones aunque sean nativas seguiran usando el protocolo de la web para acceder a la información. Así que  técnicamente la web sigue funcionando aunque sea por detrás. Por ejemplo TeetDeck, es una aplicación nativa, pero se apoya en el api de twitter basado en http.

En definitiva, a los usuarios les dará igual cómo acceder a internet, sea a través de un navegador o una aplicación nativa. En un estudio de hace tiempo, la mayoría de usuarios ni si quiera sabían lo que era un navegador. Las aplicaciones que usen internet se construirán a base de aplicaciones web ó nativas pero en cualquier caso la web no morirá sino que probablemente se transformará y el navegador quedará oculto en la tripas del sistema operativo.

google voice y html5

Google acaba de introducir google voice para el iphone como aplicación web basada en html5 en lugar de cómo aplicación nativa, saltándose el proceso de la app store de apple. Voice es una aplicación interesante en sí misma porque virtualiza nuestra línea telefónica, pero lo llamativo en este caso es que una aplicación nativa ha sido sustituida por una aplicación web abriendo el debate sobre qué modelo es más adecuado para desarrollar aplicaciones móviles.

Lo cierto es que no todas las aplicaciones son iguales. Por ejemplo la mayoría de juegos necesitan acceso directo al hardware para funcionar rápido. Sin embargo para una aplicación que no sea muy exigente técnicamente, puede ser suficiente con html5, beneficiandose de la disponibilidad y facilidad de instalación de las aplicaciones web y de la visibilidad en los buscadores web como google.

La verdadera clave será la capacidad para generar ingresos, ya sea por publicidad, por descarga o por suscripción. Y en este sentido, actualmente lleva cierta ventaja la app store, pero es probable de que la irrupción de aplicaciones web potentes puede cambiar el escenario.

Muchos sitios web están añadiendo versiones móviles de sus portales que incluyen soporte para html5. Leyendo un artículo sobre las mejores prácticas para desarrollo de sitios móviles, me he encontrado con la versión móvil de flickr, que utiliza el api de geolocalización de html5 (que se puede probar con firefox 3.5). La nota curiosa es que la geolocalización de flickr, una empresa yahoo, utiliza google maps. Es probable que yahoo maps no funcione bien en dispositivos móviles mientras que la versión 3 del api de google maps está optimizado para dispositivos móviles, lo que nos da una idea de la importancia que le da google a las aplicaciones móviles.

juice, información contextual y marketplaces

A través de thinkwasabi, he llegado a un complemento de firefox llamado juice, que tiene 2 funciones principales:

  • Busca información contextual relativa a un texto que se puede arrastrar a la barra de juice. Dependiendo del texto arrastrado, devuelve información de la wikipedia, información de tiendas y/o catálogos, etc. En caso de no poder encontrar ningún tipo de información, realiza una búsqueda en google.
  • Por otra parte, permite crear una lista de videos y contenidos digitales para ver más tarde, arrastrando también los contenidos a la barra lateral de juice.

Lo que me ha llamado la atención de este complemento es que tiene un acabado muy comercial, casi parece una aplicación encastrada dentro de un navegador. Imaginando una situación en que el navegador sustituye al sistema operativo, este plugin ofrecería información contextual sobre cualquier texto seleccionable en nuestro sistema operativo. Esto sería una funcionalidad bastante interesante y por la que habría gente dispuesta a pagar.

Pero ¿sería posible ofrecer un complemento cómo este con una licencia de pago? Últimamente se han puesto de moda los marketplaces, debido al gran éxito de la tienda de apple. Parece que incluso Canonical, los creadores de Ubuntu, están pensando en crear su propia tienda de aplicaciones. ¿Se estará perdiendo Mozilla una oportunidad de crear un marketplace de complementos? ¿Tiene sentido ofrecer complementos para un navegador de pago?

Si el navegador le roba protagonismo al sistema operativo y consigue que las aplicaciones web funcionen como aplicaciones de escritorio, es posible que tenga sentido este mercado de plugins o de aplicaciones basadas en prism. Podría ser una buena idea, tanto para los creadores de aplicaciones cómo para los usuarios.