diff --git a/_posts/2025-06-10-syndication.markdown b/_posts/2025-06-10-syndication.markdown new file mode 100644 index 0000000..7998e7f --- /dev/null +++ b/_posts/2025-06-10-syndication.markdown @@ -0,0 +1,54 @@ +--- +layout: post +title: Really 'Sweet' Syndication +--- + +People on the internet write a lot of stuff. How do you keep up with it... securely? + +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 Really Simple Syndication, 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 The Coffee Blog. + +```xml + + + The Coffee Blog + https://thecoffeeblog.com + All about coffee + en-us + + How to brew coffee + https://thecoffeeblog.com/how-to-brew-coffee + Learn how to brew the perfect cup of coffee. + Mon, 10 Jun 2025 12:00:00 GMT + 12345 + + + Best coffee beans + https://thecoffeeblog.com/best-coffee-beans + Discover the best coffee beans for your taste. + Tue, 11 Jun 2025 12:00:00 GMT + 12346 + + + + +``` + +There is bunch of metadata about the website itself followed by a list of `` elements. Each `` represents a blog post or an article. The ``, `<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.