My subscriptions list in OPML, XOXO and Atom

22 February, 2006

For a larf, I added two quick hacks so that my Feed On Feeds installation now outputs my feed list in three formats:

Down sides:

Up sides:


Subscription lists, three years on from when I first started using them, are just as crap as they were back then. If I were a tool writer now, starting from scratch, I’d be exporting and importing subscription lists in the form of Atom files. Any tool that wants to understand that file can transform it into whatever bastardised version of OPML it understands. I will definitely be adding Atom feed list import to my copy of Feed On Feeds.

On a related note, a few weeks ago Danny Ayers was talking about using for reading lists and in November Aristotle Pagaltzis published an XSLT for converting from API results to Atom.

I’ll leave you to join up the dots.

See other posts tagged with general and all posts made in February 2006.


22 February, 2006 at 01:21

The Atom version does seem nice and clean, especially compared to the others, and you’re right – I’ve run into uses of Atom that didn’t necessarily need the updated field and had to fake it before.

22 February, 2006 at 04:24

Another option is XBEL – see, f.ex., the PlanetAtom subscription list. Uche Ogbuji wrote a bunch of entries on that; we discussed the option of using Atom as well, but rejected it because of atom:updated and the lack of a way to represent a hierarchical folder structure directly in the markup.

One thing XBEL has in common with the other options you explored is that it already has some implementations – a number of browsers –, but support is far from ubiquitous.

22 February, 2006 at 09:16

PS.: there’s no reason you can’t just used the current datetime as the value of atom:updated elements. Such an element is metadata about the entry in the feed but not necessarily about the alternate representation it points to.

22 February, 2006 at 11:07

Yes, I knew about XBEL, and had read Uche’s posts and the following comments, but quite frankly, the last thing I wanted to do was start generating a format that in reality no-one is ever likely to use for this kind of thing.

(and yes, my updated element is in fact just the timestamp for the export, and not the atual last updated timestamp for the feed, but doing that feels rather horrible – I do feel that if I’m describing a feed, I should probably be providing the last time it updated.

Kevin, whilst Technorati Favourites should import my XOXO, I have no idea how exactly I’m supposed to specify it. It certainly fails to import the file I link to in my main post.

23 February, 2006 at 15:12

For what it’s worth, Technorati Favorites seemed to enjoy my XOXO output. But, I’m not entirely sure what the significant difference is between yours and mine. In fact, yours would seem to be the better constructed XOXO, with more semantic cues.

24 February, 2006 at 12:27

That’s interesting Les. Mine is a closer mapping of what you’d expect from Atom maybe.

I was going to try adding class=”feed” to each of the feed links, but Technorati appear to have updated their import script so that mine works now. Nice!

24 February, 2006 at 12:29

Although it might be nice to know exactly what the script was doing so we’d know what to give it.