What Is RSS (and Atom)?

RSS stands for Really Simple Syndication. Simply put, RSS is a standardized format using a computer (and human) readable format that shows what’s changed for a website. Atom is a similar (but slightly different) competing format. RSS and Atom help with tracking the updates to constantly changing sites such as blogs, podcasts, news sites, etc.

Most WordPress (WP) blogs have a link for RSS or Atom (usually at /feed or similar for newer WP installs). Many news sites and news aggregators leverage RSS for easier feeds. For instance, Reddit uses RSS for individual subreddits. Most modern sites with constant changes will feature either an RSS feed or an Atom feed (see below for the difference).

I’ve written about RSS before (here), but I touched on both RSS (and Atom without meaning to). RSS may be an older standard, but it’s still in use.

Technical Description of RSS

From a more technical perspective, it’s an XML (Extensible Markup Language) based format defined in RFC 822. While the concept of an RFC (Request for Comments) may not mean much to someone outside of the tech world, it basically means that a modern, fundamental standard has an agreed upon definition and has undergone some kind of commentary.

RSS is defined as a dialect of XML (1.0). There are 4 main standards from June 2000 (RSS 0.91), December 2000 (RSS 0.92), August 2002 (RSS 2.0), and July 2003 (RSS 2.0.1). There are change notes referencing what specifically has changed. Overall though, no one cares about anything aside from RSS 2.0 (or 2.0.1, but most people still refer to this as RSS 2.0) outside of legacy applications.

A basic RSS XML is going to be formatted as follows:

<rss version="[version, e.g. '2.0']">
  <channel>
    [site data]
    <item>
      …
    </item>
    …
  </channel>
</rss>

In practice, this works out to something like (per this sample):

<rss version="2.0">
<channel>
<title>Liftoff News</title>
<link>http://liftoff.msfc.nasa.gov/</link>
<description>Liftoff to Space Exploration.</description>
<language>en-us</language>
<pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
<lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>Weblog Editor 2.0</generator>
<managingEditor>[email protected]</managingEditor>
<webMaster>[email protected]</webMaster>
<item>
<title>Star City</title>
<link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link>
<description>How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href="http://howe.iki.rssi.ru/GCTC/gctc_e.htm">Star City</a>.</description>
<pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
<guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid>
</item>
…

For the 2.0 standard, each item in a channel equates to an individual article or update and has certain required tags. Every item needs a title, a link, and a description. There are plenty of optional elements which are common such as the language and the pubDate.

For the primary feed channel data, you’re going to also expect a title for the feed, a link back to where it’s from, a description, and a lot more help make a feed make sense. Some people will also include an image or category as well. There are other options in RSS, but most people don’t use them commonly.

What Is Atom?

The last major revision to RSS came in 2003. Since then, the standard arguably stagnated. Atom was created as an answer to that.

Atom is very similar to RSS, to the point most modern RSS readers support both. Think of RSS as the “Kleenex” of syndicated content, where Atom is a different brand but the same concept which has gotten the same “name” (I even did this in my own take on RSS in 2020).

The standard is established by RFC 5023 and was originally introduced with RFC 4287. Atom can feel like an extension of RSS with how it’s often implemented, but it is a different standard. That being said, most modern RSS readers (e.g. any of them maintained in the past decade or so) support Atom and maybe a mix of RSS and Atom (outside of what the standards allow).

Technical Details for Atom

W3.org provides this example of an Atom feed:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Example Feed</title>
  <link href="http://example.org/"/>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
  </author>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link href="http://example.org/2003/12/13/atom03"/>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
  </entry>

</feed>

A feed needs an id (URL or similar), a title, and when it was last updated at least. You almost definitely want to put the link for the feed and probably an author entry. You also have each individual entry which needs an id, title, and when it was updated. If you’re pushing a feed out for similar use as RSS (like for a blog or news), you should probably add a summary, a link, maybe some additional content (if there’s no summary) among many other possible tags. See the aforementioned link from W3 for our sample for more information about the specifics.

You can snag bits and pieces from RSS and use them with Atom. Atom allows extensibility with other XML namespaces. While RSS does support this, Atom seems easier for what works and what doesn’t from my experience.

RSS vs. Atom

Atom and RSS are extremely similar as they are both answers to the same problem. Atom is the newer specification which exists because RSS is stagnant (i.e. there hasn’t been a change to the actual specification since 2003). Both are based on XML instead of something newer like JSON (newer doesn’t mean better, but JSON offers some serious advantages over XML for many common use cases).

RSS has been the gold standard of syndicated feeds since it gained widespread acceptance. Atom arguably wouldn’t be competitive if it couldn’t supersede or at least just extend RSS. Both protocols perform the same basic function, but Atom does it with a bit more of a modern flair.

For most modern programs, the two are near interchangeable. Most web frameworks which support RSS also support Atom and vice versa. Some RSS feeds will even add in Atom tags to make things easier for modern clients.

Why Do Syndication Feeds Matter?

While cloud RSS (and Atom) readers such as Google Reader and similar have faded from the internet, RSS readers are still commonly used and still plentiful. RSS provides an easy way to keep up to date with changing content from your favorite sites. Some sites or platforms allow a level of granularity which allows you to mix and match topics (e.g. Reddit or WordPress).

For power users or bloggers, RSS feeds can be extremely powerful. I use RSS to dump content to sites like Flipboard. This allows me an easy to way to easily keep certain social media avenues alive without any additional work.

If you’re so inclined, you could even theoretically build something to take your RSS and push it to Twitter or similar. I previously used a similar method to automate certain social media work. RSS may not be the most important technology for your audience, but it can be an easy standard to take new content and have a way to control its various outlets.

For the upcoming holiday season, I’ve talked to many individuals leveraging RSS (or Atom) to keep on top of Playstation 5 availability while dodging scalpers. There are many podcasts, news sites, etc. which are easiest to track or follow with their feeds. You know what might be interesting without having to commit to more than jumping through a summary. RSS and Atom feeds don’t have ads either (at least any I’ve ever seen).

Relevancy of RSS and Atom in 2021

RSS and Atom may not be at the forefront of any modern trends, but both are near ubiquitous now. Almost any blogging platform supports painless and configuration-free RSS or Atom. Most sites with updates will include a feed as well. News sites are much easier to keep up to date on with RSS once you get used to it as well.

Things really haven’t changed since my article for 2020. RSS is plain and simple and skips algorithms once you set things up right. You see the whole picture rather than just what an algorithm or front page decides you should see.

RSS and Atom are both mature technologies which are time-tested and immune to modern technical trends. They work as they are and both are built on tested principles. You aren’t at the cutting edge, but I would venture there are still sites with RSS and Atom feeds in 20 years while other technical trends will fade. Why build a scraper for summaries when a host provides it for you? Why track changes reinventing the wheel when a mature technology with countless libraries already does it for you?

Atom and RSS have lost their appeal as fad technologies, but like C or Java, they aren’t going anywhere. Just because they’re old, doesn’t mean they’re obsolete. Perl may be old, but it’s still great for certain things. It’s also still relevant for certain tasks as long as you understand what and why. RSS and Atom are the same and will continue to be the same for years to come.

Image by Free-Photos from Pixabay