RSS Part 5: Newsboat
Before moving on to RSS clients that I have not tried (recently), I would like to evaluate the other client that I use. I use Newsboat, an actively maintained fork of the Newsbeuter client, for monitoring software (library) release feeds. Such feeds generally have low throughput as well as very simple content, so I do not need the efficiency that is central to my client requirements. How would it work for my personal feeds? Let’s see!
Impressions
I already have Newsboat installed, and I confirmed that I have the latest version:
$ newsboat --version | head -n 1
Newsboat 2.25.0 - https://newsboat.org/
My first attempt to import my OPML file failed:
$ newsboat --import-from-opml path/to/rss-20211105.opml
Error: failed to read URLs from file "/home/tcard/.newsboat/urls":
Failed to open file: No such file or directory (os error 2)
The ~/.newsboat
directory exists, but I removed my old
urls
file for this user. Perhaps the software expects the
urls
file to exist if the directory exists… I removed the
~/.newsboat
directory but got the same error. It recreated
the directory, so I created an empty urls
file. The import
succeeded!
$ rmdir ~/.newsboat/
$ newsboat --import-from-opml ~/tmp/xfer/rss-20211105.opml
Error: failed to read URLs from file "/home/tcard/.newsboat/urls":
Failed to open file: No such file or directory (os error 2)
$ mkdir ~/.newsboat
mkdir: cannot create directory ‘/home/tcard/.newsboat’: File exists
$ touch ~/.newsboat/urls
$ newsboat --import-from-opml ~/tmp/xfer/rss-20211105.opml
Import of path/to/rss-20211105.opml finished.
One of the features that I miss the most in Newsboat is hierarchical
organization, which is critical for efficiency in processing feeds.
Checking the urls
file after import, I see that the label
for each feed reflects the hierarchy that I have configured in Thunderbird. I
noticed that it uses a slash as a separator but does not escape slashes
in labels (such as /r/haskell
).
Loading the client, it does not look like the feed labels are used
anyway. The feeds are displayed in the order specified in the
urls
file. It is pretty random after importing from my OPML
file, but one can of course manually sort the feeds to a desired order.
When reloading all feeds, the titles of the feeds are as specified in
the RSS/Atom feeds are displayed. Even with a fixed order, it does not
seem near as organized as a hierarchical organization provides.
Displaying titles as specified in the feeds is problematic because many feeds do not specify very good titles, making it difficult to know what a feed is from the title alone. For example, some feeds are provided as a feature of some web software, and the content creators probably do not even think about (or perhaps even know about) the RSS feeds when they create content. The RSS title may be set to some string that makes sense in context of the website but not in a list of many RSS feeds. For example, I have a feed with title 「お知らせ」 (“Notices” in English).
The first check (called a “reload” in Newsboat) was surprisingly slow. I hoped that subsequent checks would be fast, but they are also slow. While I have not had problems using Newsboat with a small number of release feeds, this performance alone is a show-stopper for use with my many personal feeds. Perhaps it would be acceptable if always keeping Newsboat running and periodically checking feeds so that one does not have to wait when processing feeds, but it does not seem that the software has support for periodic checks.
I see that Newsboat works fine with multiple languages. I notice that the Japanese is displayed in a simple/naïve way: lines are broken based on column without regard to content. Even basic 禁則処理 rules are not followed. This is not a problem, though, as I prefer to read Japanese in the browser anyway.
While I do not like the flat organization, it is of course easy to
navigate using the keyboard since Newsboat is a TUI. Item links are
displayed at the top and can be easily copied using the mouse. An item
link can be opened in the browser using the o
key, which is
great! I wish that Newsboat used Vim key bindings for navigation,
though. It would greatly improve efficiency to avoid the arrow keys, for
example.
The flat organization results in a lot of scrolling. I hoped that I
could quickly navigate to a specific feed using a search, but the search
functionality searches item contents. I therefore have to manually
search for the feed, which seems like an unnecessary waste of time. (It
got so annoying that I started to reference the urls
file,
using Vim to search, in order to find feeds more quickly.)
HTML tables are rendered in an ASCII format:
Difference between LTS Haskell 18.14 and LTS Haskell 18.15
+-----------------------------+---------------+---------------+
|Package name |Old |New |
+-----------------------------+---------------+---------------+
|Allure |0.10.2.0 [1] |0.10.3.0 [2] |
+-----------------------------+---------------+---------------+
I wonder if it would be better without the horizontal lines in cases where no cells are long enough to display on two lines on the screen… It is definitely easier to scan such tables in Thunderbird.
Images are not displayed.
Links in item descriptions are displayed with an underline and are
annotated with a natural number. Pressing the 1
key opens
the link annotated with [1]
in the browser. I do not know
how to open links greater than [9]
, however. For example,
attempting to open the link annotated with [11]
opens the
link annotated with [1]
once or twice, depending on typing
speed. This is not a big issue in cases where the item links to a
webpage with the same content, as the link can be opened in the browser
and viewed there. Some feeds do not have online versions of feed items,
however, making this link issue very significant! I could not find any
way to iterate over links in an item description (as is common in TUI
web browsers). The link URLs are listed at the bottom of the item
description, so one can at least manually find the corresponding URL and
copy it using the mouse.
Podcast enclosures are displayed at the top of the item page as well as in the list of links at the bottom. You can copy the URL using the mouse.
Reading the documentation, I discovered that what looked like labels
in the urls
file are actually “tags.” Pressing the
t
key opens a list of tags, and selecting a tag displays
only feeds that are associated with that tag. This can be used to
organize feeds into categories. This would be useful when checking feeds
for specific categories, but I do not find it very useful for my common
use case. I generally process all feeds in a single session, and I use
the organization to group the feeds according to topic in order to
improve my efficiency in processing the feeds. If I were to use Newsboat
for my personal feeds, I would manually order the feeds so that they are
grouped by topic, so I would not use the tagging functionality very
often.
I added the feed that Thunderbird refuses to load due to validation
issues, and Newsboat handles it without any problems. It displays
the author
names, for example, even though
author
should be an email address according to the
specifications. Nice!
When using Newsboat, items cannot be deleted. They are marked as read
(or unread) only. Newsboat stores the state in a
~/.newsboat/cache.db
SQLite file. I like the
choice of format, and backup is very easy!
My Client Requirements
How does Newsboat measure up to my client requirements?
Newsboat meets my essential requirements, with the exception of the speed of checking feeds. Checking feeds is way too slow and would have a definite impact on my current workflow.
While the TUI is great for a small number of release feeds, it definitely slows me down when processing a large number of personal feeds. I am able to filter items much more effectively using a GUI that uses variable-width fonts with HTML formatting, displaying images as well as rendered tables. Links are particularly troublesome with Newsboat, aside from the first nine.
I really miss hierarchical organization, but I think that I could do without it in this case. Manually specifying the order of feeds is sufficient for my general use case, where I process all feeds, and the tagging functionality helps in special cases where I need to check a specific feed.
The feed view leaves much to be desired. Displaying titles as specified in the RSS/Atom feeds is problematic. It is possible configure the software to display the feed link instead, but I greatly prefer specifying my own titles (for folders in Thunderbird). Note that using the RSS link is not very helpful because may podcast providers use links with numeric identifiers.
While Newsboat can search item content, I really wish there was an easy way to search for feeds or item titles (not descriptions). I am less efficient at finding specific items (or even feeds for that matter!) using Newsboat than I am with Thunderbird.
Newsboat does not have support for periodic checking.
Overall, Newsboat is not a good match for my needs. It works fine for checking a small number of release feeds, but I find that it does not work well with a large number of feeds.
- RSS Part 1
- RSS Part 2: My Client Requirements
- RSS Part 3: Validation Issues
- RSS Part 4: Thunderbird
- 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: Client Reflections
- RSS Part 16: QuiteRSS Day 1
- RSS Part 17: QuiteRSS Update
- RSS Part 18: QuiteRSS is Dead
- RSS Part 19: Current Thoughts
- RSS Part 20: RSS Guard Revisited