Why Are People Still Creating RSS Feeds? Why Are People Still Creating RSS Feeds? xml xml

Why Are People Still Creating RSS Feeds?


The fundamental thing that the Atom creators didn't understand (and that the Atom supporters still don't understand), is that Atom isn't somehow separate from RSS. There's this idea that RSS fractured, and that somehow Atom fixes that problem. But it doesn't. Atom is just another RSS splinter. A new name doesn't change the fact that it's just one more standard competing to do the same job, a job for which any of the competing standards are sufficient.

No one outside a fairly small group of people care at all which standard is used. They just want it to work. Atom, RSS 2.0, RSS 1.0, RSS 401(k), whatever. As long as it works, the users are happy. The RSS "brand" very much defines the entire feed category, though, so on the rare occasion that someone does know enough to choose, they will tend to choose RSS, because it's got "the name." They will also tend to choose RSS 2.0, because it's got the bigger number.

RSS, and especially RSS 2.0, are very much entrenched in the feed "industry." Atom hasn't taken off because it doesn't bring much except a new name. Why switch away from RSS when it works just fine? And why even bother using Atom on new projects if RSS is sufficient? Switching to a new feed format mostly means extra time spent learning the new format.

If nothing else Apple's exclusive use of RSS 2.0 for podcasts means that RSS 2.0 is here for the foreseeable future.


If you are asking why the Atom syndication format is not more widely adopted than the various versions of the RSS format, I think it would be difficult to come to an objective answer. A variety of factors like the amount of investment in RSS prior to Atom, the relative ease in implementing RSS versus Atom, and 'marketing' all come into play.

I can, however, think of a few things that should be considered when choosing what syndication format to use in representing resources:

Atom

  • Atom is an official Internet standards track protocol.
  • Atom has a registered content media type for its feed and entry representations.
  • Without the use of syndication extensions Atom tends to be a more robust format, especially in the link relations arena.
  • Representing resources using Atom allows you to leverage the Atom Publishing Protocol (AtomPub) to provide a RESTful API.
  • The RFC-3339 DateTime format used by Atom is easy to parse.
  • There is only one deprecated version of Atom (0.3) you might conceivably have to support.
  • Implementing Atom typically takes more time to do correctly than RSS, as there are more restrictions and the technical specification can be a bit dense.

RSS

  • RSS is a relatively simple format to implement in a short amount of time.
  • There are not as many constraints/rules placed on RSS as there are on Atom.
  • RSS is not an official Internet standards track protocol. However, RSS has enough adoption that you can reasonably expect it to be consumable by a variety of clients.
  • As there are quite a few 'deprecated' versions of RSS, you might conceivably have to support RSS feeds that vary quite a bit in their formatting details.
  • RSS does not have a registered media content type. However enough publishers use the same unregistered content type that it is almost a defacto MIME type.
  • The RFC-822 DateTime format utilized by RSS is more difficult to parse as this particular timestamp format allows a lot more possible variation in the format that is still considered valid.
  • You will need to extend the RSS format using a variety of published syndication extensions when you start trying to represent resources with complex link relations.

I think it is important to remember that to the end-user, what syndication format you choose to use is not very important, as most feed readers and browsers handle either format equally well. The choice of syndication format however can be very important to the developer, as there are technical details that can impact the software development side of things.