Many app packages were introduced in the last few years to the Linux desktop, such as Snap and Flatpak. These app packages aimed to solved different issues; From dependency hell and up to providing isolation and easy deployment, but to what level did Linux users like these new solutions?
Not much, it seems.
How Many Users Use App Packages (Snaps, Flatpaks, AppImages)?
A hot poll by nixcraft just today showed that around 75% of readers (1900 responses) still prefer to use their traditional package manager (Like apt, dnf, zypper..), compared to 12.5% who like Snap, 7.2% who like Flatpak and 5% who like AppImage:
An older poll by Distrowatch showed similar results, where 91% of users said they don’t use any of these app packages on their current systems.
So it sounds like the Linux community still doesn’t like the new app packages that much, but what could be some possible reasons for that?
Some Possible Issues With App Packages
Snaps for example reportedly take a huge time to start, and it becomes annoying in the case of web browsers like Chromium where it would take around 7 seconds to launch. An annoyance which rendered the web browser useless in Ubuntu 20.04. Now waiting that much for launching your other basic apps is just not acceptable.
Snaps also suffer from an issue where bundled apps do not respect the system look-and-feel, causing them to use different themes than the ones used by the system. Now we are in an awkward situation where there are even themes which are made specially for the bundled Snaps apps.
Regarding Flatpaks for example, they require a tremendous first-time download size when a user is about to just start installing their first apps. Flatpaks employs the concept of “runtimes”, where many applications can share the same libraries and base dependencies instead of each one of them bundling them by their own, leading to some security issues and more overhead for developers when building their applications.
However, this approach leads to situations where just installing a bunch of Flatpaks can take too much bandwidth (Like 500MB-2GB, depending on what you are downloading) for the first time, because the required runtimes need to be installed too. So if you are downloading three apps that require one of GNOME/GTK runtimes, KDE runtimes and possibly some other SDKs, then the download size will may reach 2-3GB and the disk usage will even reach 10-20GB just for these apps.
Most users (If you are looking away from US and few countries in EU) do not have that fast connection, and aren’t willing to wait 10-20 minutes just to download a bunch of apps, even if it was just for the first time. So the easier approach for most users would be to simply use traditional package mangers instead of waiting that long.
Isolation is another issue. While preventing apps from accessing unauthorized system files to enhance security was one of the main reasons to develop these app packages, it caused many side issues too. For example, many apps both in Snaps and Flatpaks heavily require accessing to home directory for reading/writing files, and a complete isolation will render them useless. So the current approach is to allow these apps to access the directories they need, but if so, then the isolation point is no longer standing because these apps still have access to your most sensitive data in your home directory, making them equal with packages coming from the traditional package managers from that point of view.
Isolation still provides other features, though, such as getting rid of the famous dependency hell issue, and the ability to install multiple versions of the same software together. This is especially good for Snaps with servers/IoT devices, where one may need to install more than one version of the same software. But it has consequences.
AppImages, on the other hand, have been there since the 2000s. However, they do not provide isolation nor other essential features in Snaps and Flatpaks, and they are not controllable from one central place where overall management is possible, so they are more similar to
.exe on Windows where you’ll have to Google around to find your software. Still useful for many use cases.
The Bottom Line
There are still many areas in which app packages need to improve their selves, both from UX point of view and other technical aspects. Most users on the Linux desktop don’t seem to be in their need, as traditional package managers are as redundant as they are. And app packages solve few problem for the average Linux user.
More years to come will show how well can app packages stand and prove their selves in he Linux world.
What about you? Do you like to use the package manager version of a software or the Snap/Flatpak/AppImage version of it if it’s available? Why and why not? Let’s discuss in the comments.