En directo desde la conferencia de Google

Después de una semanita haciendo un road trip por el sureste de Estados Unidos, me cogí ayer dos vuelos cruzándome todo USA y acabé en San Francisco. La razón es dos conferencias: Google IO y WordPress. Ahora mismo estoy sentado en el Moscone Center esperando a que comience la keynote inicial.

Las primeras impresiones buenísimas, el registro muy rápido, me han dado una camiseta y un desayuno increíble. 5 tipos de frutas buenísimas (mención especial las frases que tanto han gustado a ferrán), bollería de todo tipo, cafés de Starbucks, refrescos los que quieras. Hay 2 redes wifi (comprobaremos si aguanta), wii’s para jugar, y muchas más cosillas al estilo Google. Empiezan 2 días de conferencias, en 3 plantas en medio de San Francisco. Y por aquí iré contando todo :-)

Keynote inicial

Eric Schmidt nos está dando la bienvenida haciendo un repaso a todas las tecnologías de Google de las que hablaremos en los próximas días. Dice que estamos en el camino de construir plataformas de desarrollo más fáciles y simples para que cualquiera pueda desarrollar. Eso es lo que nos van a presentar hoy.

A more powerful web, made easier, por Vic Gundotra (Vice President of Engineering in Google)

Hace años pensábamos que las aplicaciones de webs siempre serían inferiores a las de escritorio, pero eso ya no es cierto. Un momento importante fue el lanzamiento de Google Maps, que dejo a todo el mundo alucinado con sus posibilidades. Cada vez hay más desarrolladores que contribuyen a proyectos open source como a los navegadores (en la última década hemos visto una mejora de 100x en javascript). Ha enseñado una gráfica de las contribuciones a los navegadores (brutal el gráfico).

Ajax mejoró las posibilidades de las webs, y HTML 5 las llevará a un punto mucho mejor. Está enseñando varias demos. Ha enseñado una llamada APU, que usan internamente en Google para hacer profiles de webs. Está construida enteramente sobre HTML 5. Alucinante, tengo que echar un vistazo a HTML 5.

Matt Papakipos está enseñando ejemplos de gráficos en 3D sobre el navegador. Están intentando estandarizar esta tecnología para que cualquiera pueda usarla.

Vuelve Vic, comentando la compatibilidad de HTML 5 sobre los diversos navegadores. La soportan todos excepto Internet Explorer. Hay risas entre la gente. Enseñando demos de uso de vídeo bajo HMTL 5. (demo de YouTube).

Ahora habla sobre geolocalización, y lo problemático que es conseguir la posición con el gps (lento y mucho consumo) o con la IP (demasiados fallos). Gracias a gigantescas bases de datos de wifis y antenas, ahora muchos navegadores soportan geolocalización nativamente.

Entra el vicepresidente de Mozilla (Jay Sullivan). Dice que la web va a traer la innovación del futuro, pero que tenemos que trabajar juntos en estándares para que todas las webs funcionen igual en todos los navegadores. Mostrando lo que vendrá en Firefox 3.5 (más info). Enseñando una demo de Google Maps con un botón que analiza tu posición y te muestra donde estas. La coge viendo las redes wifis, o antenas de teléfono

Ahora Vic habla sobre app cache y databases para no depender de la conexión a Internet al 100%. Mostrando ejemplos con Safari y el navegador de Android. Es la evolución de Gears.

Entra Michael Abbott, Vice President de Palm. Habla sobre palm webOS. Todas las aplicaciones están construidas sobre HTML, CSS y Javascript. Enseñando varias demos (calendario, música, google news). Han creado eventos para que cuando muevas el teléfono y el acelerómetro lo detecte, suceda algo en tu web (según tu definas con javascript).

Vic está mostrando procesos en background soportados por HTML 5. Muy útiles para que javascript no bloquee el navegador. Ahors sube el director de App Engine hablando sobre las funcionalidades que han añadido. Acaba de anunciar que cualquiera podrá desarrollar apps en Java ya mismo. Demo del desarrollo de una web. Ha hecho una web básica con Java y App Engine, en Eclipse, y la ha mandado al server, en apenas 2 minutos. Mejoras en GWT Toolkit también.

Hay 4.000 millones de hits en las APIs de Google cada día. Van a presentar widgets para todos sus servucios. Los llaman Google Web Elements. Widget con el calendario, comentarios, búsquedas personalizadas de tu sitio. Atentos a esto.

Ahora toca Android. Van a enseñar algunas features de sus próxima versión (Alias Donuts). Búsqueda tipo spotlight o quicksilver, que te busca entre todas tus aplicaciones, contactos, documentos, etc. Con el tiempo va aprendiendo. Además permitirá a las apps que ayuden a buscar y muestren resultados. Me gusta mucho esta mejora. Es un quicksilver/spotlight para Android. Están haciendo experimentos de filtrar los resultados escribiendo en la pantalla con el dedo.

Y como one more thing, nos anuncian la segunda edición del Android Developer Challenge en el que participaré; que nos regalan un móvil con Android y con una tarifa plana de datos y llamadas para un mes :-D . Amo Google jajajaja

