Open Thinkering

Blog posts in the Stream, that is what we are

Screenshot of the 'Stream' RSS reader

Like everyone else, back in the day I used to use Google Reader. Then, I used Feedly. More recently, I've installed on my server FreshRSS, a free, self-hostable feed aggregator, and used an app called Fluent Reader to connect to it. I've been searching for the perfect RSS feed reading experience for two decades at this point.

There have been lots of attempts to reinvent RSS readers over the years, but none have really invented a new approach to it. So, when I saw Current, an “RSS reader that does not count,” I realised it had put into words something I'd wanted for a long time

Traditional feed readers feel like just another inbox, and one that you're always behind with. Terry Godier, the creator of Current, calls that need to get to the equivalent of inbox zero a “phantom obligation,” and it's what spurred him to build his app.

I think it's a great idea, but the catch for me was that Current only runs on Apple platforms (macOS/iOS) and I split my time across different systems (Android, Linux, macOS). So I wondered whether we might be able to create something similar in a browser, talking to something like my existing FreshRSS instance.

What do you know? It turns out you can.

What is Stream?

Stream is my homage to Godier's more polished, paid-for offering. It's just a small AGPL‑licensed web app that I've created, mainly for my own use, to to talk to a backend such as FreshRSS or Feedbin to fetch and sync feeds.

That means Stream never stores RSS subscriptions itself. You either run something like FreshRSS yourself, on your own server, or you pay a service like Feedbin. Stream just logs in and shows you what's there.

As it's browser-based, I can open Stream on any device and see the same view of my feeds. It presents everything as a single 'stream' of posts, rather than folders of unread items. As you can see from the 2-minute walkthrough video, it's very simple.

Origins and influences

I've already mentioned Current as a recent influence, especially in the way that it talks about different “velocities” of sources. Feeds that publish multiple times per day go past quickly, and the work of less frequent publishers sticks around a bit longer.

Fraidycat had a similar idea years ago. It asked you how closely you wanted to follow a given source, and Stream borrows that idea of curating your attention without requiring a browser extension.

There's no denying that Stream is similar to Current. I considered just keeping it in a private GitHub repository and only using it myself. I don't particularly want to be sued. However, my feeling is that nobody owns these kinds of ideas. UX patterns spread over time: for example, the “pull to refresh” gesture that's now in every app was first implemented in the paid Twitter client Tweetie.

I see Stream in that tradition. It is clearly influenced by Current and Fraidycat, and I've said as much here and in the GitHub repository. Terry even replied to me on Mastodon, in a message that has since disappeared, to say he was not annoyed and hoped I would develop the idea further and find some “quiet for reading.”

The code of Stream is released under the AGPL so anyone can run their own copy, inspect how it works, and/or send improvements. It's just another experiment for me – in this case, making feeds work a bit more like my attention.

Where next?

Stream can currently connect to two backends, FreshRSS for people like me who self-host, and Feedbin for those who prefer a hosted service. The README in the GitHub repository goes into more detail about how to set that up.

Stream is not a service I'm planning to run for others. It's more of a tool that I created for myself that I'm sharing in case it works for you. What are you currently using for feed reading? Does this approach work for you?