Skip to main content

RSS Part 13: RSS Guard

RSS Guard is another GUI RSS client that looks promising. Like QuiteRSS, it is built on the Qt platform. While QuiteRSS includes an embedded WebKit browser, this one uses the web functionality of Qt.

Impressions

I installed the latest version of RSS Guard using my package manager:

$ sudo pacman -S rssguard

Like QuiteRSS, the RSS Guard user interface often produces many artifacts on my system. My system seems to have a problem with Qt, unfortunately.

When first running RSS Guard, a window for adding a new account is displayed. I created an “RSS/RDF/ATOM/JSON” account. The software gives you an option to load a default set of feeds. It is nice that it asks!

You can import an OPML file by right-clicking on the account in the feeds pane and selecting Import feeds. After clicking the Select file button in the “Import feeds” window, the software offers to fetch feed metadata, warning that it takes extra time. I am not really sure what this means, but I bet that it just downloads all of the feeds and uses the channel information to configure them. I selected Yes. A progress bar is displayed in the “Import feeds” window! Nice! It took some time to import my feeds, but the progress bar gave me confidence that all was well. After the feeds are loaded, the software gives you a chance to select which feeds from the OPML file to import. Nice! Be sure to click the Import from file button before using the Close button to close the window.

My OPML file loaded without issue. The hierarchy of folders loaded fine, and the folders are automatically sorted. Nice! Feeds are shown, so the feed folders that I created in Thunderbird to get around the poor design of that client are not needed. Moving feeds to the appropriate category folder is done using drag-and-drop, and it can unfortunately be tricky because the UI automatically opens and closes folders quite quickly as it tries to guess what you want to do.

When adding a new feed, you can enter the URL and then press the Fetch it now button to populate the required “Title” text box. You can set a better title when desired. Despite opting to fetch metadata during import, the imported feeds report that metadata has not been fetched.

Checking all feeds is slow. I hoped that it was just the initial check that was slow, but subsequent checks take the same amount of time. I measured the time: it took 4 minutes and 10 seconds to check all of my feeds. This is much longer than it takes to check the feeds in QuiteRSS and Thunderbird.

Select a feed or folder in the feeds pane to display the items of the selected feed/folder in the items pane. Select an item to display the item content in a preview pane. The default layout looked terrible on my small screen, but I selected View | Switch layout in the top menu and it moved the preview pane below the items pane. This looks much better, but I still needed to manually adjust the sizes of the panes (and table columns) to get a good balance.

The preview pane is surprisingly poor from a user interface design perspective. Quite a bit of screen space on the left is wasted to show the following text:

  • Mark article read
  • Mark article unread
  • Switch article importance

The first two are used to toggle if the item is marked as read or not, with the enabled entry in gray and the disabled entry in black. The third is used to toggle the important flag for the item; the text is always black, and it has a gray background when enabled or a while background when disabled. There are many UX problems with this, but I will only cover the big ones. First, why are the two toggles displayed in such different ways? Second, why is text used here? Every other RSS client that I have seen uses icons for this. A circle is generally used to indicate if the item is marked as read, and a star is generally used to indicate if the item is important/favorite. Icons take up less space, can provide tooltips to teach users their functions, and are easier to identify and therefore result in more efficient use. The column of whitespace below these textual options is almost as ugly as the options themselves.

To the right of these unsightly options is basic web browser interface. At the top, in between forward, back, reload, and stop icons and an address bar is the following text:

Open this website in system web browser

Moving the mouse over that text reveals that it is a button! An icon should also be used here. Below this browser bar is the title of the item (in an incredibly small font!) and a blue rectangle with the text “URL” right-aligned inside of it. The blue rectangle is a link that is styled like an ugly button. Pressing it loads the item link in the embedded web browser. Right-clicking on it provides various options, including copying the URL or loading it in an external browser. The item description displayed below this also uses an incredibly small font. Thankfully, the settings allow you to select a preferred font, including the size. With custom font settings, the preview pane is much more readable, but it still looks quite unattractive compared to other RSS clients.

