Saltar al contenido

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.

2

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.

Éste es otro post rescatado de los borradores que tengo acumulados. Es una referencia a un artículo de Dale Dougherty: deconstructing databases, deconstruyendo las bases de datos.

La idea que expone es que en ciertas aplicaciones no es necesario modelar los datos utilizando una base de datos, sino que plantea cómo alternativa almacenar los datos en forma parcialmente desestructurada (algunos campos en la base de datos más textos en bruto) y utilizar herramientas de búsqueda de información para recuperar la información. Parte de  un ejemplo concreto, la herramienta de seguimiento de problemas de  google code. Pero hay que tener en cuenta que google debe tener las herramientas más potentes de búsqueda de información en textos. Otra herramienta que va en esta línea es google squared, que partiendo de la información desestructurada de la web, trata de devolver información estructurada.

De otra forma diferente, pero creo que con la misma idea subyacente, lei hace poco una reflexión de Ignacio de Miguel sobre el abuso de las bases de datos. Aunque la reflexión de Ignacio está más relacionada con el abuso de recursos, parte de un base similar, el uso del modelo de base de datos para todo. Almacenar textos en forma desestructurada y utilizar herramientas de búsqueda de información en textos para recupar esa información de forma ordenada, podría se una forma de romper ese abuso.

Por otra parte, de cara al usuario, las aplicaciones convencionales que almacenan y presentan la información en forma esructurada, son normalmente muy rígidas (formularios con multitud de campos desglosados). La alternativa es permitir que el usuario escriba texto libremente del que se pueda extraer información ordenada por medio de algoritmos de comprensión de textos. Para el común de los desarrolladores, creo que todavía no hay herramientas suficientemente avanzadas, aunque seguramente los desarrolladores de google tengan ventaja.

En readwriteweb he leido las nuevas características de firefox 3.6 beta. Entre las novedades de la nueva versión, hay una funcionalidad pequeña que puede ser importante para el futuro: la posibilidad de hacer drag & drop de ficheros locales. Esta característica permitirá arrastrar directamente ficheros de video a youtube o fotos a flickr sin necesidad de usar plugins java o flash como hasta ahora. Así que se cerrará un poco más la separación entre aplicaciones web y aplicaciones de escritorio.

Otra hecho interesante es que el proyecto personas se incorpora a firefox. Así que es posible y deseable que prism finalmente se base en completamente en firefox en vez de xulrunner y termine incorporándose a firefox al igual que personas. De la misma forma que chrome permite crear aplicaciones a partir de sitios web y además se podrán reutilizar todos los plugins existentes sin esfuerzo.

Recopilando un poco, en la siguiente versión de firefox tendremos video nativo con posibilidad de ejecutar a pantalla completa, drag & drop de ficheros locales, almacenamiento local e hilos de ejecución paralela gracias a html5 y, a través de prism, conversión de aplicaciones web en aplicaciones de escritorio y alertas en el área de notificación del escritorio.

1

Según leo en maestros del web, chrome incorporará servicios de sincronización de bookmarks. Un servicio que anteriormente ofrecía Google para Firefox a través de un plugin, pero que finalmente abandonó. En su momento yo usaba éste servicio y me pareció un error su abandono, pero ahora se puede entender mejor. En arstechnica explican que la diferencia de éste servicio de Google para Chrome con otros servicios similares cómo mozilla weave, es que funcionará a través de un protocolo push, curiosamente basado en XMPP el mismo que usa Jabber o gtalk, lo que hará que consuma menos recursos y sea más rápido notificando cambios.

Parece una buena solución técnica: protocolos abiertos, código fuente abierto, etc. Se reservarán el código fuente del servidor, pero por lo menos es posible que otros navegadores implementen las misma funcionalidad a través de plugins.

Y puede que sea el principio de la integración de servicios online con el sistema operativo, recordemos que Chrome OS está en desarrollo, por lo que incorporará éste cambio y los que vengan a continuación.