¡Estoy en el Google Developer Day!

No sé cómo he llegado hasta aquí, pero me encuentro rodeado de geeks. Para que lo esté notando, tienen que ser geeks más geeks que yo… O por lo menos más jóvenes. Seguro que todos saben más lenguajes y programan más deprisa. Hace ya algunos años que fui divergiendo del perfil. ¿Cómo es esto? Estoy en el Palacio Municipal de Congresos de Madrid (aquí: 40º27’42”N 3º36’59”W), el lugar con una de las escaleras mecánicas más largas que he visto. Lo más importante: Google ha escogido este sitio para mostrar sus Real-life Placemarkers. Seguiremos informando…

[Actualizado a las 1302]

¡Simulcast con Chris DiBona y Ed Parsons! Pero lo mejor de todo: si aguantamos hasta el final, nos regalan un mini-helicóptero de radiocontrol. No, no debo ser tan cínico…

En serio: en media hora se han presentado más herramientas de lo que la mayor parte de las compañías presentan en toda su vida. Destaca Google Gears, el intento de Google de cerrar la brecha entre el funcionamiento online y offline para aplicaciones basadas en web, mediante una API que permite disponer de una base de datos relacional en local desde Javascript, entre otras funcionalidades.

Pero el wow de la mañana se lo lleva Google Maps Street View. Disponible sólo para unas cuantas ciudades de los EE.UU., pero merece la pena probarlo. En San Francisco, donde la calidad de las imágenes es mejor.

[Actualizado a las 1440]

Comida exprés, como todo en Google. Inmediatamente, presentación con Chris Wetherell, que hablará de Google Gears, además de ponernos los dientes largos con lo maravilloso que es trabajar en Google.

Chris Wetherell es el padre de Google Reader, construido con una mano atada a la espalda durante el famoso 20% del tiempo que los ingenieros de Google pueden dedicar a proyectos personales: durante el 80% restante, se ha dedicado a un plugin de Navegador (eso es Google Gears) que provee a las aplicaciones web que lo usen de:

  • una base de datos completa y con un modelo de seguridad consistente (SQLite)
  • API para cachear recursos, con la granularidad que deseemos
  • y por último, pero no menos importante, un pool de hilos (threads) para Javascript.

Google Gears dispone de los medios necesarios para determinar la conectividad del cliente a la aplicación web y realizar las sincronizaciones necesarias (en segundo plano, por favor). Adicionalmente, dispone de capacidad para realizar búsquedas textuales en el contenido guardado en la base de datos (pero todavía no soporta contenido multilingüe).

[Actualizado a las 1531]

Presentación de Google AJAX Search API: de esto ya sé yo algo, gracias a mi pequeño experimiento, Bibliolinks. El API de Feeds también es una forma interesante de interactuar con cualquier proveedor de RSS o Atom: Flickr, Google Spreadsheets

Una noticia más: se certifica la muerte (o, al menos, el paso al estado zombi, con carácter irrevocable) de Google SOAP Search API. Se podrían escribir libros enteros acerca de las intenciones de Google con este movimiento; quizá escriba algo en algún momento.

[Actualizado a las 1822]

Misterios de la ciencia: dentro del palacio de congresos, Google ha montado una “consigna técnica”, un lugar donde puedes recargar el móvil, portátil o cualquier otro aparato que requiera jugo eléctrico para funcionar. Una chica y un chico (como siempre, mucho más jóvenes que yo) se encargan de prestar el servicio. Son de Google, y ¡ni siquiera son nativos! ¿Tan poderosa es la empresa que se puede permitir desplazar a dos empleados (¿ingenieros?) para dar servicio en lo que, esencialmente, es una consigna?

Estoy en la sesión API GData avanzado (el enlace describe la primera de las sesiones). Tal y como había previsto, vuela por encima de mi cabeza. No es que los conceptos sean particularmente complejos, que no lo son. Lo que ocurre es que está concebida como una competición de velocidad. No soy capaz de hacer un “Hola Mundo” en Java (y llevo 8 años programando en Java) en menos de 10 minutos, más si estoy bajo presión: como para programar una aplicación web bajo Tomcat que use AuthSub para pedir autorización a un usuario de Google Spreadsheets para importar una hoja de cálculo de cumpleaños de amiguetes en su propio Google Calendar. Y lo peor de todo: ¡con Eclipse!

Y no con cualquier Eclipse, sino con el que venía en el CD de bienvenida (mi portátil no tiene lector de CDs; a cambio, es muy ligerito). Me considero satisfecho con haber sido capaz de montar el entorno de desarrollo en el NetBeans de mis amores: ahora, como es obvio, me estoy dedicando a bloguear.

[Actualizado a las 1842]

Supongo que no estoy hecho para Google. Nunca es triste la verdad, lo que no tiene es remedio (alguien de mi edad o un poco mayor podrá tararear esa frase con música de Serrat).

[Actualizado a las 1912]

Otra vez viendo la tele: simulcast con el discurso de Jeff Huber desde San Jose, California, EE.UU. (37º19’57”N 121º53’16”W)

Empieza a ser hora de conclusiones: Google ha decidido lanzar todo su peso tras REST. REST es a SOA (al menos, la “tradicional”, con servicios web basados en WSDL, SOAP…) lo que LAMP es a una pila Java EE. O lo que Perl a Java. La contienda eterna de lenguajes dinámicos frente a estáticos.

Como empresa, Google está enfrente de Sun y de Microsoft, a la vez. Son ágiles, novedosos, frescos, decididos, ambiciosos, soberbios. Será interesante ver cómo sigue la historia.

[Actualizado a las 2047]

Hora de concluir. Ha sido un día largo. He aprendido mucho sobre las APIs de Google, y también algo acerca de su forma de concebir la red y el mundo. Dicen que el sueño de todo geek es entrar a formar parte de Google: mentiría si dijera que no es el mío; pero cuando tenía ocho años quería ganar dos premios Nobel… Haber estado cerca de ellos, conversando en algunas ocasiones (pero siempre de modo apresurado, presto staccato, según otra faceta de mi friquismo particular, ayuda ciertamente a ponerlos en perspectiva y a entender su visión:

“Organizar información proveniente de todo el mundo y hacerla accesible y útil de forma universal.”

¡Ah! Y la dominación del universo <risa tipo="Doctor Maligno">Muahahaha…</risa>