Thursday, February 8, 2007

Yahoo Pipes: The Mashup Factory

Yahoo Pipes is "a hosted service that lets you remix feeds and create new data mashups in a visual programming environment". In Unix, a pipe (or a pipeline) is "a set of processes chained by their standard streams, so that the output of each process feeds directly as input of the next one".

Yahoo created a service that lets you treat feeds like some standard text files.

How to create a pipe

You'll have to go to this page, sign in to Yahoo, and use a visual environment that accepts drag and drop. You'll see a small list of modules (or commands) that can be dragged to the canvas.


In this example, someone aggregated the feeds from Technorati, Google News, Yahoo News and more. The first box accepts a user query that's used for building the URL of the feeds. You'll have to use a URLBuilder for each news source and connect it to Fetch, that actually reads the content and builds one feed. To improve the output, the author sorted the feed items by publication date and removed duplicates.

As Yahoo explains, "each module has one or more terminals, represented by small circles in the interface. You can wire modules together by clicking on one module's output terminal and another module's input terminal. Now the output from the first module will serve as input to the second module."

Yahoo exports the results of a pipe in one of these formats: RSS, RDF, JSON and Atom, so it's easy to use in a web application later.

What can you do?

You can count the number of items from a feed, sort them, filter the items that match a rule, remove duplicates, extract location names and important keywords or merge two feeds.

Start by opening pre-defined pipes and understand their meaning. Then you can build your own pipe by simply cloning an existing one and adapting to your needs.

Yahoo Pipes is a very interesting example of how easy is to play with data and build useful things by simply mashing data.

No comments:

Post a Comment