gophering on
This is a text-only version of the following page on
Title       :  Tiny Tiny RSS vs Miniflux
Author      :  Remy van Elst
Date        :  26-09-2020
URL         :
Format      :  Markdown/HTML

I'm an heavy user of RSS feeds, having over 1500 feeds I follow. Without a
decent feed reader that setup wouldn't work. For [over eight years][1] now I've
been an happy user of Tiny Tiny RSS, a web based feed reader. But, recently I
found  out about [miniflux][0], also a web based RSS reader. In this article I'll
compare the two for my use cases, mostly mobile usage. 

TD;DR, I've switched to Miniflux, due to it being more suited for my usecase
(mobile usage), less ajax heavy, better readability integration, easier to
subscribe to feeds and a more pleasant reading layout.

In this post I'll go over my usage of a feed reader, the differences between
miniflux and tiny tiny rss and the differences in server hosting, miniflux has 
different server requirements which most shared hosts don't offer.

 Consider sponsoring me on Github. It means the world to me if you show you
r appreciation and you'll help pay the server costs.

ou can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days. 

### It all started on

Serial poster Calvin posted [a link][3] to a security researchers blog on exploits
in tiny tiny rss. In [the comments][2] user [rumpelsepp][4] mentioned [miniflux][0]
as an alternative, I decided to check it out. The screenshots looks nice, the 
documentation is easy to follow and comprehensive, so I gave it a spin on one of
my [VPSes][99]. 

#### My RSS usage

You might ask yourself, why does anybody need over 1500 feeds to follow. For me,
most of the feeds are of small sites, just like this one, which don't update often
but when they do, they have interesting content. Next to a few larger tech sites 
90% of the feeds I subscribe to mostly update once or twice a month. Excluding 
the big tech sites, I have about 40 to 60 new articles a day. All of the reading
is done on a mobile phone, both Android and iOS.

My feed reader saves [the entire text][5] of an article, so I don't have to 
leave the comfort of my reader. The advanage to this is that I can leave an 
article unread for months, and it's still waiting for me there when I want to 
read it. For long form content, that is a very nice feature of a feed reader. 
Some articles I skim over quickly, some I just skip and mark as read, some I 
read, decide I want to read them later, mark as unread and continue on. No need
for an external service like Pocket or Wallabag. 

Feature wise my must-have list is quite small:

- Easy (quickly) subscribe to new sites (not finding a feed link, just paste the
URL and figure it out, a feed reader can `CTRL+F` for `xml` in the sourcecode
faster than I can)
- Mobile first, I read and subscribe only in "spare" moments, via my phone. My 
desktop is for `serious business`
- Readability integration, save the full plain text content of an article, for all
feeds. I hate cookiewalls and "design" just as much as the next guy.

Now that we've established my workflow and requirements, lets find out why Tiny
Tiny RSS fails to meet those.

### Issues with Tiny Tiny RSS 

First and foremost, I don't think Tiny Tiny RSS is a bad piece of software. I 
have used it for almost a decade and it has served me well. My usage patterns 
change, and it doesn't cope well with that, but that doesn't make it bad software.
I've donated multiple times and bought the mobile apps to support Andrew, so I
consider myself a serious user.

The biggest points on Tiny Tiny RSS that annoy me are that it is hard to subscribe
to new feeds on iOS and that the readability integration is a plugin that can
only be enabled on a per feed basis, not for all feeds at once. 

Tiny Tiny RSS uses a lot of AJAX, overlay windows and such. On the desktop that
is not an issue, but on mobile it makes the web version unusable, requiring an app.

Here's a picture of the mobile website:

![ttrss mobile site][6]

Scrolling is 'wonky', no other way to describe it. Just like in Microsoft Word
when you want to insert a picture, all other elements move in unpredictable ways,
that's what happens with scrolling here as well. Sometimes a new tab opens, sometimes
an article disappears, sometimes the sidebar opens. 

To subscribe to a feed I have to fiddle with the topmost bar, scroll to the left,
open the menu, click subscribe and then a dialog opens, which I have to tap 
very precisely, otherwise it closes. Here are two pictures to describe the flow:

![ttrss mobile site menu and subscribe][7]

Feed management on mobile is a hassle as well. Feeds with errors is again a 
small dialog, its gone if you tap wrong. Feed management, editing or checking
some info is again a smaller dialog:

![ttrss mobile feed error edit][10]

I need to edit each and every feed I add to enable the readability plugin, so
you can imagine my annoyance every time. The mobile app on iOS does not allow you
to subscribe to a feed and on Android it does, but it took at least 30 seconds of
waiting and loading. For reading, the mobile apps are quite okay. I do dislike
some button placements on iOS and the floating action button on Android, but
thats about all. Quite okay they are.

One big advantage of Tiny Tiny RSS is that it runs on PHP/MySQL, so every shared
host can run Tiny Tiny RSS. Once a month update it to the latest git master, that
is all the setup and maintenance you'll ever have. Often, shared hosts have it 
in their control panel available (Installatron/Softalicious), so installing it 
is just one click, with auto updates.

Another advantage is that it is very easy to share or re-publish articles. You
can have a public RSS feed of all your feeds, or certain categories, or reshare
one article. I don't use that very often, or just share a link to the article.

Categories, I first neatly sorted all my feeds, but that was too much of a hassle
and now everything is in "uncategorized". The Android app, when subscribing to a
feed, always took very long to get the categories. Not sure why it didn't cache that.

