As others have explained, we didn’t “drop” support for flatpak, because it was never baked into Ubuntu in the first place.
Since Ubuntu first began, we’ve tried to include and support only one of anything in the base distro. One email client, one browser, one init system, one display stack. The more we support, the more security attack surface, more bug fixes, updates, and general complexity for us and confusion for the user. Other distros have been doing the “kitchen sink” thing of lobbing everything into a 6GB ISO and that’s fine, each to their own, but that’s not been our path.
One of the down-sides of having multiple supported releases of Ubuntu out there is that people use it, a lot of people use it. There’s millions of users of Ubuntu 14.04, 16.04 and 18.04. Along comes 20.04 and that’s a lot of machines out there running varying releases of Ubuntu. Like any developer, it makes sense to optimise your workflow to get updates to users as fast as possible. 14.04 (now out of support for desktop) shipped Ubuntu Software Center. In 16.04 and beyond, we shipped a branded version of GNOME Software.
So we ended up having to maintain GNOME Software in 16.04, 18.04, 19.10 and 20.04. This is further made complex by the integration with processes on the host - such as fwupd, which can make backporting new releases hard, time consuming or impossible.
Back in mid-2018, we made a confined snap of GNOME Software and published it in the Snap Store and called it “snap-store” and it only had the capability to install snaps, no firmware updates, and no debs (and no flatpaks) because it was “The Snap Store” - a graphical tool to install snaps. The side benefit of this, is that users of other distros could snap install snap-store
and get a GUI for installing snaps. This is handy if their distro of choice has no GUI for doing that. The additional benefit is we can offer this newer version of a storefront to older versions of Ubuntu so they also have a newer graphical frontend to the store, which is based on a newer GNOME Software codebase.
Skip forward to last year, and we’re planning out what to do for 20.04. We now have a snap which we can update very regularly, to update all those supported releases, and new releases going forward. So we switch the 20.04 release to use the snap, because we know 20.04 will be a long lived release, used by many people, so it makes sense to have a smooth path for us to update the storefront should any new features come along. Along the way, we evaluated what else was needed in the graphical storefront app to bring into parity with the one we already shipped in 19.10.
The two main features missing from snap-store (the snap) were deb installs (from archive and local) and firmware updates. These are the features that 19.10 shipped with. Flatpak simply wasn’t on the roadmap because it’s not a default feature on the Ubuntu desktop. It wasn’t done out of spite or malice, it just isn’t a thing we ship, just like VLC isn’t and Chromium isn’t. Just like snap support isn’t shipped on some other distros, flatpak support isn’t shipped on Ubuntu.
If a user of 19.10 or below wanted to add flatpak support to their system, they would have to install a software package. That is the same case today. Now, it’s fair to say it’s not ideal that the outcome of that is they end up with two storefronts, I agree. But that’s where we are.
Now, the deb support in snap-store landed a little late in the cycle, so some people threw their hands up at beta time and said we were replacing deb support with snaps. Nope. It just landed a little later than we’d like. Also, there were bugs which meant around beta time it didn’t actually work on every machine - (It works here!" was heard over the airwaves a few times). That’s where we are today. We have a snap of a graphical storefront, which enables us to push updates to millions of machines, when we need to.