55 lines
3.3 KiB
Markdown
55 lines
3.3 KiB
Markdown
---
|
|
layout: post
|
|
title: Really 'Sweet' Syndication
|
|
---
|
|
|
|
People on the internet write a lot of stuff. How do you keep up with it... <b class="hilite">securely</b>?
|
|
|
|
I don't want to be creating an account or share my email address to whichever site I visit.
|
|
|
|
## Enter [RSS](https://en.wikipedia.org/wiki/RSS)
|
|
|
|
Short for <b class="hilite">Really Simple Syndication</b>, it is a specification to share your blog or podcast or whatever so that others can subscribe to it anonymously. The subscribers will be updated whenever a new article is published without the publisher (the blog writer, or podcast creator) having to store and spam everyone's inboxes.
|
|
|
|
## How does it work?
|
|
|
|
It really does live up to its name. Along with your website, you publish an `XML` document that contains the metadata about your website. This document is typically hosted at `site-name/feed.xml`.
|
|
|
|
For example, consider the below XML for a blog named <b class="hilite">The Coffee Blog</b>.
|
|
|
|
```xml
|
|
<rss>
|
|
<channel>
|
|
<title>The Coffee Blog</title>
|
|
<link>https://thecoffeeblog.com</link>
|
|
<description>All about coffee</description>
|
|
<language>en-us</language>
|
|
<item>
|
|
<title>How to brew coffee</title>
|
|
<link>https://thecoffeeblog.com/how-to-brew-coffee</link>
|
|
<description>Learn how to brew the perfect cup of coffee.</description>
|
|
<pubDate>Mon, 10 Jun 2025 12:00:00 GMT</pubDate>
|
|
<guid isPermaLink="false">12345</guid>
|
|
</item>
|
|
<item>
|
|
<title>Best coffee beans</title>
|
|
<link>https://thecoffeeblog.com/best-coffee-beans</link>
|
|
<description>Discover the best coffee beans for your taste.</description>
|
|
<pubDate>Tue, 11 Jun 2025 12:00:00 GMT</pubDate>
|
|
<guid isPermaLink="false">12346</guid>
|
|
|
|
<!-- More items can be added here as and when new blog posts are ready-->
|
|
</channel>
|
|
</rss>
|
|
```
|
|
|
|
There is bunch of metadata about the website itself followed by a list of `<item>` elements. Each `<item>` represents a blog post or an article. The `<title>`, `<link>`, `<description>`, `<pubDate>`, and `<guid>` elements provide information about the article.
|
|
|
|
The subscribers can now use a software that downloads this file periodically (lets say every 5 minutes) and checks for new `<item>` elements. If there are new items, it can notify the user about the new articles. Note how there is a `<link>` element in each `<item>`. This is a convenient way for the subscriber to discover new content once it is available.
|
|
|
|
<b>You</b> are the <b class="hilite">Subscriber</b>. The software that does this download-and-compare operation is called a <b class="hilite">RSS Reader</b>. The document is called an <b class="hilite">RSS Feed</b> and the process of sharing articles this way is called <b class="hilite">Syndication</b>. The blog poster only updates this file everytime a new post is created. All subscribers eventually get notified about the new post.
|
|
|
|
Some popular RSS readers are [Feedly](https://feedly.com/), [Inoreader](https://www.inoreader.com/), and [The Old Reader](https://theoldreader.com/). These are paid services that allow you to subscribe to multiple RSS feeds and read them in one place. There are also free and open-source alternatives like [Tiny Tiny RSS](https://tt-rss.org/) that you can self-host.
|
|
|
|
If you know how to program, you can write your own RSS reader, it is not that hard.
|