Digital Minimalism

A few days after I have started working on this post, I begun reading Cal Newport’s Digital Minimalism book and quickly realized how both topics interrelate to each other. But now one by one:

Digital minimalism is a philosophy of technology use in which you focus your entire time on a small number of carefully selected and optimized activities to strongly support things you value and happily miss out everything else. – Cal Newport

I think there is so much essence in this statement thus emphasizing the need for focussed and intentional attention for our daily activities. I’ve finished reading the book before releasing this post and as main takeaways I can for sure recommend the key principles behind digital minimalism:

I think RSS/Atom should be one of the technologies every digital minimalist should have in her/her repertoire:

So-called social websites

Almost everything we do in our lifes requires our mental focus and the will to address some attention to that specific activity. Human capacity for attention is limited and because the industry knows how to exploit human behaviour, there is a huge competition within the attention economy. You’re asked to subscribe to all kind of newsletters and eventually you’ll get bombarded with content you didn’t ask for.

Searching for all kind of RSS services I’ve stumbled upon rss-bridge which has some critical standing on “so-called social websites”:

Your catchword is “share”, but you don’t want us to share. You want to keep us within your walled gardens. That’s why you’ve been removing RSS links from webpages, hiding them deep on your website, or removed feeds entirely, replacing it with crippled or demented proprietary API. FUCK YOU. – rss-bridge

Again: it’s against their business to simply let you decide what to do with your content. They’re like tech giants selling tobacco products.

We want to share with friends, using open protocols: RSS, Atom, XMPP, whatever. Because no one wants to have your service with your applications using your API force-feeding them. Friends must be free to choose whatever software and service they want. – rss-bridge

Don’t try to reinvent the wheel. The technology is already there and has worked fine for decades now.

Also recently there have been lots of RSS related entries on Hackernews.

Media consumption

I don’t like fast food neither fast media. I try not to consume media as soon it’s published and I don’t subscribe to every possible news source - my reading time is limited anyways.

What I instead try to do is to consume media with a mindset of slowness:

Besides adopting slow media and while I’m not against social media I do think you can extract value out of it if used the proper way. Also Cal Newport suggests using it like a professional:

Really Simple Stuff

RSS (Really Simple Syndication) and Atom feeds have been for decades the best way to consume content and the let the consumer decide when to do so.

Format

I don’t care if it’s JSON, RSS or ATOM. It should be a standard, parseable format! That’s what I’m asking for. Even worse: There are sites without any RSS feeds that have a public API for fetching things. Please, stop doing so! There is nothing wrong with RSS/ATOM and standardization is good.

In the following sections I’ll give some advice how you can get RSS/ATOM feeds from well known services.

Social Media

The social media list is definitely not complete. I will just list the ones I use from time to time.

Engineering

Podcasts

I mainly use player.fm for listening to podcasts and finding new content. However, I use Emacs/elfeed to make a pre-selection of episodes because it’s really fast and convenient to integrate within my daily workflow. Using the mobile app instead is time consuming and I’m always distracted by something else. As I’ve mentioned before: Use technology wisely and come up with a workflow that doesn’t distract you from the real task.

In the case of player.fm you can easily export your feeds in OPML format:

1
https://player.fm/<username>/subs.opml

This is how it looks like:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<opml version='1.0'>
<head>
<title>Player FM Feeds from All</title>
<dateCreated>June 08, 2022 19:29</dateCreated>
<dateModified>June 08, 2022 19:29</dateModified>
</head>
<body>
<outline text="extra 3  HQ" type="rss" xmlUrl="https://www.ndr.de/fernsehen/sendungen/extra_3/video-podcast/extradrei196_version-hq.xml"  htmlUrl="https://www.ndr.de/fernsehen/sendungen/extra_3/video-podcast/index.html" />
<outline text="The Tim Ferriss Show" type="rss" xmlUrl="https://rss.art19.com/tim-ferriss-show"  htmlUrl="https://tim.blog/podcast" />
<outline text="Zur Diskussion - Deutschlandfunk" type="rss" xmlUrl="https://www.deutschlandfunk.de/zur-diskussion-102.xml"  htmlUrl="https://www.deutschlandfunk.de/zur-diskussion-100.html" />
<outline text="Update - Deutschlandfunk Nova" type="rss" xmlUrl="https://www.deutschlandfunknova.de/podcast/update"  htmlUrl="https://www.deutschlandfunknova.de/podcasts/download/update" />
....

I then used some Python foo to parse the XML file and extract xmlUrl and text attributes which were then used to generate an ORG file with all the podcasts feeds.

Services

Below you’ll find a list of (paid/free) services/tools which further enhance the RSS/Atom feed subscription feature.

Distribute content

You can also use RSS to distribute to share your content to social media. Using workflows provided by services like zapier or ifttt you can easily use RSS feeds to automatically post and share new content via Twitter, Facebook, LinkedIn and other major social media platforms.

You can use hugo (or any static site generator) to generate RSS/Atom feeds after you’ve added your content. Some while ago I’ve setup a PoC (github.com/dorneanu/feeds) to automatically share content to Twitter and LinkedIn using hugo. Let’s have a look at this sample post (in Markdown):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
+++
title = "Simple post"
author = ["Victor Dorneanu"]
lastmod = 2021-10-04T19:51:54+02:00
tags = ["twitter", "linkedin"]
draft = false
weight = 2005
posturl = "https://heise.de"
+++

Some text here and there.

-   text here
-   text [some link](https://google.de)

This post is tagged with twitter and linkedin. Accordingly this post should be part of

Using hugo’s front matter you can add specific metadata like posturl. Let’s have a look how the correspondig RSS entry looks like:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<item>
<title>Simple post</title>
<link>http://feeds.brainfck.org/feeds/2021-simple-post/</link>
<pubDate>Mon, 04 Oct 2021 19:51:54 +0200</pubDate>
<guid>http://feeds.brainfck.org/feeds/2021-simple-post/</guid>
<description>Some text here and there. text here text some link </description>
<postUrl>https://heise.de</postUrl>
<htmlContent><p>Some text here and there.</p> <ul> <li>text here</li> <li>text <a href="https://google.de">some link</a></li> </ul> </htmlContent>
<plainContent>Some text here and there. text here text some link </plainContent>
</item>

Now you can use this mechanism to automatically share content to LinkedIn/Twitter from a specific taxonomy RSS feed.

zapier

I like zapier for its intuitive simplicity for creating so called zaps. A zap is an integration between one service (e.g. Twitter/LinkedIn) and a specific event (new item was added to a RSS feed). This way you can automatically share content via social media services using RSS feeds.

This is the overall workflow:

Chose which RSS to trigger events

And configure how your new LinkedIn share update should look like

This workflow has quite many steps and requires some hugo knowledge. You’re also limited by the maximal number of zaps you can trigger each month and the number of services you’d like to sent your (RSS) content to. All these limitations lead to a custom implementation (in Golang) which I will release (as a web service) soon.

Conclusion

RSS/Atom has been on of the standardized ways how applications can retrieve content from each other. It doesn’t require authentication and it’s way simpler to implement than a REST API. I think it was like 2 years ago when I started to reduce my content consumption behaviour and started looking for a simple way to do it when I want it and in the way I like it. I don’t have to visit every single page nor do I have to go through my emails and skip promotions/ads before the real content is revealed. With modern RSS/Atom readers these days you can easily filter and label articles which will definitely improve your daily newsflow and reading habits.

You can find this blogs RSS feed at blog.dornea.nu/feed.xml. I’ve also exported my current RSS subscription list to this gist.