2023-01-24

The Joys of Syndication

I made a new blog! You probably already noticed since you are reading it right now.

I wanted to keep things as simple as possible, nothing fancy, no huge relational databases, no tagging, no heavy administration interfaces, no user privileges or logins, and no comments. You can reach me on Mastodon if you like though.

The simplest you can make it is usually just a bunch of HTML-files in a folder structure. It's how we did things in the late 90s and it works just fine. Until you decide to update your header or something and you find yourself having to manually edit a whole bunch of files, then it's not so simple any more. Not having to do manual labor was the reason we invented computers in the first place, after all. This is nothing some frames, or Server Side Includes, or a simple Perl-script couldn't handle, but we're living in the future now.

So I wanted simple, but not that simple. I also didn't want to use a static site generator. Nothing wrong with them, they can be pretty great, but I wanted something that could just sit on the server. Preferably written in PHP. 😄

This site is generated from a folder structure of Markdown-files, but unlike the static generators it is generated on the fly. This is slightly less efficient but still extremely fast, and the entire site, content, templates, theme and code is just a bunch of files that will happily run basically anywhere.

All I need to do is copy a markdown file to the right folder on the server and boom. Done. Nothing to run on my local system. No compilation to perform. No whole bunch of files to rsync. I will probably put it all in a git repo at some point though.

It Just Works™.

Get on with it

Anyway, my old friend Fredrik wrote about and linked to my first post in his latest diary entry and noticed that I did not have an RSS feed. 😱

And that was correct, I did not. The thought hadn't even crossed my mind that I needed one.

RSS stands for Really Simple Syndication, or possibly Rich Site Summary, and allows Web Syndication, that is, showing articles or content from one web site (a feed) on a completely different place. Usually the different place is an app or other website that aggregates all the content and present it in an easy to read fashion. In a way it embodies everything that the open web and free flow of content is about.

I used to be quite heavy into RSS-feeds in the past. I don't recall exactly the years, but probably around 2006 - 2010 or so. I used an old piece of software called NewsFire—which I purchased—to read feeds from quite a number of sites. I used to start every morning coming in to the office with browsing through all the news from quite a number of sites. It usually took quite a bit of time.

As is usual with these things, I don't recall exactly why or how i stopped doing that, but I never installed NewsFire after going from my old iMac to a new Air in early 2013, so I had probably stopped already by then. Thinking about it, I don't even think I installed it on my second iMac a few years earlier.

RSS is not a new thing, the early specs going back over 20 years, which is ancient as technologies go, and since I didn't use it any more I never thought to implement it on my blog. Of course, being ancient does not mean it's bad, quite the contrary.

So since Fredrik mentioned it, I thought "how hard can that be to fix?" and set out to implement it.

Will I ever get to the point?

As it turns out, it was surprisingly easy. The actual code didn't even need any modification. In about an hour I had managed to not only read enough of the specification for Atom 1.0 (RFC 4287) (Atom being a later kind of format that are different from RSS but do the exact same thing), but also write a simple template file that Just Worked™ and spat out XML that could be validated (albeit with the wrong MIME-type, but never you mind that now).

Did I mention that RSS-feeds are made using XML? RSS-feeds are made using XML. XML is annoying. Only later did I find out that you can actually do feeds in JSON these days.

And there was much rejoicing (yaaaaaaaay).

Fredrik reported the feed to be successfully working, so I wondered out loud what cool kids like him use to read RSS these days.

The answer turned out to be NetNewsWire. A piece of software that has also been around since those early days but—unlike NewsFire—has actually been taken care of for most of the time. Although not always by the same hands. It even has an iOS app!

Since I could always use something else to consume my limited time, I downloaded it on both my Mac and my phone.

And I was pretty much immediately hooked.

The point I'm trying to get to

It turns out RSS is by no means dead, most interesting sites use it, including many I was already checking manually every now and then. Now we are coming back to that whole thing about letting the computers do the work for us.

Instead of manually going to every site that interests me, reading and scrolling until I reach an article I have already read, the computer does all that for me.

So just like I can let a VCR watch a TV-program for me, so I don't need to watch it myself, the RSS-reader can read the websites for me. But unlike a VCR it lets me skip through things and keeps track of what has or has not been read already, letting me efficiently read what seems to be interesting and quickly skip over the rest. It's quite neat.

NetNewsWire even syncs over iCloud to the app on my phone, a huge feature for someone spending time on both desktop and mobile.

I was quite happy with it already at that point. But then I discovered that NetNewsWire will actually let me read the birdsite in a perfect way! 😮

Now, I sincerely dislike what the blue birdsite has become, but reading it has nonetheless been a huge part of my life for the last decade. Many people I followed there thankfully moved to Mastodon or cohost (both have RSS-feed support incidentally), but there are still a few things left that are worth reading.

Useful things like weather updates and typhoon warnings and messages from the electricity company about planned maintenance and service interruptions. Things I have not been able to easily get since API-access was pulled from my favourite app Tweetbot. Those are also things that will likely not move to Mastodon any time soon.

NetNewsWire allows me to subscribe to single bird-feeds just like any other site-feed, and can even pull in my entire timeline, chronologically with read indicators. It will not show replies and such unless I tap to load in the browser, but that's ok.

Update 2023-02-03: This comes as a surprise to no one, but Birdsite is removing free access to API, therefore NetNewsWire will remove this functionality. Relevant sections of this text have been crossed out.

Finally

Tweetbot being thrown out so unceremoniously (seriously, I was in the middle of reading when I was suddenly just thrown out) left a big hole in my online life. I do understand the sites need to make money by ads and such, and reading through the app I was not generating any income for them, but just cutting everything off suddenly and without warning? Not cool.

Now however, between interesting people on Mastodon and syndicated feeds from so many lovely blogs through NetNewsWire, I will have more to fill that hole with than I actually have time for.

Epilogue

So, I would like to thank you for making it all the way to the bottom of this text (you just skipped to the end, didn't you? Like someone turning to the last page of a mystery novel to find out who the killer was before reading the rest of it? 😅). I tend to write in a very talkative style which maybe not all people appreciate. I usually just write what is in my mind, as if I had just been talking out loud. This is the result. My brain is messy like that.

I would try to make my texts shorter or more concise, but I just don't have time.

If you have not tried RSS, please do. It does not have to be NetNewsWire, there are several other clients, so I'm told. Just google "RSS feed reader" or something and I'm sure you can find one you like. Although Google killed the one they had, because of course they did.