I've been dabbling with Yahoo! Pipes, an easy to use feed aggregator and manipulator. I've made such silly things as a feed for anytime someone mentions Twitter on Twitter, viewing Twitter through Flickr, a Firehose feed of Socialtext public blogs, using a wiki page as a command line to gain additional context from the web within the page (Page Pipes), translated some stuff into German, and Techmeme through Flickr. A couple of years ago I would have killed for something to splice feeds alone, although I can't remember why, and with Pipes I can do much more. Which says a lot given that I am not a programmer and generally too busy.
I did most of this by stealing other people's ideas, through the view source method of learning. Lots of people learned HTML this way, what you could call the Web 1.0 model of learning. Since Andressen implemented a browser instead of the two-way web Berners-Lee envisioned, developing in HTML was effectively done in a disconnected way. You learn by viewing source, copying and pasting occasionally, writing offline and pushing changes up by FTP. Transparency of code accelerated learning, but with every copy and paste a hypertext angel dies.
It is one thing to look at a block of HTML and understand how it works. It is another thing to be able to see how it was made. Good coders document for others within the code, something essential when working within teams, but invaluable for working with strangers. And strange code. And letting strangers learn from you. You get the idea.
Seeing how it is made ideally incorporates attribution and memory. Attributing sources of code that was built upon. Memory meaning seeing how the code was written over time.
So back to Pipes. You learn how to use it by viewing, cloning and editing the source of different pipes. There is a good collection of popular pipes to start with and you can search deeper. But I've noticed that since launch there hasn't been that much in the way of new Pipes rising to prominence. I hacked the URL to browse by number of clones, but noticed most of the core pipes (granular bits good for reuse, cloned more than run) are still created by the staff. In other words, the community isn't learning fast enough, or there is little community to learn.
The first thing Pipes should do is make it more of a social tool. Add Comments below each Pipe to enable a feedback loop and let us browse people to reveal active contributors.
The second thing Pipes should do is make it more of a wiki. I'm not suggesting they need a wiki for user generated documentation, that's the third thing and a no-brainer. When someone clones a Pipe, attribute and link back to where it was cloned. Inheritance is not a death tax. Further, I'm pretty sure most users don't recognize that you can mashup multiple Pipes. It took me a little while to discover that while editing I can search for other pipes and drag them in (note that dragging doesn't kill hypertext angels) or drag in my own pipes. This should almost be the most prominent feature of the editing interface, to encourage more re-use, attribution and granular abstraction. In other words, I'm looking for the attribution/backlinks and revision history inherent in a wiki.
Oh, and that third thing. I'm really impressed by what the Pipes team invented and think it could become a vital component of the web. But this thing needs documentation across the web. Put it in the wiki because you couldn't possible write it all yourself. Let people like Rod Boothby document how to hook Pipes up to Teqlo, not just because he can spell Teqlo ;-). Let me know if you need help installing Socialtext Open ;-).
Now let me fire up my buzzword engine. I think the Web 2.0 Learning Model incorporates key traits of how wikis work. Notably permission to participate, transparency, identity, discourse, attribution and memory. We learn not only through copying others, but by watching how others copy others over time.