Darwinian Web
Adam Green's thoughts on the evolution of the Internet

Extending feed grazing beyond simple reading lists

Posted on Friday, February 10, 2006 at 7:03 PM (permalink)

This evening I decided to spend some more time on my Tech Memeorandum mashup. The original goal of this project was to use the list of people and blogs cited by TM as the starting point for experimenting with multiple APIs, such as Technorati and Del.icio.us. I was sidetracked for a while following the path of dynamic OPML reading lists, but now I was again ready to tackle the API issues. I had been stuck on the problem of creating a data structure that could hold the TM blog citations and all of the API results that were based on this list. Only this time I was approaching the problem with a better understanding of OPML, and an appreciation of James Corbett's thinking on this issue.

James coined the term feed grazing, and has been blogging for a while about the ways OPML could be used to tie together disparate information. I decided to reread his blog on this subject, and discovered that he had already solved my problem in a post he wrote today:

"Better again, imagine if Adam's script could generate a multi-level OPML hierarchy with the feeds for the original story in the top level nodes and the referencing blogs leading off those as sub-nodes. Now that would be getting close to the "evanescent, biotic OPML hierarchies" I spoke of yesterday."
This was my solution. Instead of some complex data structure, I could create a simple collection of inter-related OPML files. The result of each API query could go into its own OPML file, and I could modify my current TM reading list to point to all of these lower branches on the tree. I knew that James had written a post based on the awful pun of OakPML that addressed this idea, so I went back and found this rather colorful, but highly useful metaphor:
"You might think of new RSS feed items as the acorns at the extremities of the tree, popping in and out of view like strobe lights flashing as the timelapse runs through the decades. Now picture a little squirrel on the ground looking up, eying those acorns with envy. He is of course a Feed Grazer. Starting out at the root he makes his way along multiple levels in the hierarchy, from sub-node to sub-node until he reaches the acorn (latest feed item). He plucks (grazes) it and then scuttles back down the tree (up the hierarchy) until he comes to another interesting looking fork. Then back towards the extremity to fetch another acorn. And so on, and so on. That, in a... ahem... nutshell is Feed Grazing."
Once I had finished groaning, I could see that feed grazing was more than just a way of reading a list of feeds, it was a metaphor for traversing a potentially complex outline based on OPML. The squirrel doesn't understand the whole tree, he just knows how to find his next acorn. I still have to create a user interface for this collection of OPML files, but I'll leave that for the future. Hopefully, James will come up with the answer when I need it.