2018-12-01 Thinking about the real RSS 3.0

I’m still sad about RSS 2.0 and Atom. Why didn’t we go the other way? Aaron Swartz had the right ideas and called it RSS 3.0! He was so ahead of his time.

Follow those links and read it. The introduction in particular is still gold! 😂


  1. Remove XML. XML is just too complicated and is against the spirit of RSS, which is Really Simple Syndication. [...] Instead, we’ll go back to RFC822-style fields. [...]
  2. Remove namespaces. Namespaces are just a waste of time. [...]
  3. HTML forbidden. No one needs HTML. Email has been just fine for years before Microsoft introduce their stupid rich HTML extensions. HTML is for those loser newbies. Any intelligent Internet user deals in plain text.

Clearly, it’s a joke. But the reason it burns is because it is so attractive.

And to be sure, it is a joke! Aaron Swartz was a member of the RSS-DEV Working Group which had developed RSS 1.0. He didn’t actually espouse the values expressed in the list above. But they still speak to me in an irrational way, like Gopher speaks to me.

Wouldn’t this make sense, in a retro kind of way? When some people start seeing a point in Gopher in an age of HTML 5 and rich multi-media hypertext, then perhaps we can also go “back” to a syndication format that never was. I don’t actually prefer Gopher to the Web. I prefer the spirit of Gopher. I like being able to write a client and a server in a few lines of code. I like the absence of Javascript and Cookies. I like the lack of surveillance. That’s because Gopher is simple. I want things to be simple. And I want feed parsing to be simple. Sure, there are libraries to help parse XML (like there are for HTTP, HTML, caching, headers, content negotiation, Javascript, and so on). But nothing beats a few lines of code.

sub ParseData {
  my $data = shift;
  my %result;
  while ($data =~ /(\S+?): (.*?)(?=\n[^ \t]|\Z)/gs) {
    my ($key, $value) = ($1, $2);
    $value =~ s/\n\t/\n/g;
    $result{$key} = $value;
  return wantarray ? %result : \%result; # return list sometimes for compatibility

Oddmuse uses this format to save data to disk. 🙃

Anyway, if you want to go for a deep dive, there is a lot more history and examples in the long, multi-page article The Evolution of RSS. The history section on Wikipedia is much shorter.



Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.