Un web mashup no es mas que crear una nueva aplicación web uniendo la funcionalidad de 2 o mas aplicaciones web que ya existen. Como siempre Google es la estrella de las mashups, encontrando cientos de mashups que unen Google maps con alguna otra cosa.
Para ello programmableweb.com es un sitio muy recomendado, ya que recoge más de medio millar (726 a día de hoy) de APIs de aplicaciones webs.
Otras aplicaciones que permiten generar mashups son: popfly, de Microsoft y Google mashup editor, actualmente en beta con colaboradores limitados.
Sobre popfly hay que destacar que, a diferencia de Yahoo! pipes cuyo propósito es crear filtros de feeds, popfly ofrece la posibilidad de crear mashups de forma visual a través de un editor gráfico en el que a unos cubos se les asocia un servicio web.
Otro detalle interesante de popfly es que usa la tecnología Silverlight, que Microsoft ha creado para competir con Adobe Flash.
De todas formas, popfly es aún un servicio reciente, por lo que existen muy pocos desarrollos que, en general, no pasan de ser pruebas consistentes en mezclar información de dos sitios web.
Actualmente, los mashups podrían ser clasificados en función de su contenido y fuentes. Los tipos más comunes de mashups son los siguientes:
Supongamos que a partir de Google Maps queremos crear un mashup del estado de los pantanos españoles.
Lo primero que se necesita para hacer un mashup es una o varias fuentes de datos. En formatos sindicados (RSS, Atom) o mediante APIs que exponen los datos en formato XML o JSON. Si no existen feeds disponibles podemos crear uno propio, una herramienta gráfica por ejemplo Openkapow. Podemos por ejemplo crearlo a partir de una página que agrega los datos como puede ser http://www.embalses.net de la página del Ministerio de medio ambiente (http://www.mma.es/). Una vez publicado, ya está listo para utilizarse.
Puesto que el feed contiene mucha información que puede que no estemos interesados en mostrar se pueden manipular los datos del feed antes de usarlos. Para ello se puede utilizar una herramienta online llamada Yahoo! Pipes (http://pipes.yahoo.com/) que permite manipular diferentes fuentes de datos y sacar un feed en RSS, un objeto JSON, XML…
A grandes rasgos el pipe lo que hace es filtrar los ítems que nos interesan, extraer los valores que luego se utilizarán como variables (nivel de llenado, coordenadas del embalse, nombre del pantano, …) y sacarlo en el feed.
Una vez cargado el objeto JSON proporcionado por el pipe que hemos creado, representarlo en el mapa es casi trivial. En función del nivel de llenado se pone un icono diferente al marcador, y se usa un gestor de marcadores para su representación puesto que el número de pantanos es muy elevado. A continuación podeis ver código fuente donde se genera el mapa.
Y el resultado: Estado de los embalses españoles.
Otro ejemplo de localización de museos con el geocodificador de Yahoo! y Google maps, podeis verlo aquí.
www.urbaniza.com: Buscador viviendas de obra nueva.
Puedes pasar un rato entretenido en fisgonia que mezcla un listado de webcams, con el mapa de Google.
Otro mashup curioso es ClockR, que usa el API de FlickR para buscar números y montar con ellos un reloj que muestra la hora en línea:
FlickrSudoku. Mashup que usa el API de FlickR para buscar números y montar una partida de este famoso juego.
También es un buen ejemplo de mashups el servicio esfresh que mezcla de last.fm, youTube y Wikilyrics o GoolzOOm, iniciativa de Jesús Barrio con el ánimo de facilitar el acceso al Catastro Español (Google Maps + Catastro). También cabe destacar su más reciente InmoMaps, un mashup de anuncios inmobiliarios simple y práctico.
Y otro de los ejemplos más populares de mashups es el que se produce en la generación de páginas de inicio personalizadas, mezclando los contenidos de las fuentes de feeds rss, imágenes, vídeos, buscadores, correo, widgets… de tu preferencia.
Los mashups son uno de los pilares de la web 2.0. Si bien el principio de ésta es la colaboración entre usuarios, los mashup extienden esta colaboración a las aplicaciones web. Así, los usuarios ya no sólo pueden aportar nuevo contenido a la red, sino que, gracias a la sencillez con la que se crean, pueden generar información más completa, combinándola que ya existe en la red, y por lo tanto con más calidad.
Cabe destacar la influencia de estas "remezclas" en los programadores web que cada vez están más forzados a ofrecer APIs claras, ligeras y sencillas si quieren que sus aplicaciones se extiendan ampliamente y en el menor tiempo posible. Esto repercute directamente en la calidad del código y, por tanto, del servicio que se ofrece creándose cada vez mejores aplicaciones.
De momento, los principales abastecedores de contenido para mashups son grandes servicios como Flickr, eBay, Youtube, Amazon, Yahoo!, Microsoft o Google. En España, la mayoría de mashups se basan en Google Maps.
Los pioneros del "mashup" en España reconocen que tiene aún puntos oscuros. Para Julián Martínez, de Adoos, "lo malo es que exigen más recursos, tanto a nuestros usuarios, ya que a una conexión telefónica normal le costará bastante tiempo mostrar los mapas con toda la información, como a nuestro sistema, que debe soportar más de dos millones de usuarios y un mashup muy interactivo".
Rogelio Bernal, de eListas, teme por la propiedad intelectual: "Un mashup combina dos o más propiedades intelectuales para crear una tercera. Por ejemplo, tú subes una foto a Flickr. Flickr ofrece una API para que la gente cree mashups. De repente, aparece tu foto en un mashup. ¿Y si alguien en el proceso intenta obtener beneficios económicos? ¿Y si a mí me parece bien que la gente cree mashups en Flickr, donde aparezca mi foto, pero me opongo a que alguien se lucre con ello? Conforme se desarrolle más el fenómeno, este tipo de situaciones puede complicarse".
José Antonio del Moral, de Alianzo, ve otro riesgo, la dependencia: "Hoy en día Google nos permite usar sus mapas hasta ciertos límites, que son unas 10.000 cargas diarias. Pero, ¿qué sucedería si mañana decide cortar el grifo?".