Adobe lanza el Open Screen Project

Foto promocional del Open Screen Project de Adobe

Dice la correspondiente página web que (traduzco libremente)

El Open Screen Project pretende impulsar experiencias ricas de Internert consistentes sobre televisiones, ordenadores personales, dispositivos móviles y electrónica de consumo.

Los puntos más importantes:

  • Eliminar las restricciones en el uso de las especificaciones SWF y FLV/F4V.
  • Publicar las APIs de la capa de portado de dispositivos del Adobe Flash Player.
  • Publicar los protocolos Adobe Flash® Cast? y AMF para servicios de datos robustos.
  • Eliminar los costes de licencia — haciendo gratuitas las próximas versiones de Adobe Flash Player y Adobe AIR para dispositivos.

Y todo esto con la colaboración de nombres como Cisco, Intel, LG, Motorola, NTT DoCoMo, Samsung o Sony Ericsson. ¡Y Nokia!

El análisis [no tan] malintencionado: Microsoft está dando caña tanto con la tecnología Silverlight como con su política de licencias y además parece que se están tomando el rollo «abierto» en serio, o sea que mejor espabilamos antes de convertir a Flash y familia en el próximo Netscape. ¿Cómo? Facilitando la vida al máximo a los desarrolladores y eliminando cualquier barrera para que los fabricantes (incluyendo el movimiento de código abierto/libre) implanten nuestras tecnologías en sus dispositivos. Leído en positivo: la competencia siempre está bien para estimular la innovación (sí: aún cuando provenga del «lado oscuro de la Fuerza».

Me encanta la apertura que supone para especificaciones, protocolos y licencias … Y que el redactado parece indicar que, efectivamente, AIR será desplegado en dispositivos móviles (y, en consecuencia, a lo mejor hasta Flex corriendo en dispositivos, como apunta Scott Janousek) y que la convergencia entre Flash y Flash Lite da otro paso adelante más.

No me gusta tanto… la imagen que han elegido para la web promocional [si es que de verdad se la creen]. La experiencia de usuario a lo mejor puede ser consistente a través de dispositivos. Es un tema que también suena en la música del Live Mesh de Microsoft, por ejemplo, lo que parecería indicar que los dos grandes en «user experience» abierta (MS y Adobe, con Apple jugando la carta cerrada) se creen bastante el tema, al menos como opción de futuro para sus cuentas de explotación. Pero la foto de Adobe duele: ¿quién quiere la misma interfaz en la tele que en el ordenador que en el móvil? Yo, al menos, no. Y no solo porque los tamaños de pantalla, DPIs e interfaces de usuario sean diferentes: también porque lo que hago cuando me siento frente al ordenador, uso el móvil en el metro o en la calle o me apalanco en el sofá frente a la tele no es lo mismo. Vamos, que uno se alegra mucho de que la vida de los «desarrolladores de experiencia» (por llamarles de alguna forma) sea más confortable, pero espera que no se acomoden demasiado: poder tener una única interfaz de usuario (y un único juego de contenidos) no significa que sea una buena idea…

El mundo es de los desarrolladores web…

¿Se acuerdan ustedes de cómo se vendía Java hace unos años? Sí, hombre sí: escribir una vez el código, correrlo en cualquier lado. Sigue habiendo mucho desarrollador Java por ahí ganándose la mar de bien la vida, pero pocas aplicaciones de escritorio se me ocurren que hayan sido desarrolladas en Java…

Curiosamente, si uno quiere desarrollar una aplicación picando el código de verdad una sola vez, pero que corra tanto en Windows como en Mac OS X y Linux, la opción que se me ocurre es hacer uso de la caja de herramientas del desarrollador web: lenguajes de scripting para el cliente como JavaScript o ActionScript, lenguajes de scripting para el servidor como PHP, ASP, JSP… Los que digan que así solo se corre dentro del navegador no se han enterado de la existencia de AIR.

Claro que con AIR solo se cubre el escritorio: de momento Windows y Apple OS X, parece que dentro de no mucho Linux. Pero con el nuevo anuncio de Nokia (más en AllAboutSymbian, vía Biskero) va a resultar que esa misma caja de herramientas nos va a dar acceso al desarrollo «de verdad» para el sistema operativo Symbian. Parece que con el nuevo Web Run-Time los desarrolladores web van a tener acceso cada vez a más funcionalidades del móvil: lectura y escritura en la agenda, acceso a la mensajería, el uso del GPS en caso de haberlo…

Nadie en su sano juicio querría una aplicación de escritorio llevada al móvil sin más, pero está bien saber que un conjunto de habilidades te va a dar acceso a una programación rica tanto en la web como en el escritorio como en el sistema operativo móvil más extendido del mundo. Ahora solo falta que Microsoft y Apple hagan lo mismo con sus dispositivos móviles y a disfrutar… (que Microsoft lo haga no me parece difícil, pero mucho me temo que el infierno se congelará antes de que Apple haga lo propio, y mira que lo tendrían fácil).

Mozilla Prism, «site specific browsers» ad hoc

La disyuntiva es de las que está marcando 2008: ¿aplicaciones web como hasta ahora o aplicaciones de escritorio (o para el móvil) conectadas? Parece claro, al menos de momento, que las modas actuales indican que la aplicación de escritorio «de toda la vida» ha muerto. Igual resucita con el próximo cambio de paradigma, pero parece que eso es algo que no va suceder a corto o medio plazo. Los datos viven «in the cloud» y una parte de la potencia de cálculo también.

Las ventajas de las aplicaciones web son bien sabidas: siempre corremos la versión más actualizada del software, no hay instalación (si la velocidad de nuestra conexión a internet es suficiente, que si no es como si instalásemos cada vez) y no importa en qué sistema operativo estemos: todos tienen un navegador lo suficientemente sofisticado como para actuar de máquina virtual. Ese último punto, además, es una bendición para el desarrollador, que programa una sola vez para todas las plataformas, gracias a las bibliotecas y frameworks que corren por ahí.

Las aplicaciones conectadas, por su parte permiten una riqueza en la ‘user experience’ y en la interacción con el sistema operativo que la capa del navegador limita muy seriamente. A cambio, cuanta más ‘lógica de programación’ viva en el cliente más nos tenemos que preocupar de múltiples versiones y de mantener una API que hable con todas ellas y, si queremos correr sobre múltiples sistemas operativos no nos queda (o no nos quedaba, mejor) más opción que, en el mejor de los casos, compilar múltiples veces…

El año pasado comenzamos a ver dos intentos de solución al problema. Por un lado, Adobe anunciaba Air, que permitía aprovechar las habilidades adquiridas en el desarrollo de aplicaciones AJAX/Flash/Flex y añadía unas cuantas APIs para hablar con el escritorio y un proceso de empaquetado que, vía máquina virtual, nos permitía hacernos un hueco en el escritorio (de momento Windows y MacOS, en breve Linux).

Por el otro, la Mozilla Foundation lanzaba a través de Mozilla Labs Prism, que toma un camino similar: quitemos al navegador todo lo que sobra para correr aplicaciones (barras de menú y navegación, para comenzar) y añadámosle las cosas que le faltan si es necesario (un motor de base de datos, por ejemplo) y obtendremos el mismo resultado. Más detalles aquí.

El viernes se anunciaba nueva versión de Prism (vía), con una novedad interesante: extensión para Firefox (solo funciona con la beta 3 de Firefox 3 y versiones posteriores) que permite a cualquier usuario empaquetar cualquier aplicación web para ejecutarla en el escritorio. Así, por ejemplo, podemos empaquetar el correo de GMail o el calendario de Airset:

Captura de pantalla de la aplicación Prism GMail

No vamos a conseguir funcionalidades que no estuviesen en la aplicación web original (que podrían añadirse, eso sí, mediante scripting y, como apuntan en Ars Technicacomo apuntan en Ars Technica, con los mismos privilegios que una extensión y pudiendo, por tanto, acceder directamente al sistema de archivos y otras actividades normalmente no disponibles desde una aplicación web), pero a veces va bien sacar determinadas aplicaciones del navegador.

El administrador de tareas muestra dos instancias de Firefox. La segunda, que consume 120 megas, es el navegador. La primera, que se queda en cincuenta y tantos, es la aplicación de GMail

De momento faltaría que las aplicaciones se identificasen mejor, al menos en Windows, que eso de tener dos procesos corriendo con el mismo nombre no es exactamente la mejor política…

Aplicaciones web offline, una de las tecnologías de 2008

Y no hablamos de «tecnologías web». Technology Review, una revista publicada por el MIT, publicaba el otro día su último número, dedicado a las diez tecnologías emergentes de 2008 y, junto a cosas como los enzimas celulolíticos o la conectómica (ahí es nada) han destacado las aplicaciones web offline.

Como mínimo, todo un triunfo de relaciones públicas para Kevin Lynch and company, que dentro de nada lanzan oficialmente AIR, la teecnología de Adobe para crear esas aplicaciones web offline a partir de proyectos HTML (con o sin AJAX), Flash y Flex.

Por cierto, que a finales de marzo comienza el tour europeo de presentación, que esta vez parará en Madrid, y no en Barcelona, con lo que dudo mucho que pueda asistir :-(.

(Imagino que a los lectores habituales de la casa también les pueden interesar los temas de reality mining o wireless power, como mínimo.)

Apollo se llama AIR

La carrera para tomar el escritorio sigue fuerte. Sabíamos desde hace meses que se acercaba el lanzamiento de Adobe Apollo, el ‘runtime’ (máquina virtual, o como se le quiera llamar) que tenía que colocar las aplicaciones desarrolladas con las herramientas de la vieja Macromedia (tanto AJAX como Flash y Flex) en el escritorio. Y ya tenemos lanzamiento en Adobe Labs. La única sorpresa: que Apollo se llama AIR, de «Adobe Integrated Runtime». Seguiremos informando, que la cosa parece interesante.