rss sucks, but you should use it anyway

2024-10-16

or, its better than perfect, it's standardised!

Rss is pretty annoying to deal with. It's kind of a pain to write by hand, so almost everybody automates their rss feed. It's supposedly "really simple syndication", but it's really not that simple. It supports a whole load of features which it's hard to see myself ever using. One thing that's become common practice with rss, this blog does it too, is putting the entire content of an article into the tag in it's respective rss entry. Clearly, that's not what that tag was supposed to be used for, and it makes reading through the xml file as a human really annoying. But the assumption is that a human doesn't really need to read the xml file, it's optimized for machines to both read and write. I preffer "human scale" technologies.

Compare rss to something really simple, gemini's subscription protocol https://geminiprotocol.net/docs/companion/subscription.gmi. You literally just put the title, then the date on a page and thats it. No need for a seperate xml file to serve as a feed, no need for a bunch of tags and elements half of which no one will ever use. Just a human readable and writable standard for formatting gemini pages in such a way that there are dated entries. It's as simple as:

=>entry.gmi yyyy-mm-dd - Title

And it works great. Yeah it does have a shortcoming whereby only the date is specified, so if you make multiple entries on the same day, there's no way to determine the chronological ordering within the day, but I really do not care about that. The point is that's all you need.

So I don't really like working with rss for that reason, it's just a lot bigger and more complex than my usecase. But we should also use it anyway.

Because rss is already the standard. It might not be great, but it's good enough, and most importantly it's already widely supported. Good enough + widely supported is the goldilocks zone for life. I do not think it's worth spending any time trying to make and advocate and market and manage a new syndication protocol for the web, because we already have a syndication protocol that is fine. Not amazing, but fine.

As someone with a humanities background rather than a stem background, I feel like I come with a different attitude towards technology and computer programs in particular. That is, compsci people seem to focus in on the idea that programs are maths and electronics at their most basic. Although that is obviously an important aspect, it seems to me that this isn't really the most basic aspect of computing. Computing is about standards and communication. It's a social function. The only reason you're capable of compiling a program on one computer and having that binary work on another computer is that we have a set of social standards which dictate how our computers should respond to certain instructions. The only reason your computer works in the first place is because we have made decisions about how components should communicate with each other as part of a human social process. In other words, standards and documentation are as important and fundamental if not moreso than clever maths. Which is kind of annoying because writing programs is clean where as human social activity is messy. Nonetheless this seems to be the case. Programs are sort of like contracts, or the rules to a board game. They are agreements between people. Therefore, standardised is better than perfect.