I read an
article opinion envisioning the future of app management - namely flatpak, snap, appimage… containers - and it seems likely to go that way: containers running in VMs, running in containers in VMs all the way down. Convenience is the enemy of security (not quite symmetrically) and now it’s slowly coming for the app management paradigms of linux world. Compiling from source is rare and distro specific packages and repos are harder to find. But as does the article note, and is noted in the comments section, the overhead that comes with containered apps is substantial.
The bigger picture is, this sort of behavior feeds the (Windows-like) cycle of “get the newest hardware”/“replace your rig every two years”, and even adds to the environmental impact - also via increased energy consumption (it’s not nothing even if it’s not at the same level than other factors). But at more micro level, at the subset of L5 users, this does get to a point: if we have limited resources on our devices, ca we live with this development? I think I remember reading that Purism and/or PureOS favors flatpaks, and with limited staff this seems reasonable from resource management standpoint. But very concretely at the user experience land (in my own device) I’ve noticed the effect of this as the L5 has suddenly come up against some hard limits. The 32Gib eMMC isn’t that big anymore - well, not as big as it once seemed to be, meaning that I didn’t see it as the most likely limiting factor of L5. Sure, even from the start “more is better” dreaming gets you imagining that 64 or 128 is better (they are after all bigger numbers) but to put it better to perspective, I’ve been running a decade or so my much more powerful desktop linux (gaming and all) with much less than that. And before you do the math, yes, home and files are stored in another castle - I’m talking about the root file system, the operating systems and apps that need the added benefit of using the same filesystem and quicker HW (compared to the separate other mediums like memory card in L5 that has plenty of room). The space in the eMMC, it is running out. I can’t fit all my apps there. This is a problem, and it seems to be because apps aren’t made available in a manner that L5 could more efficiently use.
Now, there are a couple of other factors here. I’m not going to cover how much more containers stress the CPU too - that is another limiting factor but gets also to heat and power management territories (and then this would be a reeeeaally long post). That is bad too. Also, there is no way L5 segment can (yet) pressure app maintainers to suddenly offer maintained packages for PureOS/L5 (although, they certainly can), which includes also that those packages are for aarch64. The containerization (and just to emphasize, I actually had to test an app by having to actually install it to L5 using docker) allows us to get apps that would otherwise be beyond the L5 realm. This is exactly what the android-ecosystem via emulators is too, as it’s not the most efficient way. Let’s face it, any device is useless piece of technical art if there it’s not able to do stuff that we want and need. Filling that void on the short term is a good excuse for going that route. But the long term consequences… that is where I see trouble brewing.
It’s all a matter of degrees. In this also. “How many apps do you really need”, is a silly question these days if you are using a “smart” phone (or device or computer - call L5 what you will). A better would be, “how do we manage the useable space best”, I think. Or, “how do we get the most out of it”. And it’s not by using containers. I did a quick disk usage analysis (Disc usage analyzer and Filelight are both available as flatpaks but
filelight are also as a package via apt - make your choice) and wow - the /var/lib/ section is huge compared to what everything else uses. Now, this is faaaaaaar from conlusive or proof or rigorous data but compared to what I have in my desktop, it’s bad. It may not be similar with evereyone - your usage may vary and you may be smarter about it, but it is worth having a look.
Now then… I have already partly lost the train of my own thought while writing this and I’m trying to give it chase… but if I remember correctly, the point that I started making was something about how L5 is susceptible to bloat via relying too much on flatpak and others. It will make L5 already has caveats and this may seem to become one as well but somewhat unnecessarily. They shouldn’t be the automatic choice and relying on that technology might be a bit hasty. When installing (or recommending) apps, trying to find a proper package may be worth the trouble. This is not to say that flatpaks wouldn’t be useful or necessary (or, indeed the only option at times).
Beyond this warning though, we might need to hash out the best strategies or rules of thumb how to best manage the relatively limited resources of L5. This includes, how to maintain the eMMC space, how to keep it tidy. We’ve already had some comments that have touched this (individual use cases) but I think there is more to explore here. So… How do you make the most out of your space(s)? How to curate the number and size of your apps? How and what to clean from the memorybanks? How can we find the best alternatives? Are the security (sandboxing) benefits bigger after all?