El miércoles tuvimos la oportunidad de visitar las oficinas centrales de Telefónica en Madrid y de charlar con las dos cabezas más visibles del proyecto OpenWebDevice. Tuvieron a bien recibirnos y contarnos acerca de Firefox OS, la plataforma móvil que está construyendo juntos Telefónica y Mozilla, además de mostrárnosla en funcionamiento.
El proyecto
Es interesante saber que el proyecto OpenWebDevice tiene un par de años de vida. La idea, fundamentalmente, era la de crear un sistema operativo que funcionara enteramente utilizando tecnologías Web, quitando capas intermedias que no hacen sino reducir el rendimiento del sistema en general.
Algo que no conocía es que, en su primera etapa, el proyecto utilizaba el motor de renderizado WebKit. Más adelante Mozilla anunció Boot2Gecko, se dieron cuenta de que podían hacer algo muy bueno si colaboraban y decidieron ponerse manos a la obra.
Telefónica unió fuerzas con Mozilla y acabaron, en la práctica, por fusionar sus equipos de desarrollo. Hay mucha, muchísima gente implicada en el proyecto, y más teniendo en cuenta la trayectoria y la cantidad de contribuciones que tiene Gecko desde que existe.
Acerca de Firefox OS
Uno de los puntos fuertes de Firefox OS es que es extremadamente ligero. ¿Cómo lo han conseguido? Eliminando capas intermedias y que, en su diseño, no son en absoluto necesarias. Creedme cuando os digo que es muy liviano: lo hemos visto funcionar en un terminal cuyas especificaciones no son especialmente punteras y se movía con bastante fluidez.
Firefox OS se compone de tres capas. En el más bajo nivel está Gonk, algo muy similar a una pequeña distribución de Linux que actúa también de capa de abstracción del hardware. Esta parte es prácticamente heredada de Android y podrá incluir binarios para hacer funcionar las distintas partes del aparato (módems, GPS, cámara…).
Una capa media está compuesta por Gecko, o mejor dicho, por un port de Gecko a Gonk (igual que lo hay para Windows, para Linux o para OS X), que además expone ciertas API para que las aplicaciones puedan hacer uso de todas las características del aparato. Muchas de ellas están, si no estandarizadas, en proceso de serlo. Aplicaciones que requieran de aceleración 3D y demás (juegos) podrán hacer uso de WebGL.
La capa superior, Gaia, es básicamente una interfaz y una serie de aplicaciones escritas utilizando tecnologías Web (HTML5+CSS3+JavaScript), todo ello funcionando por encima de Gecko. Ha sido Telefónica quien ha realizado aplicaciones como la pantalla de inicio, el dialer, la aplicación de SMS (con uno de cuyos desarrolladores también hemos tenido la oportunidad de charlar), la de contactos…
Muy buena parte de Firefox OS está licenciado usando Apache, si bien hay componentes que pueden tener otro tipo de licencia (como Gecko, de hecho, que se acoge a la Mozilla Public License). Y es interesante saber que, teóricamente, casi cualquier dispositivo que ejecute Android (a partir de una cierta versión, por el kernel), podrá ejecutar y recibir nueva vida gracias a Firefox OS.
Las aplicaciones: en la nube y en tu teléfono
Hay algunos detalles en lo relativo a las aplicaciones de Firefox OS que me parecen, cuanto menos, interesantes. Para empezar, el hecho de que obligatoriamente deban estar escritas utilizando HTML5, CSS3 y JavaScript (y aprovechando todas las características que estos lenguajes ofrecen en conjunción) es razón suficiente para mirar con otros ojos a la plataforma: toda aplicación que funcione en Firefox OS funcionará en prácticamente cualquier otra plataforma a través de su navegador, modificando muy poco código (si es que hay que modificar algo; luego vuelvo sobre esto), y podrá aprovechar más o menos características.
Todo lo visible en el sistema operativo es una aplicación construida usando tecnologías Web: eso significa que la línea entre las aplicaciones en la nube y las aplicaciones instaladas en el sistema se vuelve aún más difusa. Y más teniendo en cuenta que prácticamente no pueden distinguirse en este sistema operativo: la aplicación de Twitter es, básicamente, su página Web para smartphones (que funciona sorprendentemente bien).
La cuestión es que si estas aplicaciones (las que están en la nube) hacen uso de WebCache pueden alojarse en el dispositivo, y actualizarse cuando el desarrollador quiera simplemente refrescando esa caché.
Una Web puede transformarse en una aplicación para Firefox OS, además, simplemente mediante un archivo MANIFEST que defina ciertos detalles, como los permisos que necesita. Es importante saber que no todas las aplicaciones pueden acceder a todas las características del aparato: por ejemplo, la capacidad de enviar SMS mediante la API destinada a tal efecto está reservada a las aplicaciones que se instalen en el dispositivo.
Habrá permisos que se concedan “al vuelo” (al instalar la aplicación) y habrá permisos que, para aceptarlos, obliguen al usuario a saber lo que está pasando: por ejemplo, la primera vez que envíe un SMS aparecería un aviso a pantalla completa diciendo lo que está pasando, para evitar sorpresas indeseadas.
Habrá tienda de aplicaciones para Firefox OS, muy similar en cuanto a concepción y a forma al portal de complementos de Firefox, y en principio no sería el único modo para instalar aplicaciones en este sistema operativo: sólo sería una puerta más. Podrían aparecer tiendas de aplicaciones alternativas y los desarrolladores podrían incluir un botón de “Instalar” en su propia Web, si bien las aplicaciones serían certificadas por una entidad por definir (la comunidad, Mozilla…).
B2G/Firefox OS en funcionamiento
Tuvimos oportunidad de ver y probar durante un rato Firefox OS en un terminal físico. Este fue fabricado por ZTE y ahora mismo desconozco sus especificaciones completas, pero su procesador (lo único que recuerdo con certeza) era un ARM de apenas 600MHz. Con el código sin optimizar del todo, creedme, el funcionamiento era bastante fluido y, me atrevería a decir, equivalente al de un Android de gama media/baja.
La interfaz era prácticamente idéntica a la que ya comenté hace unas semanas (sin la fuente Serif fea, obviamente: nos explicaron que el sistema incluye una fuente propia y que los desarrolladores podrán utilizar, si no definen otra vía web fonts en CSS3), y pudimos contemplar cómo un juego Web pensado para funcionar en iPhone se ejecutaba sin problema alguno en el terminal con Firefox OS. Lo mismo con la Web móvil de Twitter, que funcionaba todo lo bien que la conexión de datos permitía.
Nos han comentado, incluso, que aplicaciones como el reloj o la calculadora comenzaron probando algo “que se encontraron por ahí”, y que funcionaron perfectamente. Eso debería darnos una idea de lo cómodo que es desarrollar para Firefox OS: permite, además, utilizar tecnologías previamente conocida por el programador Web. El navegador, por su parte, funcionaba razonablemente bien, permitiendo abrir varias pestañas y manejando páginas Web “de escritorio” con un poco de pesadez, pero aceptable, teniendo en cuenta el estado del desarrollo en el que de momento se encuentra (y la capacidad del dispositivo, las cosas como son).
Obviamente tiene soporte para gestos multitáctiles, al menos para pinch to zoom. También tiene multitarea, aunque hay detalles que han de pulir (ahora mismo las aplicaciones siguen en ejecución cuando están en segundo plano; es probable que acabe teniendo un comportamiento similar al de Windows Phone).
Primera impresión: tiene material para dar guerra
El mercado que vemos, al menos en España, está totalmente saturado de smartphones (y concretamente de Android, para qué negarlo), y Firefox OS lo tendría difícil. Quizá no sea este el mercado al que va dirigido este proyecto, sino a aquellos en los que no hay tanta penetración de smartphones en la población y en los que conviene comercializarlos a precio menor.
El sistema operativo hace lo que tiene que hacer y lo que hace es abrir las puertas a un ecosistema construido enteramente en la Web y accesible desde nuestro teléfono móvil, de manera que tarde o temprano acabará poblado de aplicaciones; muchas de las cuales, dicho sea de paso, no sólo funcionarán en Firefox OS, de manera que el programador cuenta con el aliciente de que puede programar a la vez para Firefox OS, para Android, para iOS, para Windows Phone…
Firefox OS, me da la impresión, es una plataforma que puede tener oportunidades de hacerse un buen hueco. El nombre de Mozilla todavía pesa mucho y es probable que muchos se atrevan a confiar en un proyecto como este. Aunque, si no lo consigue en cuanto a cuota de mercado, por lo menos lo habrá conseguido como proyecto tecnológico libre.
En Genbeta | Primeras impresiones de Firefox OS: intentando hacerse hueco en un mundo de androides y manzanas
Sitio oficial | OpenWebDevice
En Xataka Móvil | Firefox OS, así es el sistema operativo móvil de Mozilla