Mashup the web


One of our focuses here at Sunlight Labs is to demonstrate how open data enables citizens to be engaged and informed on how Congress works. We do this by creating mashups that make information from a variety of sources easy to manipulate and understand. I recently gave a talk at a CARR Boot Camp on using the web to work with data. While not directly related to Congressional transparency, the following example from the talk is a good demonstration of how an end user can work with open data without the assistance of software developers.

We’ll start with a site I highly value, DC Foodies. The site has great reviews of restaurants in the DC area and other related blog posts. Most of the review entries contain the address of the restaurant being reviewed. By itself this is of little value. We can read the post and see the address, but that’s about it. Fortunately the site has an RSS feed.

Let’s take the RSS feed and run it through Yahoo’s fantastic Pipes service. Pipes lets you take RSS and other feeds and execute various operations on the data. The site provides a dead simple visual editor that is used to apply the operatons and filters to the data. For example:

alt=” in Yahoo Pipes” />

The pipe in the image above takes the DC Foodies RSS feed, geocodes any location data found in the posts, and filters out entries that do not contain geographic information. Pipes adds custom elements to the RSS feed that contain the latitude and longitude of the restaurants based on the addresses in the reviews. How cool is that? It gets even better.

Among the various formats in which you can output your modified feed, KML is specifically suited to syndication of geographic data. We can take the URL of the KML output and paste it into the search box of Google Maps. Click the Search Maps button and Google will plot the locations from the KML feed on the map. Click on one of the map markers and you will see a summary of the original blog post.

New tools and technologies are allowing end users to mash up content without needing the assitance of software developers. Building open platforms that work on open formats is key to allowing end user manipulation of data across disparate resources.