The Maui Project recently shared designs for a new convergent Linux shell that will work across mobile devices and regular desktops — and it really fires the imagination.
Now, “convergent” Linux UIs aren’t new. Ubuntu tried (and failed) to materialise its idea of one with Unity 8. What would be new is a convergent Linux shell that’s actually realised in real, usable, working code.
KDE Plasma (with Plasma Mobile) and GNOME (with Phosh) are already making major inroads in this area so there’s plenty of momentum that Maui Shell, which is also rooted in KDE technologies, can take advantage of.
If you’re a KDE connoisseur I’d wager you’ve probably tried a Maui app or two already. Index, their adaptive file manager, is a particular highlight, regardless of whether you use it on a KDE phone or a KDE desktop. Personally, I plan to get knee-deep in KDE tech next year so you should expect a few write ups of Maui apps in the coming weeks.
But their slicky-designed, well-featured convergent apps are only one part of the computing equation. To tie the experience together neatly they want to create a unifying bow, hence the introduction of Maui Shell.
Maui Shell’s Vision
Maui Shell is made up of a shell container named ‘Cask’ and a compositor called ‘Zpace’. These components work together to tailor the user experience to the screen-size and form-factor they run on.
Cask handles the core UI components like the top bar, dock, and quick settings pods, while Zpace takes on the task of windowing, workspaces, and animations via the Qt Wayland Compositor API.
When on a large screen with pointer input the shell presents a UI designed (primarily) for a mouse and keyboard. The on-screen elements behave accordingly, e.g., the app launcher shows above the on-screen dock, and maximised windows don’t go full-screen.
When on a narrower display with touch input the shell contracts and adapts to make better use of the available space. The launcher, for instance, opens full-screen with easy-to-prod icons. Maximised windows run full height and width (though two can be snapped side-by-side).
Great, so when can I use it?
Expectation setting time: Maui Shell is a work in progress. It is not finished or close to being finished. Early (functional) builds are already available, and the source code is up on Github. However, at this stage many features you may expect (e.g., session manager, settings) are missing, while others (e.g., dock, visual workspaces) are in rough formative states.
That said, this project is super promising and something I plan to keep an eye on.
It is already possible to test Maui Shell in the latest Nitrux OS release, albeit as a separate session (where caveats apply). A formal alpha release is planned for March of 2022, a beta release in June 2022, and the first stable release by September 2022.
Don’t write those dates down in ink; development of something as huge as a new desktop shell is unlikely to be easy or without unexpected hurdles.
Still, I’m excited for this project and hope its code finds its way into other distros for wider reach, testing, and development sooner rather than later. Unity 8’s development stalled because it was to hard to run reliably.
With so many exciting things happening in the Linux space there’s never been a better time to be part of it.