I usually try to stay out of the whole snap vs flatpak discussion. Although I am just really confused as to why flatpak just does not seem to care about usability. You're trying to create a universal packaging format I would think the point of it is that a user can just install an app and after reviewing permissions it should "just work".
There are so many issues that yes, have simple solutions, but why are these issues here in the first place.
These are the issues that I have encountered that annoy me:
Themes, cursors being inconsistent (needs to be fixed manually with flatpak --user override
IDE's are unusable without extensions
At least snap provides an option --classic to make the app work. Please explain to me why flatpak just evidently refuses to take this same approach.
Unfortunately this means that sometimes the project maintainers get complaints and not the package maintainer. Two projects I'm involved with don't officially support Flatpak. With one of them we do want to support it eventually but things just aren't there are and we have far bigger fish to fry.
The problem is that some well meaning people have created flatpaks and published them to flathub which means every single time something breaks or doesn't work correctly they come to the actual project to complain about something we didn't even do.
I think it would be good if they expanded the permissions system. Taking inspiration from the android world where it will ask for the permission whenever it needs to access something on the system. This is an ideal world but would take a lot of effort for the maintainers to implement. I guess it needs time to mature. I just hope flatpak devs want to adress the issue eventually... So far I only ever see people just accepting the way it is now and finding workarounds...
Android has the benefit of being greenfield and has an API that everything needs to go through to access the system. Flatpacks and snaps do not have this. They need to work with applications that were never designed to be sandboxed and just expect to have access to everything all the time so is a much harder problem to solve.
No reason why Flatpak can't create such an API though so that new applications can use it, older applications can eventually switch to, etc. We're already seeing adoption of things like xdg-desktop-portal so it isn't that out of the question.
Yes, but this takes time and still has to work with applications that dont support it. Where Anrdoid can just force everyone that wants to create an app to use their API. So it is harder for flatpack to encourage everyone to adpot it.
Of course, it will definitely take time to transition over, but that's the case for all APIs in the PC ecosystem. I am a firm believer of "if you build it people will come" and I am sure a well integrated Flatpak permissions system with good UX is a convincing argument for a lot of apps to switch over.