What is RSS?

RSS is an open standard for sharing notifications, updates, and announcements about your website and content. It’s likely the greatest web technology you’ve never heard of, but it was hugely popular when the blogosphere ruled the Web, before social media platforms took over. It’s still used extensively on sites as large as NASA, The New York Times, MDN, YouTube, Wired Magazine, and as small as your local government, your neighbor’s blog, and your niece’s web comic. Now is an excellent time to learn about RSS.

The exodus of users away from Twitter and Reddit has led many of those information refugees to discover the joy of subscribing to feeds in a reader. RSS and Atom feeds are an enormous open decentralized network that can never be ruined under new ownership — because there’s no owner.

Tara Calishain Explains: What is RSS?

RSS provides an open standard that allows you to post your web content to a syndicated feed as a file on your website. Using a feed reader people can anonymously subscribe to that feed file and receive syndicated content updates when that file is updated. People can follow as many syndicated feeds as they want, receiving a wall of content from a wide variety of sources... post? follow? share? wall? ... this is all sounding vaguely familiar.

In many ways it’s like social media without the middle man. It’s also a channel of information that is hard to track, and difficult to monetize (directly). Visitors can subscribe anonymously. It’s interesting to note that major social media platforms such as Facebook and Twitter, Apple Mail and Microsoft Outlook e-mail clients, and modern browsers, all previously offered support for the RSS feed ecosystem but have since reduced or removed that support. The support for syndicated feeds waned because it’s like social media without the middle man: it’s a channel of information that is hard to track and difficult to monetize.

While I see RSS most often referred to as “news feeds” I feel that sells them short. They are not just the news. I prefer the term “syndicated feed”. It can be any pure data that you want to support.

If you’ve written any HTML (and by now I suppose you have) then you’ll see more than a few similarities.

Sample RSS 2.0 Code
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

<channel>
  <title>HTML Hobbyist News</title>
  <language>en-US</language>
  <link>https://www.htmlhobbyist.com/</link>
  <atom:link href="https://www.htmlhobbyist.com/feed.xml" rel="self" type="application/rss+xml" />
  <description>News, Updates, and Announcements information about The HTML Hobbyist.</description>
  <image>
    <title>HTML Hobbyist News</title>
    <url>https://www.htmlhobbyist.com/images/html-hobbyist-rss.png</url>
    <link>https://www.htmlhobbyist.com/</link>
  </image>

  <ttl>1440</ttl>
  <lastBuildDate>Wed, 19 Jun 2024 12:12:12 +0000</lastBuildDate>

  <item>
    <title>New Section for RSS Feeds</title>
    <category>HTML Hobbyist Updates</category>
    <link>https://www.htmlhobbyist.com/rss/</link>
    <guid>https://www.htmlhobbyist.com/rss/</guid>
    <description>Learn to create a handcoded RSS feed to syndicate your site.</description>
    <pubDate>Wed, 19 Jun 2024 12:12:12 +0000</pubDate>
  </item>
</channel>
</rss>
          

See? It’s nothing to be afraid of. And once you’ve written an RSS feed file, you can put it anywhere you could put an HTML file.

RSS Versions

RSS 1.0, RSS 2.0, and Atom are the main competing standards for syndicated feeds.

Created in 1999 by Netscape, RSS gained popularity in 2004, and it reached its peak in 2009. Over that time there were 7 (to 9) competing minor versions of RSS. We like to think of a version chain as something like this:

RDF RSS 0.90 RSS 1.0 RSS 2.0 Atom

If only it were that simple! Very early on in development the RSS community fragmented. Over the course of its development RSS was forked. The timeline actually looks a little more like this:

RDF RSS 0.90 RSS 0.91 RSS 0.92 RSS 2.0 RSS 1.0 Atom
The Fragmentation of Syndication Feed Languages

This is transparent to the average feed reader user because feed readers typically support all three standards. For this reason and because RSS 2.0 supports enclosures — which directly make things like Apple podcasts possible — my primary focus will be on showing you how to write a feed in the RSS 2.0 format, and how to add additional code for maximum compatibility with the other standards. I haven’t found a compelling reason to publish a syndicated feed in more than one format.