Offline RSS Readers on Linux

Building an RSS reader must be some kind of rite of passage. Everybody has probably started one at one point. (Hey, I've done it too.) It seems easy enough, right? Unfortunately, it is pretty easy to get something sort-of working. Which means that there's a lot of junk available. And it's a double-edged sword that Ubuntu has quality bar of virtually zero: tons of packages very easily available, but YMMV.

What follows is a quick rundown of the available RSS readers in Ubuntu, so that you, dear reader, don't have to experiment with all the same junk I did. (For what it's worth, I was running Ubuntu 10.04 LTS when I did this review, so it's possible that some of these projects have improved in the last 20 months. At some point I will update this with results for Ubuntu 12.04 LTS.)

My evaluation is relatively shallow. I'm installing the package via apt, running it (from the console, so I see whatever turds get printed to the console), importing three OPML files from Google Reader, and then reading items in a handful of feeds. I also attempt to add a couple of feeds manually, including at least one podcast.

  • blam: JUNK (1.8.7-1ubuntu1)

    • Spits out exceptions on the console when, for example, name resolution fails. This happened during import of my feeds.
    • About half of my feeds won't update -- no posts are displayed for the feed. Refreshing manually doesn't help. The URLs are valid and there should be posts.
    • Removing the example feeds is annoying. I can't just push the delete key while a feed is highlighted, and there's no keyboard shortcut. If you use keys to navigate the menu, three of the menu items use "R" as the accelerator key.
    • In one of the feeds that does have posts, clicking on any post to read it causes blam to open a Nautilus window on /usr/share/themes/blam. WTF? I stopped here -- this application is clearly unusable.
  • liferea: GOOD (1.6.2-1ubuntu6.1)

    • Removing the example feeds is slightly less annoying than blam. Delete key doesn't work, but at least the menu uses a single accelerator key. The confirmation dialog is annoying because "Cancel" is the default action instead of "Delete". A minor nit: they mix usage of "Remove" and "Delete".
    • Double-clicking the feed doesn't bring up an "Edit Properties" dialog -- you have to right-click to get there. At least blam got this right.
    • Fails to update if you provide an URL that serves a webpage with a link rel=alternate tag specifying an itpc: URL, even though the second link rel=alternate is an http: URL. Manually looking at the webpage source and specifying the correct feed URL does the trick.
    • When adding a new feed URL, you aren't presented with the box to "automatically download enclosures". You first have to add the feed and then edit properties to tick this checkbox. This means that the first download won't fetch the enclosures.
    • A podcast feed that includes the same URL as both an "enclosure" and "media:content" causes liferea to spawn two instances of wget, each downloading the same URL into the same local file. The media file is also shown twice at the bottom of the post, though this is minor.
    • Double-clicking the downloaded enclosure in the post window prompts to spawn a program to play the MP3 file. Given that liferea is a GNOME-aware application, it seems reasonable that it should use my preferred application for MP3s, just as if I had double-clicked the file in Nautilus.
    • When I specify /usr/bin/mplayer as the application for MP3s, there's a long delay -- possibly because the file is still downloading? I double-clicked it again, thinking that I might have mis-clicked. When it finally started, there were two players playing the same file, and no apparent means of killing it through liferea. (Indeed, when I look at the process list, I can see that mplayer doesn't show up as a child of liferea.) Another nit: when liferea spawns the player, it doesn't send stdout/stderr to /dev/null. This means that mplayer spews all kind of noise onto the console. (Turns out that totem is a much better choice -- so that you have a GUI to pause/stop/kill.)
  • rssowl: (2.1.2-1\~getdeb1)

    • Best installation experience so far. When starting up for the first time, I'm presented with a tutorial and a sort of import wizard instead of a lame list of "sample feeds" that I have to delete.
    • The import process is the best seen so far. It displays the feeds from the OPML file, offers to flatten the hierarchy and asks where in the existing folder hierarchy to place the new feeds.
    • Rssowl has the same "itpc: URL" issue mentioned for liferea above.
    • Podcast support is interesting. When an enclosure is present, an icon is shown in the post. You can click the icon and it will offer to download the file or create a "filter". Creating a filter is like a GMail filter -- it will be performed on every post in the feed. In this case, the filter is automatically constructed to download the enclosures to my \~/Podcast directory. Then, in the window listing all filters, I have the option of running this new filter -- which downloads all of the enclosures.
    • When the enclosure is downloaded, I can click on the icon in the post and am presented with "Open abc.mp3". Clicking this automatically opens totem -- the application that is registered with GNOME to play MP3 files.
    • Doesn't leave any turds on the console when run from the command line. (To me, this is a sign of polish. Turds aren't really a "bug", but they just don't belong there.)
    • Searching/filtering is far superior to liferea.
    • Paging through articles was a little clunky, though this may have been operator error. On the plus side, there are reasonable keyboard shortcuts for the common things I tried -- next article, next unread article, next feed with unread news, etc.
    • Odd behavior: whenever I switch virtual desktops, Rssowl minimizes itself to the tray. Really annoying when you flip back and forth between the app and the browser to write a review like this...
  • yarssr: Meh (0.2.2-5)

    • This is a simple app that displays headlines in the tray.
    • Didn't import OPML with nested folders.
    • Locks up when updating -- no UI interaction permitted.
    • Once updated, you can click to see headlines. Choosing a headline opens browser window on the post.
    • Doesn't do what I need, but for what it is, it doesn't completely suck.
  • rssreader.app: DOA (0.6.2.dfsg-4build2)

    • DOA: Probably because it's based on GNUstep and I'm not running GNUstep. I installed via apt and it pulled in several packages. When I tried to run it, I got a segfault. Didn't do anything further, just purged it from my system.
  • rawdog: Underpowered (2.12.dfsg.1-2)

    • Except for the rssreader.app segfault, possibly the most braindead installation of anything. Running rawdog, you're greeted with "No /home/brian/.rawdog directory". Grr. If I weren't writing a review, I'd just uninstall it here and never look back.
    • This is a batch / command line reader. You add feeds via command line, run an update command, and run a command to write all of the fetched posts into an HTML file. Then you can read the HTML file in your browser.
    • Doesn't do what I need, but for what it is, it seems to do a good job.

Posted on 2012-06-22 by brian in linux .
Comments on this post are closed. If you have something to share, please send me email.