Behind every great feed, is there a webpage?
by ZetaGecko | Add Your Comments | Atom/RSS
As the details of the Atom format are tuned in preparation for publishing the 1.0 version of the specification, a question that has been touched on before has been raised again: should feeds be required to link to an alternative representation of their data, ie. must each feed carry the same content as an associated (in most cases) webpage? In the (brief) history of feed formats, such a link has always been required, and nearly all feeds have followed the rules and provided it, and for that reason, some say it we should require it too. Others, myself included, agree that it's a good idea to publish the link if the alternate representation exists, but think it's time to drop the requirement.
Robert Sayre wrote: "I can't believe people want to put these out on the open Internet without an alternate."
...to which I replied: "Feeds are the only kind of resource on the internet that I'm aware of that routinely have alternate representations. Thinking about it from that direction, why one WOULD want a feed to have an alternate representation becomes a more important question than would one WOULDN'T. Here are the reasons I can think of:
"* Feeds emerged in the context of an internet where virtually everybody had a web browser, but virtually no one had a feed reader. Having only a feed severely limited one's reach.
"* Feeds emerged in the context of an internet where publishers were already publishing HTML representations of the data they started putting into feeds.
"* Feeds began as a method of announcing the existence of new data on web pages, not as a method of delivering full content.
"* There are established and accepted methods of building revenue streams from web pages--ie, we know where to put ads in web pages. Until people figure out how to monetize their feeds, many will want to use them to drive people to their web pages.
"It seems to me that the reasons for having alternate links in feeds are almost entirely based on the context in which feeds originally emerged. These conditions still apply to many feeds, but not all. I don't see any reason to try to force feeds to continue to be the unusual internet resource that always has an alternate representation."
Sam Ruby posted a proposal to require either an "alternate" link or an atom:id element at the feed level. I think that's a step in the right direction, but not the correct solution. Instead, I proposed (and plan to post an official proposal) that we require either a "self" link or an id. The "self" link contains the official URL (or URI, or IRI, if you want to get technical) from which the feed is published, and ensures that a feed reader will be able to figure out where to subscribe to a feed from if it receives the feed by some method other than loading it from the location where it's published.
Since (unless you do some really weird things) only one feed is going to come from a particular (U|I)R(L|I), the "self" link would serve as a reasonably, though not perfectly, stable identifier for a feed, and thus can fill a similar purpose to atom:id. On the other hand, more than one feed might have the same "alternate" link--for example: a full content feed vs. a summary feed; a scraped feed vs. an officially published feed; a feed containing all entries in a blog vs. a feed containing only the entries discussing politics; etc. Thus, the "self" link and atom:id are better alternatives for filling a feed requirement than the "alternate" link and atom:id.
Support for dropping the requirement for an alternate link seems strong. We'll see what happens with the other details.