Skip to main content

RSS Part 2: My Client Requirements

I have used many different RSS clients over the years, both native applications and online services. I am currently using Thunderbird, which I have used for about five years. I will devote a separate blog entry on using Thunderbird as an RSS client, discussing both positive and negative aspects. This entry discusses my requirements for an RSS client.

Some requirements are essentials for any RSS client. The software needs to have good compatibility with the feeds that sites publish. The user interface must support fast usage, so that users can process many items quickly. For example, keyboard shortcuts are essential. I am sure that there are other essential requirements, but I will not list them unless a client that I evaluate fails to meet them.

I currently prefer using an application over a web service. In general, I try to minimize the amount of stuff that I do in a web browser. Native applications tend to have better performance, and I really appreciate being able to process RSS feeds quickly. In the past, I used an online RSS client for years, and I find that I am much more efficient with a native application. Also, a window manager is much better at managing applications than a web browser.

I would consider using a web service with decent performance, however, because it makes it easy to check my feeds while away from my computer. In this case, I prefer using open source software that I can host myself over using a service that I do not control. When hosting software myself, I do not want to run PHP or Ruby.

Performance is critical for native applications as well. Applications that use Electron or Java are too slow. I do not need the user interface to be a work of art. It is a problem if it is so ugly that it is distracting, and fancy rendering/animations are a definite negative.

I generally minimize usage of graphical user interfaces (GUIs) and spend most of my time in the terminal, but I prefer using a GUI for processing my personal RSS feeds. Item content is generally displayed using HTML, with image support and a variable-width font, similar to the linked content that the item describes. This allows me to filter items more effectively, saving time.

Note that I have used an RSS client with a terminal user interface (TUI) for work, to track software releases that affect my work. When all I care about is version numbers, I prefer the TUI over a GUI.

The user interface must support hierarchical organization of feeds with at least two levels. I use one level to organize feeds by category, as it is most efficient to focus on one category at a time. I generally process feeds separately, grouped by category.

The user interface must display the content (description) as well as enclosures. It must be easy to open links in my browser or copy them to the clipboard. For example, I often copy enclosure links and paste them into a wget command in a terminal. The user interface must support HTML (tables) and Unicode (multiple languages).

While I dislike the trash functionality on Windows and macOS systems, I found that I appreciate it in an RSS application. It allows me to filter items more quickly without worrying about making mistakes! If there is no trash, then I have to be much more careful when processing items, and this has a huge impact of efficiency. For example, I sometimes decide that I want to read a deleted item only when I later see a related item. In this case, I can quickly find the deleted item by searching the trash. I empty the trash after all items have been processed.

The client must support manual checking as well as periodic checking. I generally use manual checking to get the most recent items at that time. I make use of periodic checking only when I am going to be away from the computer for a long time, such as when I am away for a weekend, to make sure that I do not miss too much. Note that I do not keep my RSS reader on while I work, and it is essential that all notifications can be turned off.

Note that there are some features that I do not make use of. I do not need download functionality, as I download things in the terminal directly into the target directory. I do not need special podcast functionality, as I manage podcasts myself. I do not mind if the RSS client has such features as long as they do not get in the way.