I much prefer using my external browser to load item links. Using the ugly URL link/button is annoying, but thankfully a keyboard shortcut can be configured for this. I configured my space bar to open links in my external browser, and it seems to work well. I right-clicked the ugly URL link/button and selected Copy link address to try it out, but it does not work for me! The problem is that Linux has multiple “clipboards” and this application does not copy the URL to the clipboard (“primary selection”) that I need to be able to easily paste it into a terminal. This is annoying.

When an item has a podcast enclosure, and additional blue link/button titled “AUDIO/MPEG” is displayed next to the URL link/button. (This looks like a MIME type, but why put it in all caps?) I can use it to copy the URL of the enclosure, but it has the same clipboard problem, making it difficult to paste into a terminal. Links in the item description have the same problem.

Item descriptions tend to look bad compared to other RSS clients, but at least Japanese is displayed without issue. Tables span the full width of the internal browser for some reason, making them more difficult to read than is necessary. Images are displayed, and I do not see any configuration for disabling them. They usually look fine, but I saw some pretty strange image placement as well.

AdBlock is available; it is disabled by default. Authenticated feeds are also supported.

When you delete an item, the title in the items pane is displayed with a strike-through font until you browse to a different feed/folder. When you return to the feed with deleted items, the deleted items are no longer displayed. The deleted items are put into a trash (called the “Recycle bin”) for the account and can be permanently deleted via a right click or via the menu. There is a search box at the top right of the window. It searches item descriptions, not just titles.

I added the feed that Thunderbird refuses to load due to validation issues, and RSS Guard handles it without any problems.

Like Liferea, RSS Guard has support for using a script to generate as well as post-process feeds! Running a script to generate a feed allows users to add “RSS support” to anything without having to run a separate service, since the script is run when the feed is checked. Post-processing allows users to fix problematic feeds. These are great features!

RSS Guard has support for periodic checking. Like Liferea, a global setting can be configured, and each feed can be configured to use the global setting, use a custom setting, or never update automatically. This is a great design! Notifications are enabled by default, but they can be easily disabled in the settings. The number of unread messages can optionally be displayed in a tray icon, and the tray icon can be disabled if desired.

One annoying aspect of the user interface is that it makes heavy use of modal windows that stay on top even when switching to other applications.

RSS Guard stores its configuration and data according to the XDG specs, but it unfortunately stores the database in the configuration directory. The configuration and database is stored under ~/.config/RSS Guard 4, while the embedded web browser cache is stored under ~/.cache/RSS Guard. Yes, those are spaces in the directory names, indicating that Windows is the primary platform. At least an application directory is not created directly in the home directory. The size of the database is reasonable, making backup easy.

I noticed in the configuration that RSS Guard defaults to using SQLite for the database but also supports MariaDB. Running MariaDB just for RSS Guard seems like a lavish waste of resources, but perhaps it would speed up the slow feed checking.

I also noticed a Tools | Cleanup database menu item, which I guess is similar to File | Compact Folders in Thunderbird. It is necessary to compact folders regularly in Thunderbird to avoid the application from getting progressively slower (like Windows), and it may be necessary to regularly clean up the database in RSS Guard as well.

My Client Requirements

How does RSS Guard measure up to my client requirements?

RSS Guard does not meet my essential requirements because the performance of checking feeds is too slow. The performance might be improved by using MariaDB, but I do not want to dedicate my computer resources to running that database just for an RSS client. RSS Guard supports key shortcuts that the user can customize. It works with all of my feeds, even the invalid feed that Thunderbird refuses to load.

RSS Guard has good support for multiple languages and displays both images and tables, but the embedded browser has surprisingly poor design and looks quite bad compared to other RSS clients.

RSS Guard allows me to organize feeds hierarchically, allowing me to optimize the order that I process them. The hierarchy is implemented much better than in Thunderbird. The application has trash support, allowing me to process feeds very quickly. It can check feeds manually as well as periodically, with great usability for such configuration. I am able to turn off all notifications.

RSS Guard has some nice features, but I am not impressed with it overall. I will not consider using it due to slow feed checking, poor user interface design, and the clipboard issue.