A blog about data, information and IT, by Mario Alberich

Jul 03
2007

Google Mashups: El contraataque a Yahoo! Pipes


Parecidos razonables, diferencias significativas

Google Mashups recoge mucha parte de la filosofía de su marca madre: un entorno sencillo (y mucho más ligero que el entorno de Pipes), ágil, y con un enfoque que busca más la complicidad de los desarrolladores. En esencia, no se trata de un editor visual que permite combinar y enlazar cajas como lo hace Yahoo!, sino de programar mediante el lenguaje de marcado del propio del sistema.

Lo que es interesante, es que el lenguaje de marcado utiliza tags XHTML para el diseño de la interficie de uso, y la interacción y gestión de eventos propios de Javascript. En resumen, me recuerda muchísimo al XUL de Mozilla o al MXML de Flash-Flex. No son los únicos lenguajes de marcado para interficies, aunque son los que conozco.


Por lo tanto, en lo referente a forma de uso, Google Mashups parece dirigirse a usuarios con más habilidad para la programación utilizando XML, Javascript y CSS, mientras que Yahoo! Pipes deja de lado todos los aspectos relacionados con el diseño de la interacción con el usuario, resumiendo la salida a un RSS.

En el capítulo de parecidos, las fuentes de datos son las que proporciona Internet: resultados de búsqueda, RSS y demás fuentes estructuradas. Google ha hecho lo mismo que hizo Yahoo! pero con sus correspondientes servicios: ha integrado su calendario y sus tareas, y los mapas. Eso en esencia no es muy diferente de lo que proporciona Yahoo!, pero desde luego potencia mucho la integración para alguien que no quiera pelearse con las APIs: hay que pensar que el XML, a pesar de ser algo árido para quien no esté acostumbrado, es mucho más fácil de tratar que el código a pelo.


Funcionamiento de Google Mashups: un ejemplo sencillo

Del mismo modo que ya hice con Yahoo! Pipes (o Y!P), voy a hacer un pequeño ejemplo con Google Mashups. El ejemplo incluirá los RSS, que es lo que más me atrae, pero trataré de utilizar otros servicios. Para empezar, accedemos al editor de Google Mashups. El entorno se puede ver en la siguiente imagen:

Vemos tres pestañas, que presentan el editor del mashup, el editor de feeds y el entorno de ejecución de prueba (Sí, ya sé que es una forma de indicar que se trata de un entorno de pruebas seguro, pero anda que llamarse Sandbox tratándose de Google...).

Empiezo echando un vistazo al lenguaje de referencia de Google Mashups, y la primera impresión que recibo es que se han esforzado en integrar las propias herramientas, pero que han aportado pocos sistemas de tratamiento de los datos, como por ejemplo lo proporcionan las cañerías de la competencia. Eso es un punto en contra para referencistas y documentalistas en general, aunque es un guiño a los programadores, que podrán echar mano de bibliotecas de Javascript y otras historias para aplicar tratamientos sobre los datos.

Como ejemplo, empiezo desarrollando un grupo de dos pestañas, que se desarrollan utilizando una combinación de las etiquetas gm:tabs (el grupo de pestañas), gm:container (una pestaña concreta) y el contenido que corresponda. Las pestañas tendrán el siguiente contenido:

  • Pestaña 1: Un feed.
  • Pestaña 2: Un calendario.

Para cuando empiezo con la pestaña de los feeds, ya echo en falta algo: la capacidad de agregación, filtro y ordenación que tenía Y!P. Lo que son las cosas, utilizo la documentapipe que desarrolló Beukis utilizando la herramienta de Yahoo!

Esto permite poner la pipe dentro de un contenedor (que a su vez irá dentro de una gm:section y de un gm:tab, como veremos después).

En la segunda pestaña, pongo un calendario, utilizando uno de los feeds de los calendarios de muestra que encuentro en la beta cerrada. Se puede ver en la URL que es posible indicar el orden de las entradas indicando los parámetros orderby y sortorder. Es de suponer que con estos recursos y otros que de momento no he encontrado, es posible aplicar algunos criterios más de organización de los datos.

Con esta combinación, el código fuente final del mashup es:

resultado del mashup

y el resultado:

Demo sandbox


Consideraciones finales

Con los dos servicios conseguiríamos un backend genial. Por ejemplo, echo en falta que en Google Calendar no se puedan mostrar los datos de los feeds agrupados por fechas. Eso permitiría conjugar, por ejemplo, los posts de este blog con los posts de otros blogs interesantes, para poder contextualizar mis informaciones. Si un feed lleva su fecha eso permitiría utilizarlo en un calendario, no?

En el capítulo beta-testing, la herramienta es ligera... pero no guarda los proyectos, con lo que las capturas que he puesto aquí son lo único disponible a fecha de hoy. Como en el caso de Y!P, los mashups pueden ser publicados, por lo que es de esperar que vayan surgiendo. También pueden ser definido como gadgets, pero eso ya es otro cantar.

La combinación de ambos servicios es interesante:

  • Y!P se caracteriza por un buen backend de agregación de contenidos que da como salida un grupo estructuralmente homogéneo de datos, en formato RSS. Cabe pensar que una combinación inteligente del lenguaje XML y el uso de enlaces nos proporciona un sistema muy ágil de interrelación de la información.
  • GM proporciona una interficie de presentación de los datos. La pena es que para ir más a fondo tenga uno que meterse a programar, que no deja de ser un cambio de mentalidad, y por lo tanto un enfoque de trabajo más planificado.

No se hacen sombra la una a la otra. Lo que sí proporcionan es una visión de hacia dónde va cada servicio. Es de esperar que ambas empresas continuen su progresiva evolución en el lanzamiento de servicios.

Y para acabar, sólo un apunte más: RSS es el presente y el futuro. Eso y los microformatos en general permitirán la progresiva dispersión de las redes sociales, que ya todo el mundo se empieza a oler, por aquello de "Tú haces todo el trabajo, ellos se quedan la pasta".

Tags

gestión documental 10     Recuperación información 11     Linux 7     Usabilidad 5     open source 3     Tagging 12     lógica borrosa 2     fuentes de información 12     Google 6     off-topic 6     spam 2     grafos 6     Web social 11     modelización 12     Productividad 11     buscadores 2     utilidades 17     Profesionales 9     SEO 5     estándares 3     veracidad 3     relevancia 2     lingüística 2     PLN 2     lenguajes documentales 2     apis-mashups 3     reseñas 7     Flash 7     Gráficos estadísticos 13     Publicidad 3     Innovación 5     muestreo estadístico 9     PHP 14     internet 2     testeo 12     desarrollo 3     visualizacion 36     javascript 16     datos abiertos 9     elecciones 2     simulación 5     html5 7     phing 9     ssh 2     seguridad 3     indicadores 2     demografía 3     media 2     algoritmos 7     shell 4     mysql 2     backup 2     big data 6     twitter 2     d3js 11     revealjs 2     metodología 6     data-journalism 6     smartcities 2     NYT 2     privacidad 3     benchmarking 4     recopilaciones 21     magento 5     formacion 2     github 2     HHVM 3     psicología 2     angularjs 3     grep 2     nodejs 5     promises 2     mapreduce 3     crossfilter 2     exploración de datos 2     machine learning 2    

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.