I am currently using Blufin (stable channel) and it is great solution. I’ve been using Linux for 20 years (mostly Ubuntu, but also Suse and Red Hat and derivatives). I can diagnose problems and search the web for solutions for problems (or report bugs). I love Blufin and I think it is perfect for my needs.
But now I am also thinking to install Blufin on my family laptops and desktops. I need way more conservative solution. Currently I use Ubuntu LTS on those computers. Like I see, Blufin GTS is more appropriate then Blufin/stable in this case for stability reasons. This is perfectly fine for system level applications.
But now I am thinking about user level applications. On Ubuntu I install native deb packages as user applications. Applications can get little bit older over time, but stability is perfect, no major issues for years. Blufin uses flatpaks as user applications. Which is great and bad at the same time. The great is, applications are multi-distribution like and problems are solved in relatively quick way. I love flatpak idea (multi-distribution support, applications independence from other apps and host system, sandboxed…), but I see some important issues:
- Flatpak applications from Flathub do not support staged rollouts. When new version is released it is pushed to all of the users (Blufin checks for new version twice a day). I think from stability point of view new version of program should be pushed first time to 0,5% of people, then increase to 1% in couple of hours, then 5% in few more hours, then 10%… and in few days get to 100%. What I see on bug trackers, when issue appears a lot of users are affected. Then I see suggestions to rollback to previous flatpak version using terminal etc (fine for me, but not for family users).
- Flatpak idea is to cut off middle man (package maintainer). To my experience package maintainers do not only package software, but they do some testing, to make sure programs are working fine before releasing to wider audience. Flatpaks are in a lot of time packaged by application developers and flatpaks I use mainly released as open source software. What I see a problem is QA, like no testing (flatpak app does not even starts) or lack of serious testing. I see “just push” mentality and if problem appears (and it does), then we will fix it. I maybe old school, but this is completely unacceptable for average Joe and Jane (my family users).
- When issue appears (like app does not even start) the ‘we will fix in next minor release’ mentality is perfectly acceptable by maintainers. I also see ‘we are waiting for a upstream fix’ and it is perfectly fine users are waiting for solution for few days etc. Because application developers are in charge of releasing the software we are in the mercy of there free time and will to fix an issue. Actually, I am old school, the process should be: a) immediately revert the changes and minimize number of users getting into the problem, b) immediately fix issue for current users, c) take some time to investigate the issue and implement proper solution and d) do proper testing and e) push solution to users again.
- In couple of months I have had flatpak issues with three applications I am using on daily basis:
- Password Safe password manager
- Calibre e-book program
- Signal secure messenger
in all of this three cases the same story: program does not even start or produces severe errors for ALL of the users and fix takes few days to weeks to fix.
- I have also witnessed application developers pushing new ‘major’ versions and remove some features users rely on, because migrating from e.g. Gtk 3 to Gtk 4 is more important to them then providing feature parity. In this case “over night” program does not work like it used to. Or application developer decided to remove menus from app and similar and breaks users flow of work.
In order to install Blufin GTS on my family computers I need to have STABLE end-users application environment. I can’t setup a system with major issues appearing in unpredictable time and takes unpredictable time to get a fix. Has someone come out with a solution to have stable flatpak application environment? What I am thinking is of pinning all of the flatpaks to prevent application upgrade and then have controlled way to push updates. I would like to avoid manual maintenance if possible. Like I see it, until flatpak has STABLE and PREDICTABLE environment I see Ubuntu LTS as better option.
Any ideas how to overcome this issues, comments?