RSS Part 20: RSS Guard Revisited
I had some significant issues when I first tried out RSS Guard, as described in my previous RSS Guard blog entry. It is a well-maintained application, however, so I decided to try it out again after learning that QuiteRSS is dead.
I have been trying out the application again over the past month. Though I have not been using it as my primary RSS reader, I have put a lot more time into it than I did previously. The organization of this blog entry is therefore different from my previous RSS reader posts.
Issues
My previous RSS Guard blog entry lists three reasons for not using the application. All of them are resolved.
- Checking feeds was slow. I am happy to report that this is no longer an issue! The newer versions of the application check feeds much more quickly. At least for my feeds, it is now significantly faster than QuiteRSS!
- There were many problems with the user interface design. After putting more time into it, however, I found that the most significant issues were due to Qt themes issues on my system. I do not use a Qt-based window manager, but I expected the package manager to install all necessary Qt dependencies when installing QuiteRSS. It installed Qt dependencies that are required for the application to run, but it did not install appropriate Qt themes, which caused the application to look quite bad. After installing and configuring a Qt theme, RSS Guard now looks as the author intends.
- I was annoyed that the application does not copy URLs to the
“primary selection” clipboard on Linux. QuiteRSS has the same issue,
however, and my fingers now have the muscle-memory to paste from the
system clipboard when needed. (In QuiteRSS Update,
I wrote about
Control+R
followed by+
, but in practice I tend to use"+p
because I strongly prefer to avoid keyboard chording.)
I ran into another issue this month, but it is not critical. My preferred way to process RSS feeds is to delete items as I process them. The primary reason for this is efficiency. Keeping the size of the database small keeps the application fast and responsive. As described in my client requirements, trash functionality allows me to process feeds very quickly, without having to worry about mistakes. RSS Guard supports this way of processing feeds, but I found that you have to keep the items in the database.
Specifically, emptying the trash removes items from the user interface but keeps them in the database. The cleanup database functionality removes the items from the database, but the next fetch loads all items of all feeds, marked as unread. Always performing database cleanup, like I used to do to keep Thunderbird responsive, is therefore not viable. If the size of the database continues to increase over time as hundreds of new items are added per day, then is is likely that the application will slow down like Thunderbird does when you do not regularly “compact folders.” Note, however, that I have not confirmed this behavior. It is possible that RSS Guard automatically removes deleted items that are old enough to no longer be listed in an RSS feed, significantly mitigating the growth of the database. Even if the database grows over time, one possible workaround is to perform database cleanup whenever the application starts to get slow. Such resets would be annoying, but they would probably not need to be done too often.
At this time, there are no blocking issues! RSS Guard is viable for my needs.
Configuration
This section describes how I configure RSS Guard.
New Account
When adding a new account, the “Miscellaneous” tab presents “Display additional nodes” with the following options:
- Important
- Unread
- Labels
- Probes
These options correspond to special “nodes” in the account tree, in addition to the “Recycle bin” that is always enabled. For example, the “Important” node can show all items across all folders that are marked as important. “Probes” corresponds to the “Regex queries” node that makes it easy to save and run search queries using regular expressions.
I imagine that these are nice features for users who store/organize information within the application. I just use my feed reader as an input filter, so I disable all of these options.
Fix Icons
RSS Guard uses Qt themes to display various icons. If you see text such as “Fetch all” in a toolbar, then the icons are not loading correctly.
After various failed attempts, I (mostly) resolved this issue by
installing the KDE Plasma Oxygen theme. In the “Icons & skins” tab
of the “User interface” section of the settings, set “Icon theme” to
oxygen
and “Style” to “Oxygen”. Press the “Apply” button
and then press “Yes” to restart. Note that you may need to select
Quit
from the tray icon in order for it to actually
restart.
Disable Tray Icon
The tray icon prevents the application from exiting, even when you
select File | Quit
. Keeping the application running is
(likely) an intentional feature for users who want to keep their feed
reader open to continually check for new items. Having
File | Quit
not actually quit is misleading, however, and
it seems buggy that the “apply settings” functionality cannot restart
the application without also selecting Quit
from the tray
icon. In any case, I do not want to keep my feed reader open and find
the behavior annoying.
This issue can be resolved by disabling the tray icon. In the “Tray
area” tab of the “User interface” section of the settings, deselect the
“Tray icon” option. With the tray icon disabled,
File | Quit
works as expected.
Disable Notifications
I check my RSS feeds at specific times. Keeping a feed reader open and receiving notifications when new items are available decreases concentration and productivity.
Also, RSS Guard notifications are particularly annoying on my system because they cannot be dismissed using the mouse. Moving the mouse pointer to a notification makes the pointer jump to the center of the application!
In the “Notifications” section of the settings, deselect the “Enable notifications” option.
Keyboard Shortcuts
I wish that I could configure the application to never open content
in the internal browser. I would like to always use my external browser.
I do not think that this is supported, but it is at least possible to
assign a keyboard shortcut that makes it easy to open an item in my
external browser. In the “Keyboard shortcuts” section of the settings,
scroll down to the “Open in external browser (Open selected articles in
external browser)” option, click in the corresponding text field, and
press the space bar to assign a Space
shortcut.
Import Feeds
Select Accounts | (Your account name) | Import feeds
to
open the “Import feeds” dialog box. Be sure to select the “Do not fetch
titles” option before you load your OPML file, or it will
overwrite your titles with those in the feeds. Then use
Select file
to select your OPML file. Select
Import from file
to import the selected feeds into your
account.
Fetch All Feeds
Click on the “Fetch all feeds” icon underneath the house icon at the top left of the application to fetch all feeds.
When I last tried RSS Guard, it took more than four minutes to fetch all feeds. This time, it took just over twenty seconds! That is great improvement! It is faster than QuiteRSS. This fast time implies that it has a short timeout when fetching from slow sites. I searched the settings in search of a way to configure this, but I was unable to find one.
Adjust UI
The default proportions of the UI panes and table columns are terrible. With content loaded, adjust the widths of the panes and columns so that the content is easy to read. This only needs to be done once, thankfully.
I remove the “Important” column, as I do not use that feature.
The application does not use the LC_TIME
environment
variable, but you can customize the date/time format in the settings. In
the “Articles list” tab of the “Feeds & Articles” section, I enabled
“Use custom date/time format” and selected the
yyyy-MM-dd HH:mm:ss.z
option.
Customize the toolbars in the “Toolbars” tab of the “User interface” section of the settings. Here are my settings:
- Toolbar for feeds list
- Fetch all
- Stop ongoing fetching
- Toolbar spacer
- Feeds search box
- Toolbar for articles list
- Copy URL of selected item
- Toolbar spacer
- Article search box
- Statusbar
- File download progress bar
- Feed update progress bar
Note that there are some other actions that I would consider adding to the toolbars, but they have the same icons as higher priority actions. I decided to not add them to the toolbar, as I would rather use the text menu than occasionally mistake icons.
As is standard in table user interfaces, the sort order of items can be changed by clicking on a table header. I have never wanted to do this intentionally, but I occasionally do it by accident that then have to fix the change. I wish that I could disable this feature.
I wish there was a way to customize the preview pane toolbars. I do not want the “Mark article read”, “Mark article unread”, and “Switch article importance” icons. If I could get rid of them, I would put the read/unread actions in the articles list toolbar (for the rare times that I want to use them). In other feed readers, marking items read/unread is done by clicking on the read/unread dot, but that is not supported in this application.
I would customize the preview pane browser UI as well, if I could. I do not use browser or media player functionality, as I have dedicated software for that. On a related note, I noticed that selecting new items causes the preview pane browser back button history to build up! This likely wastes memory (for a feature that I do not want/need), but I am not worried about it because I close my feed reader after usage, not keep it open.
The order of imported folders is kept, but the order of the feeds in
the folders is unfortunately lost. I sort feeds alphabetically (by my
customized titles), however, and this is easily enforced by selecting
Feeds | Sort alphabetically
.
UI/UX Notes
Martin Rotter, the RSS Guard developer, asked if I could file bug reports for issues that I find. I kept a list of UI/UX issues that I spotted, but none of them are very significant, and existing issues seem much more significant. I will talk to Martin via email, and if I create any issues, I will update this blog entry to link to them.
- In the “Miscellaneous” tab of the “New account” and “Edit account” options, the meaning of “nodes” in “Display additional nodes” is not clear to new users.
- In the “Miscellaneous” tab of the “New account” and “Edit account” options, it is not clear that option “Probes” enables the “Regex queries” feature. Perhaps consistent terminology should be used.
- In the “Import feeds” dialog box, the order of operations is misleading. One must set the options in the middle before selecting the source file at the top.
- In the “Import feeds” dialog box, the list of “Target feeds & categories” displays only two rows at a time, at least on my system. Browsing hundreds of feeds only two rows at a time does not provide a good user experience.
- When imported, I received a note that some feeds were not loaded
properly. It says “Check log for more information” but I was never able
to find this information. I suspect that
Help | Display application log
is broken because it is always blank. - The “Counts of unread/all messages” are center-aligned. These should be right-aligned.
- The default proportions of UI panes and table columns is really bad. One needs to resize everything in order to use the application. It might be nice to provide better defaults.
- When the items table shows all unread items, clicking on the first row causes all rows to resize. Oddly, clicking on any other row does not have the same (undesired) behavior.
- When importing, the order of feeds is lost.
- When attempting to fix the order of feeds, it is difficult to drag a feed to the top or bottom of a folder. This may be a Qt issue that cannot be easily fixed in the application, however.
- RSS Part 1
- RSS Part 2: My Client Requirements
- RSS Part 3: Validation Issues
- RSS Part 4: Thunderbird
- RSS Part 5: Newsboat
- RSS Part 6: GORSS
- RSS Part 7: QuiteRSS
- RSS Part 8: Liferea
- RSS Part 9: Akregator
- RSS Part 10: Tiny Tiny RSS
- RSS Part 11: FreshRSS
- RSS Part 12: yarr
- RSS Part 13: RSS Guard
- RSS Part 14: Feature Reflections
- RSS Part 15: Feature Reflections
- RSS Part 16: QuiteRSS Day 1
- RSS Part 17: QuiteRSS Update
- RSS Part 18: QuiteRSS is Dead
- RSS Part 19: Current Thoughts