Concluding, Tiny Tiny RSS is a great piece of software, it just has issues on
mobile. Setup and maintenance is low, it runs everywhere and it works great on
desktops or tablets. For my use case, mobile only, it feels a little outdated. 

How does miniflux compare to all of the above?

### Miniflux fits better on mobile

Miniflux is "just a website", modern, self hosted and equally usable on mobile 
as on the desktop. Not that many options as Tiny Tiny RSS, but for me more than 
enough. Sort feeds by new? Check. Readability integration without a fiddly dialog?
Check. Subscribing to new feeds easy on mobile? Check. As a bonus it even has a 
dark theme. 

The reading view has a list of titles, which you can click open to view the 
full content. Compare it with Tiny Tiny RSS above, here are two pictures:

![miniflux article list][13]

Here is a picture of the subscribe page:

![miniflux subscribe][9]

Miniflux does not seem to be that ajax heavy, the layout fits better on mobile, 
with plain links instead of floating menu's and dialogs, everything scales to fit
and overall the layout is very pleasant. Adding a feed is a regular menu option,
way easier and way less fiddly, no worries on dialogs closing, 

Feed errors are also a plain page, as is the feed edit page:

![miniflux feed errors][12]

Migrating to Miniflux was easy, have Tiny Tiny RSS export an OPML file and import 
that in Miniflux.

On the desktop, the webpages work exactly the same but are just a bit wider:

![miniflux in firefox][15]

There are [keyboard shortcuts][18] available, but I don't use them since I'm on
mobile. There is also [integration with external services][19] like Pocket or Wallabag,
which I also do not use.

Resource usage wise it is not noticable on the server at all. I use Munin to generate
nice usage graphs, [cpu time per process][20], [overall CPU usage][21], 
[memory usage][22] and [disk IO][23] all have not really increased with miniflux 
on the server. 

#### Hosting

The hosting part is however, not as easy as Tiny Tiny RSS, mainly due to it being
written in Go, thus requiring an actual [VPS][99] and some server knowledge. 

The [documentation however is excellent][16], they make [debian packages and a repo][17] available and
include a guide for `nginx` (webserver) and `postgresql` (database) with Lets
Encrypt SSL certificates. 

Compared to Tiny Tiny RSS (PHP/MySQL), you cannot host Miniflux on every shared host
out there. But, a [VPS][99] these days is in the 5 dollar/euro a month price range,
it can run more if you like (an IRC bouncer for example), not that big of a hassle.

If you click any of [the links][99] on this page, you'll be redirected to [Digital Ocean][99], 
they are affiliate links. You get $100 credit for 60 days, two months of a beefy
server to try miniflux on. Digital Ocean has excllent guides.

For me, hosting on a [VPS][99] is not an issue, since I'm an experienced sysadmin. 
I do like quality documentation and debian packages, a big plus there. 

[Miniflux][0] also makes ARM binaries available which you can use to self-host
on a Raspberry Pi or, in my case, a [Freedombox]( 

The SQL query to set all feeds to save the original content:

    UPDATE feeds SET crawler = 't' WHERE user_id = 1;

I found this on their github issue tracker, after importing 1500 feeds from an 
OPML file, this was wonderful. Never found out how to do this in Tiny Tiny RSS.

### Conclusion

For my use case, mobile reading and management, Tiny Tiny RSS didn't fit the bill
anymore. I have used it with pleasure for over 8 years and would still have used 
if it was more mobile friendly. 

Thanks to Lobsters and RumpelSepp I found out about [Miniflux][0], a more modern
and more mobile friendly feed reader. Installation is easy, documentation is 
excellent and all of my annoyances with Tiny Tiny RSS are not in Miniflux. 

Performance is great, resource usage is low and it has all the features I want.

[1]: /s/articles/Tiny-Tiny-RSS.html
[5]: /s/articles/Tiny-Tiny-RSS-Readability-plaintext.html
[6]: /s/inc/img/ttrss1.png
[7]: /s/inc/img/ttrss1-2.png
[9]: /s/inc/img/miniflux1.png
[10]: /s/inc/img/ttrss4-5.png
[12]: /s/inc/img/miniflux2.png
[13]: /s/inc/img/miniflux3-4.png
[15]: /s/inc/img/miniflux5.png
[20]: /s/inc/img/munin1.png
[21]: /s/inc/img/munin2.png
[22]: /s/inc/img/munin3.png
[23]: /s/inc/img/munin4.png


All the text on this website is free as in freedom unless stated otherwise. 
This means you can use it in any way you want, you can copy it, change it 
the way you like and republish it, as long as you release the (modified) 
content under the same license to give others the same freedoms you've got 
and place my name and a link to this site with the article as source.

This site uses Google Analytics for statistics and Google Adwords for 
advertisements. You are tracked and Google knows everything about you. 
Use an adblocker like ublock-origin if you don't want it.

All the code on this website is licensed under the GNU GPL v3 license 
unless already licensed under a license which does not allows this form 
of licensing or if another license is stated on that page / in that software:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see .

Just to be clear, the information on this website is for ment for educational 
purposes and you use it at your own risk. I do not take responsibility if you 
screw something up. Use common sense, do not rm -rf / as root for example. 
If you have any questions then do not hesitate to contact me.

See for details.