Wallabag

★★★★☆

Wallabag is a service for saving articles you find on the web to read later. It’s built on open-source software that you can run yourself if you want (but you don’t have to). Not as polished as Pocket, but you know it’s not using your saved bookmarks to train a recommendation engine!

Setup is a bit clunky, even using the hosted service at wallabag.it, and it’s not quite as good as Pocket at extracting the content of an article. This varies according to site, of course. Sites like this one that just show you the article will work better than sites that break into the middle with a 12-image carousel and a “sign up to read more
” dialog or a redirect through CloudFlare.

You can also export articles to various formats ranging from plain text to PDF or ePub. So if you have a super-long article you want to read on an e-reader later on – or a group of articles? Easy!

Feeds and Automation

Both incoming and outgoing feeds are supported. You can set it up to follow RSS/Atom feeds to add posts to your reading list. And in the website config, you can enable full-text feeds for unread, archived, starred, or all articles so you can read them in any feed reader. Outgoing feeds include any tags you’ve added, but not annotations.

This also means you can use feeds for automation: You can use another service to aggregate keyword searches, and as long as the results are readable as a feed, you can pipe that into Wallabag. Or you can use Wallabag as a source, using IFTTT to send your starred items to another bookmarks service, or build a linkblog out of articles you’ve given a particular tag, or create a draft post. You won’t want to just give out your starred feed URL, because all of your outgoing feeds have the same access token.

Another cool feature for automation is tag rules: Like custom email filters, you can create rules to automatically tag articles based on the title, estimated reading length, content, and various other elements. This is especially useful when following feeds.

Browser Integration

Chromium/Firefox Browser Add-Ons

Chromium-based and Firefox-based browsers that support WebExtensions can use the Wallabagger extension to save an article from the toolbar. (Here it is at the Chrome Web Store and Firefox Add-Ons.) It also lets you add tags if you want, and it can (usually) extract the content from the view you’re looking at, which helps with paywalls and login walls. (Otherwise the Wallabag service doesn’t necessarily have access to your logged-in view.)

This extension also works in [Orion] as a toolbar button, but currently can’t add itself to the drop-down menu on links.

Setting it up needs API keys, and the UI doesn’t make it clear when it’s actually ready to use. Once you’ve got it working, though, you can save it to a file and load that config in the extension on another device or browser. Mostly.

Safari Extension

Safari can use the Wallabag QuickSave extension (App Store), which is similar but just silently adds the page. You can always add tags later on.

Though I did have trouble setting it up on my old home MacBook: the setup window was twice as high as the screen, with all the fields way down at the bottom. I had to use the overview to see what field was selected, return to the window, type or paste, hit tab, repeat until I could validate my credentials.

Bookmarklet

Other browsers like Falkon can use the bookmarklet, which you can find on the web app in the “Howto” section under your account menu. (Here it is on Wallabag.it.) Though I find myself missing that drop-down option for adding a link directly instead of browsing to it first.

Mobile

The Wallabag Android app handles offline sync well once you enable the right settings. I have it set to run a “fast” auto-sync every 12 hours and on start, with the separate auto-sync for local changes, and the “deleted article sweep” after fast sync.

Not only can I read articles while offline, I can share a link from my email app to Wallabag while offline, and as with Pocket, it’ll add the article once the device is connected again. I’m still trying to determine under what circumstances it actually caches images, since I’m still seeing placeholders after enabling “Put article images in cache.” It also has a theme specifically designed for e-ink displays, which is a big help on the Boox Poke3 I use as an eReader.

Edit: One problem I didn’t notice until after posting this is that the mobile app doesn’t seem to have a way to manually tell it to try re-fetching the content of an article.

Text to speech is at least OK for listening in the car. I haven’t used it enough recently to know whether it has the same kinds of oddities in Pocket’s speech back in the day!

I assume the iOS app is similar at least, but I’ve never had the opportunity to use it.

I recently read a review of Frigoligo, another Android app, that has me thinking I should give it a try also. (TODO)

Other Apps

The website view works well installed to a desktop as a progressive web app (PWA) using browsers that support it. Links open in the app, which isn’t necessarily what I want all the time.

Linux Desktop / GNOME: Read it Later (on Flatpak) is fairly basic: It lists your unread, starred or archived articles and you can read them in the app. You can also add an article, or move articles between these lists. Links in articles open in your default web browser. Other than that, there’s no support for tagging, search, or any other features that would help you find a specific article if you’re using Wallabag for more than just “read this thing I saw yesterday.” On the plus side, it does seem to keep articles cached when you go offline, which would make it useful for Linux laptops, tablets, or your desktop if you live somewhere with unreliable internet access.

Some others that I want to try out, but haven’t yet:

KOReader: unofficial plugin (TODO)

Kobo eReaders: wallabako (TODO)

And lots more for various other platforms.

Import

In theory it’s able to import from bookmarks, Instapaper, and Pocket. It’s supposed to be able to import directly from Pocket, but you need to create a Pocket app, generate keys, and even then I haven’t gotten it to work. Sometimes it tells me it failed, sometimes it times out, sometimes it throws a generic 500 server error, and sometimes it throws this specific error:

500: Internal Server Error
Wallabag\ImportBundle\Import\AbstractImport::parseEntriesForProducer(): Argument #1 ($entries) must be of type array, null given, called in /var/www/wallabag.it/app2019/src/Wallabag/ImportBundle/Import/PocketImport.php on line 134

Maybe I haven’t figured out the permissions, or maybe I just have some really old data in there. I’ve been using Pocket since it was called Read It Later, and before Mozilla bought it.

For now I’m just reading from both and adding to Wallabag, figuring Pocket will eventually clear out. At some point I might try to move the backlog again, either directly or by exporting a file and then trying to convert it to the right CSV format for Wallabag to read.