Providing multiple feeds

100px-Feed-icon.svg.pngLike everyone else these days, I have multiple feeds that encompass my online life. My main site, relativesanity.com, serves as a home page for all these feeds, so that friends and family have a single place to visit if the want to see what I’m up to. But we live in the age of Google Reader and NetNewsWire. Who wants to visit a site any more?

Certainly not me, and certainly not my visitors.

Offering sensible choices

Let’s look at all the places I live:

Each of these services provides a simple feed of content (though for some reason, last.fm has stopped scrobbling for about a week now. Grumble. Any ideas? Solved: it seems that the Mac OS X last.fm client doesn’t report password problems. It just fails silently and looks like you’ve logged in. Nasty bug.). If a visitor just wants to follow me on flickr, they can click on the flickr link on relativesanity.com and then add that feed to whatever reader they use. Job done, right?

Well, not really. I’m aggregating content on relativesanity.com, so wouldn’t it make sense to aggregate feeds? By default, relativesanity.com’s feed link tag used to be a direct pull of my twitter feed, so someone subscribing to the autodetected feed on relativesanity.com would get my twitter updates.

That was fine, but I got more and more requests to provide direct links to the rss feeds from my other accounts. Family, for example, had no idea how to subscribe to flickr (or even that it was an option.

So what to do?

Relationships for relatives

Let’s do some anatomy. link is made up of a few elements:

rel
this specifies the relationship of the link to the page, e.g. “stylesheet” or “alternate”
type
this is the MIME type of the file. For feeds, it’s often “application/rss+xml” or “application/atom+xml”
title
this is the optional title of the link. For multiple feeds, these titles may be displayed by your browser when you try to subscribe to the feed.
href
this is the actual address of the feed itself.

I mentioned “multiple feeds” there. You can, it may surprise you to hear, have multiple feeds for any given page. Most people seem to see this as a means to add different formats of feed to their page. Flickr is a great example:

Picture 2.png

I say “great” here, but what I mean is “terrible”. What are my options here? “Atom” or “RSS”? I know they’re different formats, but why do I care which one to pick? I don’t know of any feed readers these days that only handle one or the other, so as a visitor, what differentiator is there for me to choose between these? Do they provide the same content? If so, is one more “efficient” at delivering that content than the other? Will one become obsolete soon? Do I lock myself into something by choosing one over the other?

It’s a minefield, and that’s all from the point of view of someone who understands what Atom and RSS are. How’s my Mum going to feel about this, other than stupid?

Let’s look at some code:


  <link rel="alternate" type="application/atom+xml"
    title="Flickr: Your Photostream Atom feed" href="...">
  <link rel="alternate" type="application/rss+xml"
    title="Flickr: Your Photostream RSS feed" href="...">

This is how flickr codes up its photostream feeds. To my mind, it’s completely pointless. If the feeds offer different content, telling me the format doesn’t tell me what the difference is. If the feeds don’t offer different content, why offer two?

Here’s how relativesanity.com’s feeds now look:

Picture 1.png

Isn’t that neat? Some code:


  <link rel="alternate" type="application/rss+xml"
    title="articles" href="http://journal.relativesanity.com/feed/" />
  <link rel="alternate" type="application/rss+xml"
    title="thoughts" href="http://twitter.com/statuses/user_timeline/6040962.rss" />
  <link rel="alternate" type="application/rss+xml"
    title="photos" href="http://api.flickr.com/services/feeds/..." />
  <link rel="alternate" type="application/rss+xml"
    title="links" href="http://ma.gnolia.com/rss/full/people/relativesanity" />
  <link rel="alternate" type="application/rss+xml"
    title="music" href="http://ws.audioscrobbler.com/1.0/user/relativesanity/..." />
  <link rel="alternate" type="application/atom+xml"
    title="everything" href="http://friendfeed.com/relativesanity?format=atom" />

Now, when visitors arrive, they can choose what to subscribe to, and the differences between each choice are clearly marked.

One feed to rule them all (sorry)

Even better, there’s an “everything” feed that aggregates all the others. This is built using friendfeed.com, which has been on my radar for ages, but for all the wrong reasons. My impression was that friendfeed primarily aggregated feeds of your friends. What I wanted was to aggregate all my feeds (and here’s the key bit) into a single RSS feed. Friendfeed not only lets you do this, it actually provides it as a first-class feature (they should have called it “myfeed”, but myfeed.com is gone).

Picture 3.png

So there we have it. Nice semantic feeds of content, all in one place, and the “everything” feed can be updated whenever I sign up to some other life-sucking service that lets me tell the world what I’m doing.

No, I’m not on facebook.

Add Your Comments

Required
Required
Tips

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <ol> <ul> <li> <strong>

Your email is never published nor shared.

Ready?