F-Droid

October 27, 2021  |  Android

F-Droid client showing a list of apps

Nowadays, most people assume that every phone has a single app store: the App Store on iPhones and Google Play on Android. That’s not quite true. Google Play has an effective monopoly on Android, but nobody forces you to use it, and the alternatives are worth a closer look.

The Google Play Problem

Google Play is a sad place that regularly bans good apps for bullshit reasons while having no problem with apps filled with trackers and all kinds of dark patterns.

Fortunately, we don’t really need Google Play to discover and install Android apps. Many people think that Google Play is the only way to install apps, but it’s mostly a result of a (probably criminal) conspiracy by Google and friends to fend off their competitors.

What Is F-Droid?

Android doesn’t lock you into Google Play, and one of the alternatives is F-Droid. In fact, app store isn’t the best name because all the apps listed there are free and open source. In Linux terms, it’s a software repository.

I like to think of F-Droid as a package manager for Android, like pacman for Arch or apt for Debian. It’s basically a collection of open source software built and maintained by a group of volunteers. I have an app there, and my experience with this repository has been great so far. As a developer, I love it. The problems start when I try to recommend it to more users.

Killer Apps

It’s still pretty niche, but there are a few killer apps which make it very attractive. One of those apps is NewPipe. NewPipe is YouTube done right. It uses the YouTube database, but it cuts ads, and it also allows you to play videos in the background. Some people might say that it’s unethical to hack YouTube, but doing unethical things to unethical companies is not a big deal in my book.

Bandwidth Issues

The most important thing an app store can do is to allow users to quickly discover and install apps. Unfortunately, F-Droid is extremely bandwidth-constrained, and it’s practically impossible to download apps, unless you live in Europe near their servers.

Why is F-Droid so slow and unreliable? It turns out that it doesn’t use a CDN for its static assets. It’s a very easy problem to solve, and it can have a huge impact on F-Droid’s adoption rate. It looks like the maintainers realize the severity of this problem, and they have a solution in the works:

https://gitlab.com/fdroid/admin/-/issues/229

I tried a CDN-backed repo, and it was blazing fast. Hopefully, a CDN will soon become a default option for F-Droid.