RSS source element: threading your feed

The source element in RSS 2.0 is the most under-utilized item element yet it solves many of the issues of tracking threads and citing an item’s source. I would like to lift the veil on this optional sub-element of item and introduce new ways to track related content inside a feed aggregator.

The purpose of the source element according to the RSS 2.0 specification is to “propagate credit for links, to publicize the sources of news items.” It contains two pieces of information about a cited source: a RSS feed URL and the name of the channel.

<source url=”http://www.niallkennedy.com/blog/index.xml”>Niall Kennedy’s Weblog</source>

Using the code above a weblog post could define the source of the data contained within the post. Using the example from Brent Simmons’ post, two posts from separate weblogs discussing the release of a software upgrade could both point at the software vendor’s release page within their source element to give credit and provide a service to their users to track common threads.

A feed aggregator could gather all of the source elements and determine similar sources and near-neighbor relations. A user could browse a commentary by topic, follow a conversation thread, and discover the most commonly cited post within a given topic.

Sources are commonly cited in HTML by including text such as “(via linked source).” A weblog authoring tool could generate a RSS source element when it parses the post and discovers one representation of a source citation. Aggregators supporting authorship tie-ins should pass this data to the weblog authoring tool. If everyone utilizes the specification to its fullest we should have a much richer experience authoring and consuming new content.

2 comments

Commentary on "RSS source element: threading your feed":

  1. Phil Ringnalda on wrote:

    If the source element was going to solve any problem, I don’t think it’s that one. I’m pretty sure it came into being back when Radio was going to be My Userland On The Desktop, something you would use to republish your favorite items from the feeds you’re subscribed to whole and intact, and then if I subscribe to both your filtered feed and one of the feeds you marked as a source, I wouldn’t see a duplicate of those items from your filtered feed. So if Planet aggregators used the source element, and if people had a single feed URL (I subscribe to your RSS 2.0 feed, but Planet Technorati sources you from your Atom feed, so I’m hosed), then it might work as a substitute for decent item-level guid/id elements, but… they don’t.