novedades en chrome

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.

escenario de chrome os

Voy a describir un escenario en el que Chrome OS tiene sentido cómo desarrollo nuevo:

  • Introduzco un DVD y se abre un reproductor de video. La novedad técnica sería que el reproductor estaría basado en un navegador web y se integraría con sitios cómo youtube ó last.fm de forma sencilla y transparente al usuario. Los drivers para gestión del dvd y la integración de la reproducción de video en el navegador no existen.
  • Conecto una cámara de fotos a un ordenador. Se abre un explorador de ficheros y puedo pulsar el boton derecho del ratón y enviar las fotos directamente con gmail ó compartirlas con flickr. La integración de los menús contextuales del escritorio con aplicaciones web todavía no existe.
  • Arranco Facebook como si fuese una aplicación de escritorio más. Arrastro una de las fotos sobre uno de mis contactos para compartir con él la foto. Gracias a Prism ya se pueden arrancar aplicaciones web como si fuesen aplicaciones de esritorio, sin embargo no puedo arrastrar ficheros para que una aplicación web lo utilice..
  • Con Facebook abierto arrastro un contacto de Facebook a gmail. No sólo necesitamos manejar el evento de arrastrar elementos entre aplicaciones, sino que además se debe permitir identificar el tipo de elemento arrastrado y permitir que la aplicación lo trate adecuadamente (no es lo mismo arrastrar un fichero que un contacto).

Prism tiene un pequeño api javascript para enviar notificaciones al escritorio. Creo que sería bueno estandarizar todo este tipo de eventos mediante un api javascript que es lenguaje de la web, sin cerrarlo a otros lenguajes. Idealmente no habría más que publicar un api de escritorio cómo free desktop para que fuese accesible desde las aplicaciones web de forma segura, lo que permitiría escribir aplicaciones de escritorio a partir de aplicaciones web.

Si google se limita a ofrecer una distribución de linux más, no creo que gane muchos usuarios. Pero si Chrome OS avanza en este sentido de integración web-esritorio, me pareceria una verdadera innovación. Y personamente no creo que goole se meta “en este fregado” para hacer una distribución más.

Con este post termino la “semana chrome” con el que google puede crear su producto más interesante y novedoso o el fracaso más estrepitoso de su historia.

chrome os (y II)

El lanzamiento de Chrome OS pone de manifiesto que la web se ha convertido en la plataforma de desarrollo de aplicaciones más importante y está sustituyendo al sistema operativo en este sentido. Las aplicaciones residen cada vez más en la web y menos en el ordenador y si la web es el principal punto de acceso a las aplicaciones informáticas, el siguiente paso es eliminar o mejor dicho ocultar o integrar al intermediario que es el sistema operativo.

Sin embargo, creando un sistema operativo propio, google ha tomado un camino demasiado “anti-microsoft”. La tendencia hasta ahora ha sido clara en el sentido unificador de la web y el sistema operativo: aplicaciones web sustituyendo muchas aplicaciones de sistema operativo (correo, calendario, organizadores de tareas), plugins en el navegador para trabajar offline, un navegador que permite ejecutar páginas web cómo aplicaciones de escritorio, e incluso un plugin con un motor 3D para navegadores.

En este punto, el siguiente paso es integrarlo todo junto al sistema operativo para que funcione cómo un único sistema. Pero se debería haber creado un api multiplataforma de integración entre escritorio y web, para mantener la libertad de uso de sistema operativo y no forzar una combinación específica de sistema operativo + navegador. A las alternativas existentes (Windows XP + Explorer, Ubuntu + Firefox, OS X + Safari, etc) sólo les falta añadir la integración con el escritorio. Y en este sentido tanto Prism, cómo Silverlight cómo Adobe Air son opciones independientes del sistema operativo y google ha tomado una posición distinta, creando su propio sistema operativo. La ventaja es que google publicará su código fuente mientras que Microsoft o Adobe no. Y en el caso de que Prism consiguiese despegar será la única alternativa de codigo fuente libre que ejecute en diferentes sistemas operativos.

No sé a qué nivel se pondrá esta integración en Chrome OS, parece que se hará con javascript y en el blog de google se habla de respetar los estándares actuales cómo html 5. Todavía podemos esperar que se publique un api común y abierto. Y en el peor de los casos, al tratarse de un proyecto que se publicará cómo open source, sería posible tomar el código y portarlo a otros sistemas, por lo que parece que la posición de google no es exclusiva, sino que parece que quieren explorar nuevas ideas.

Así que la integración de la web con el escritorio es el aspecto más importante en el proyecto Chrome OS, porque ya existen combinaciones de navegadores y sistemas operativos ligeros, pero no suponen un claro avance en este aspecto. Y cómo google estaba notando esa carencia, van a trabajar para que la web se convierta en la plataforma de desarrollo del sistema operativo, es decir que las aplicaciones escritas para Chrome OS sean aplicaciones web y aplicaciones de escritorio al mismo tiempo, sin distinción. Y este es el elemento que me parece más innovador de la propuesta de google, aunque no han definido cómo lo van a hacer.

Si se hace mediante librerías abiertas, podríamos ver estas librerías portadas a otros sistemas operativos (incluso windows!). Pero si la integración de la web con el escritorio es débil, entonces no existiría una ventaja técnica para utilizar Chrome OS frente a Windows + Explorer o cualquier otra combinación de sistema operativo + navegador. Podrían existir otros elementos a tener en cuenta, cómo la posibilidad de que los fabricantes de netbooks se ahorren la “tasa” de Windows, pero puede que no sea tan importante (no sé dónde leí que pese a que la mayoría de netbooks son más baratos con linux, se venden más con windows).

