February 08, 2007

Let's Get Wiring - Yahoo Pipes

So I assume everyone's seen THE most beautiful piece of poetry-in-motion digital storytelling that is the Web 2.0 ... The Machine is Us/ing Us movie?

Well the beautiful stuff just keeps on rolling.... welcome Yahoo! pipes (should'a been tubes though... ;-)

(Ok - there's probably a way to go with the service yet, but there's a heck of a lot of playing can be done with what's there... as you'll see...)

In a nutshell pipes offers a visual feed wiring tool; check out Tim O'Reilly's ad for pipes for the overview and below for my first quick foray...

A couple of weeks (?) ago, I posted about searching OpenLearn anywhere by creating a "Dapp" to scrape OpenLearn Search Results.

This application offers - among other things - an RSS feed of results from a search over OpenLearn content. (OpenLearn doesn't offer this natively, of course, but the results are clean enough to scrape reliably, which is what things like Dapper were invented for, right? Web service intermediation for people who don't do web services.)

I showed in the post how to use the dapp feed to create an OpenLearn/Grazr search widget using this bit of Grazrscript. And here's how to use in pipes - an OpenLearn search pipe:

pipes1.png

As has been commented on elsewhere, this interface is very Ning-like - the pipe/application is both useable and cloneable - so you can clone (and then edit) someone else's pipe.

Ok, so that's what you see when you 'run' a pipe. Here's how you build it:

pipeOpenLearn.png

The tool is quite easy to get to grips with, at least at this simple level. As you can see, the Dapp URL has several arguments. Although I typed this in, I soon realised you can just past a whole URL for a feed returning webservice into the URL box, and it will pull out the arguments for you (something I hope you'll soon be able to do with Grazr... although maybe there's no need now...?)

What I particularly like about this example is that it demonstrates how feed outputs from different web services can potentially be wired together...

Okay - so that's just one feed, being searched. It's trivial to add another - so I'll use the OU ROUTES search, which does have an RSS output:

pipeOLandROUTES1

It's easy to merge feeds, limit them, sort them and so on (which I've yet to explore in anything other than cursory depth). In the above demo, I just take the first five items from each search and combine them in an OpenLearn and ROUTES combined search output feed.

The above shows how quickly feed wiring diagrams could get complicated, so rather than cloning and growing pipe applications, as I did in the above case, it's more advisable to reuse pre-existing pipes, if appropriate. So for example, I already had the OpenLearn Search pipe, so I can reuse it in a modified combined OpenLearn and ROUTES search pipe:

pipeOLandROUTES2

Of course, I could create a ROUTES search pipe and then just wire the ROUTES and the OpenLearn Search pipes together...

pipeROUTES.png

The pipes wiring interface is really easy to use, and I think it's going to be a lot of fun playing with it over the coming weeks and months.

The question is, how ouseful is wiring and filtering feeds likely to be for us and/or OUr students?

PS Pipes seems to be down at the mo - so I can't check to see if this works - but here's a guess at a Grazr front end to a the combined OpenLearn/ROUTES piped search described above... [was originally broken, now fixed; heh, heh - a Dapp fed pipe inside another pipe, with a user interface provided via a Grazr widget... Good stuff :-)

Technorati Tags: ,

Posted by ajh59 at February 8, 2007 01:53 PM
Comments