Evolution of the Google Data Protocol: New Features for Building more Efficient Applications
Por Sven Mawson, ingeniero de Google, trabajando en las APIs

Para mejorar la eficiencia en el envío de datos, nos está enseñando ejemplos de json y xml. El actual json es muy feo, está creando demasiados objetos, está mandando demasiados datos que sobran en las peticiones. Tip: usa compresión en tus peticiones atom y json (mejoras de 20x). Presenta JSONC donde consiguen mejoras del 200%.

  • Minimiza el número de objetos JavaScript (tanto en elementos simples como en complejos – une el nombre del objeto a la variable)
  • Quita los datos que sobran

Ahora presenta su adaptción de los servicios rest para coger y actualizar la información. Presenta el Partial GET para los APIs de Google. Podrás coger sólo lo que quieras, y no todo el objeto entero, pudiendo filtrar según lo que quieras (filtro != query). Vuelve a conseguir una mejora del 200%. Pasa de 800 kbs sin comprimir (38kb comprimiendo) a 10kb comprimido. También baja el tiempo de respuesta un 50%.

Habla de las peticiones condicionales (si ha cambiado desde tal fecha, actualiza) uniéndolo con ETags (mejoras del 50% en el tiempo de respuesta). Puedes saber si la entrada ha sido modificada por alguien con un If-Match tag.

Todas estas mejoras saldrán al público en breve. Otras mejoras que tienen planeadas son hacer de JSONC un formato que lectura Y escritura (create and update), una librería más ligera, soporte OAuth, partials para actualizar también (solo actualizar un título por ejemplo).

What You Don’t Know About Geo APIs Can’t Hurt You por Pamela Fox y Mano Marks

Alucinando con los tours que hacen con Google Earth, definitivamente tengo que mirar eso. Incluido en la versión 5.0. Muestra otros ejemplos con formularios dentro de Google Earth

Ahora toca las APIs de Google Maps, está mostrando ejemplos que ha hecho la gente (gis5.com – mostrar POIs durante la ruta, juntándolos), gebweb.net/optimap, graarg.returntrue.com, clientLocation. He parado de apuntar, pero hay muchísimos ejemplos en el vídeo. Además acaba de anunciar el Developer Qualify Google program.

Google’s HTML 5 Work: What’s Next? por Matthew Papakipos

Hace una lista de las necesidades de las presentes y futuras webs (videoconferencia, geolocailización, mejor upload de archivos). Hace mucho hincapié en que hacen tecnologías que quieren que otros desarrolladores usen, propongan mejoras o critiquen. De esta forma conseguir una estandarización para que todos los navegadores y webs las soporten.

Hablando de local storage (database API y structured storage API) que empezaron con Gears, y ahora forma parte del W3C asi que los nuevos navegadores lo soportan (o lo harán en breve). Menciona también los workers que comentaron antes en la keynote inicial. Permitirá ejecutar trozos de javascript en paralelo, en verias tabs, incluso cuando la web no está abierta. Application cache, video tag, editar rich text (ahora mismo en Google Docs descargas 200 kbytes de código javascript que depende de cada navegador). Quieren crear una API para aplicaciones P2P (chats, juegos en el navegador), drag and drop entre distintas webs, subir archivos a la vez.

Michael tiene la siguiente frase en su portátil “My other computer is a data center”. Respecto al estandar de HTML 5 que no estará hasta 2010, copio y pego de un post de Oreilly:

If you’re like me, you had no idea there was so much HTML 5 already in play. When I checked in with my editors at O’Reilly, the general consensus was that HTML 5 isn’t going to be ready till 2010. Sitepoint, another leading publisher on web technology, recently sent out a poll to their experts and came to the same conclusion. Yet Google, Mozilla, and Palm gave us all a big whack upside the head this morning. As Shakespeare said, “The hot blood leaps over the cold decree.” The technology is here even if the standards committees haven’t caught up. Developers are taking notice of these new features, and aren’t waiting for formal approval. That’s as it should be. As Dave Clark described the philosophy of the IETF with regard to internet standardization, “We reject: kings, presidents, and voting. We believe in: rough consensus and running code.”

Performance Tips for Geo API Mashups por Pamela Fox, Marcelo Camelo, Sasha Aickin

Otra sesión de mapas y geo. Empiezan comentando que no les gustaba la actual API de Google Maps en los móviles, asi que han empezado de cero y han hecho la nueva versión; que no es totalmente compatible. Ya se puede ver la documentación. Están enseñando muchos ejemplos de mostrar markers, hacer clusters de ellos (marketclustered, regional clustering), heatmaps (povo.com), mini-markers (los puntitos que muestra Google Maps), polígonos (polygonzo.googlecode.com, mapshaper o mapsimplification para no mostrar tantos puntos en los polígonos), encoded polygones (cuando haces zoom muestra mayor detalle en los puntos y rutas).

Ignite Google I/O por varios

Esta sesión son presentaciones de 5 minutos con 20 transferencias sobre diversas tecnologías. Va a ser divertido ver como hablan a toda velocidad :-D

Este post se irá actualizando según vaya pasando el día