Creo que el elemento diferencial será que las aplicaciones web y de escritorio seran iguales y ésta será la gran aportación de Chrome cómo sistema operativo. Aunque cómo bien apuntan en techcrunch, a microsoft no le dejaron integrar su navegador con el sistema operativo. Aunque este caso puede ser distinto, ya que google planea distribuir su sistema operativo con una licencia open source. Pero ¿le dejaran a google integrar su navegador con su sistema operativo con su motor de búsqueda? Mientras todo el conjunto de software se mantenga open source, yo aceptaría la posición de google, pero cualquier movimiento en la dirección de restringir las libertades de los usuarios debería ser vigilado.

chrome os (I)

Se confirma una de las noticias más esperadas: google va a desarrollar su propio sistema operativo. En un principio orientado a los netbooks, no se descarta su uso en ordenadores de escritorio y/o portátiles. Finalmente se ha descartado la posibilidad de usar android en netbooks y han decidido crear un sistema operativo nuevo. Según comentan en el blog de google, el objetivo es diseñar un sistema operativo pequeño, estable y seguro que permita ejecutar un navegador y potenciar la idea de la web cómo plataforma de ejecución de aplicaciones.

Cómo bien se explica en microsiervos, un sistema operativo se compone de diferentes componentes módulos y técnicamente no se puede ver a Chrome (navegador) cómo una sustitución del sistema operativo. De hecho van  utilizar el núcleo (la parte técnicamente más importante de un sistema operativo) de linux para desarrollar Chrome OS. Para explicarlo de forma sencilla, es cómo si un fabricante de carrocerías de coche de la marca X dice que empieza a fabricar coches de la marca X. Obviamente la carrocería no es el coche entero aunque se le ponga el mismo nombre y no significa que la carrocería se convierta en el coche entero. Así que para añadir las piezas que Chrome (navegador) necesita para convertirse en Chrome OS (sistema operativo), google necesita hasta 2010 (y eso reutilizando el núcleo de linux).

Sucedió lo mismo en los 90, con las tecnologías de escritorio, que técnicamente tampoco son el sistema operativo sino un componente más, pero hoy en día nadie se imagina un sistema operativo sin interfaz gráfico y se asocia todo cómo si fuera un único sistema. Volviendo al ejemplo del coche, la mayoría de la gente asocia el coche con el aspecto que tiene la carrocería, sin importar demasiado el fabricante del motor.

El anuncio de Chrome OS viene precipitado por la llegada de Windows 7 en otoño, que cuando salga Chrome OS en 2010 estará bastante rodado. Probablemente en Google apostaban por un nuevo retraso de Microsoft, al igual que pasó con Vista, pero cómo parece que no hay retrasos, han decidido anunciar Chrome OS anticipadamente. En este lanzamiento no hay ningún tipo de detalle técnico, ni de presentación, sólo un post en un blog, que incluso para google es una información demasiada escueta (el lanzamiento de open social, android o chrome tenían más información).

Con este lanzamiento, google continua con su estrategia empresarial: si existe un producto que no puedes atacar, convierte a ese producto en “comodity” de forma que tu rival no pueda sacar ventaja económica. Con open social querían contrarestar a Facebook lanzando un api libre y gratuito frente al api más cerrado de Facebook. Con android atacar a Microsoft y Apple en los sistemas operativos de los teléfonos móviles. La estrategia es siempre parecida, lanzar un producto similar pero open source/gratuito/más abierto que los rivales para neutralizar su ventaja competitiva.

En cualquier caso es una buena noticia, sobretodo para muchos usuarios que ni distinguen el navegador del sistema operativo ni necesitan entender la diferencia. Puede ser una buena opción para que se planteen abandonar microsoft y que por fin haya competencia en el mercado de sistemas operativos (apple no ha conseguido una penetración amenazadora para microsoft).  No es lo mismo usar una variante de linux, desconocido para la mayoría de usuarios, que un sistema operativo apadrinado por google.

Actualización: Parece que el anuncio de Chrome OS llega por el anuncio del “Office In the Cloud”. En cualquier caso no tenía la pinta del anuncio normal de una aplicación de google.

3D en el navegador

Hace tiempo que publiqué un artículo sobre las diferentes tecnologías para generar gráficos 3D en el navegador. Ahora hay que añadir una nueva solución que puede darle el espaldarazo a esta posibilidad: O3D de google. En principio, la intención es colaborar con Mozilla y Khronos Group (un consorcio de varias empresas que promueve la creación de estándares abiertos) para unificar esfuerzos en la creación de una etiqueta canvas 3D. A google le interesa que el navegador funcione directamente sobre el sistema operativo para poder desarrollar aplicaciones más complejas, les permitiría desarrollar versiones de google earth, picassa o sketchup que ejecutasen directamente en el navegador. Con la capacidad de desarrollo de google, no creo que tardemos mucho en ver aplicaciones 3D en el navegador.

Existe una posibilidad (muy remota por ahora) de que peligre otro de los reinos de Microsoft: los juegos de PC. Una de las razones por las que linux no termina de triunfar es por los juegos, no existe la misma variedad y en caso de funcionar no funcionan ran rápido cómo en windows. Si en un futuro los juegos 3D pueden ejecutarse sobre un navegador, el dominio de microsoft podría peligrar. Estamos hablando de una posibilidad muy remota, pero quien sabe.