I don't think the containerization idea is so bad. They often have _better_ reproducibility at runtime than traditional Linux packages, which BTW represent a sort of anti-Desktop rubric that demands a bit too much from users (who become captives of the OS vendor's repository unless they learn a lot of skills) and way, way too much from dedicated app developers (like, package your app in 8 different ways and test it in 8 different sets of lib versions and etc/env settings or you're not cool in Linux land).
Apple Macs had an early version of this container-like dependency system. An app dev could take the easy road and package all their non-OS dependencies within their own app folder... drag and drop installation. IIRC, something similar is possible with Windows msi installs (one double-clicks the msi, and most of its 3rd party dependencies go under a single folder).
So this business where we make OS maintainers the ultimate arbiter of which apps can have which libraries/versions and making installs a process of spewing the app's files all over the filesystem in hundreds of pieces.... it is not working on the desktop. Apple and Microsoft knew it didn't work way, way back. Enough is enough.
OTOH, there are at least several more large steps before using "Desktop Linux" is anything like a real consumer OS on a long-term basis. For one, having the kernel as the identity of the OS will still cause much confusion among consumers. And the not-committing-to-a-GUI is even worse (in my book, different GUI = different OS and that's how it goes down when users need tech support: on a Linux distro they are told to use the CLI almost always). And not having an official hardware certification program that licenses a special compatibility logo is also quite bad. A lot of confusion and brokenness there, and I know because I did the whole turn people on to desktop Linux for over a decade.
On brokenness: It really is broken if the GUI isn't standardized heavily, not just the graphical forms but also the responses, menus and the settings/admin integrations. In computer science, a shifting interface is by definition broken because an "interface" is a "contract" or promise for consistent interaction. Linux enthusiasts suddenly drop this idea of consistency when it comes to _user_ interfaces. Its not flying and that's why (I say this here every couple years) you cannot even GIVE it away to most people.