prism, convertido en chromeless

Aunque se hizo oficial hace un tiempo, quería comentar el anuncio de que Mozilla abandona Prism a favor de Chromeless. En principio parece lógico, dado que las funcionalidades de Prism están cubiertas por Chromeless y Open Web Apps, dejando sin sitio al SSB de mozilla. Brevemente, las funcionalidades que cubría Prism eran éstas:

  • Instalación de aplicaciones web como aplicaciones de escritorio: éste terreno queda cubierto por Open Web Apps, que permite a los desarrolladores web ofrecer aplicaciones instalables en el navegador.
  • Integración de aplicaciones web en el escritorio: aunque no fuese demasiado completa, Prism ofrecía algo de integración con el escritorio. Chromeless profundiza en este sentido ofreciendo una herramienta más general, que permitirá desarrollar aplicaciones de escritorio con tecnología web.

Y sin embargo, como apuntan algunos usuarios en el foro de discusión abierto por mozilla, no estoy tan seguro de que este movimiento haya sido una buena idea. Prism se trataba de un producto en sí mismo, orientado a usuarios sin conocimientos. Chromeless, es una herramienta para desarrolladores, para construir aplicaciones. Y Open Web Apps por otra parte permite instalar aplicaciones generadas por los desarrolladores de un sitio web. La utilidad de Prism era que  el propio usuario podía transformar de forma muy sencilla aplicaciones web existentes en aplicaciones de escritorio. Sin Prism, los usuarios perderán la opción de instalar aplicaciones web con un solo click.

A pesar del solapamiento entre Chromeless y Open Web Apps con Prism, no sé si es buena idea terminar con Prism. Afortunadamente, hay otras alternativas: Chrome siempre ha tenido la opción de “Crear acceso directo a aplicación” que además se complementa con la Chrome Web Store. Y el desarrollador principal de Prism, ha retomado el proyecto con su nombre original, Webrunner. Probablemente es la mejor opción para los que usabamos Prism.

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.

nueva versión emobot

Estoy demasiado influenciado por la idea de la web cómo plataforma de desarrollo. Es debido a que trabajo con esta tecnología y tengo la sensación de que cualquier cosa se puede hacer con la web. Aunque soy consciente de que hay cosas que son imposibles, creo que la tendencia a integrar todo en la web es más fuerte (entendiendo la web en un sentido amplio, cómo plataforma que comprende navegador, http, servidores, etc).

Mi último invento es adaptar el antiguo emobot para que funcione directamente desde el navegador. En la versión anterior, había un programa escrito en ruby ejecutando en el ordenador y un programa ejecutando en el robot en arduino. La idea original era integrarlo con la web a través de http y que se pudieran descargar “personalidades” en el robot.

Pero haciendo pruebas desarrollando una extensión para firefox, estoy probando con una  nueva versión, en la que reutilizo el robot con arduino con un nuevo programa basado en un plugin sobre firefox para leer/escribir en el puerto serie, combinado con html5 y web workers. el objetivo es crear una página web desde la que se puede interactuar directamente con el robot a través de usb. El conjunto completo sería convertible en aplicación de escritorio a través de prism.

Que yo sepa, podría ser uno de los primeros robots programados en javascript, aunque reconozco que es difícil llamar “robot” a un servo con unos leds. En algún momento revisaré la parte mecánica, para que se le pueda llamar robot de verdad (más servos, algunos sensores, etc).

firefox 3.6 beta 1

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.

chrome os, hoy

En TechCrunch además de presentar las últimas novedades de Chrome, se han dedicado a rastrear las listas de correo del proyecto Chrome para buscar las pistas de por dónde puede ir el desarrollo de Chrome OS. Parece ser que Chrome integrará una barra de estado que muestre la carga de la batería (al estilo de las barras de notificación de los escritorios actuales) y un modo de navegación compacto, me imagino que para darle un aspecto más parecido a aplicación de escritorio a las aplicaciones web.

Por mi parte, he hecho una modificación similar a uno de los scripts de Prism, para ocultar completamente la barra de navegación inferior. Es un cambio relativamente sencillo, sólo hay que editar el fichero webrunner.js (aquí está mi versión de webrunner.js, por si alguien se atreve a trastear). Aunque es algo sencillo, ahora mis aplicaciones web están todavía más integradas en el escritorio, aunque la solución óptima sería mostrar la barra en algunos momentos (cuando una página está cargando por ejemplo), con alguna combinación de teclas, o con un menú en la ventana de la aplicación.

Este pequeño hack puede ser muy útil para los usuarios de netbooks mientras no llega Chrome OS. La barra inferior de prism ocupa bastante y normalmente no aporta demasiada información y por ahora no se puede ocultar con la configuración de Prism. La solución definitiva sería hacer algo parecido a lo que tiene Chrome OS: ocultar la barra excepto cuando se está cargando una página,  o bien permitir que se pueda habilitar la visualización de la barra desde una opción del menu de la ventana o mediante una combinación de teclas.

Por cierto, con este parche se consigue otro efecto que es el sueño de muchos desarrolladores de aplicaciones: una aplicación web a pantalla completa. Con la tecla F11 se maximiza la ventana y cómo tenemos oculta la barra de estado, sólo se muestra la aplicación web a pantalla completa.