A new wave of Linux applications
With the start of the new year, we can see a new trend delineating Linux software. Phosh with its newborn libadwaita, KDE's Kirigami and Maui Shell show that – like it or not – the era of convergent Linux applications has just started.
After all, even laptop screens are not too big once one starts tiling windows, and a single codebase between mobile and desktop apps would not only enable higher maintainability and a wider user base, but having windows adapting flawlessly to tiny squares on the screen sounds tempting even for those who do not plan on using the penguin OS on touchscreen-based devices just yet.
Furthermore, the variety of projects that are enabling convergence on their applications is growing at a fast rate, with KDE, GNOME, Nitrux, Elementary and Jingling among others shifting their interest on mobile-ready and touch-friendly applications for the future of Linux.
The striking results that so many new Linux application seem to naturally accomplish, and an increase reverting the reported lack of new FOSS apps of the past years, are finally going against the stereotype of ugliness of free software interfaces with state-of-the-art usability, clear and modern UX lines combined with a fully featured experience, no matter the size of the screens. This is the result of a rare, although indirect, collaboration between Linux desktops, with leading UX designers dedicating to improving the usability of Linux software to its finest details: GNOME's dedicated UX team, alongside designers like Sophie Herold, KDE's Niccolò Venerandi, Danielle Foré and others are tracing new guidelines for software that goes on par, if not often beyond, commercial software.
An example is Flathub, where new applications using the most modern toolkits and UX strategy appear every day, providing "just works" alternatives to complex older FOSS software,, in a boom similar to that seen around 2012 on Apple's Mac App Store. This encourages high competition between software, and most small use cases of missing usability are covered.
The toolkits enabling this are firstly Qt-based MauiKit and GNOME's GTK4, and its mobile-friendly libadwaita, which provide a superbly fast workflow for Linux applications, with the only real thing we still miss yet being perhaps a tiny, resource-effective toolkit for low-end devices. Developing apps on Linux has just become as fast as opening GNOME's (somewhat new) Builder IDE, programming the logic over a base template in a variety of languages, and deploying it through Flatpak and app stores. To take up the comparison once again, this mimics a lot what Xcode used to be around 2009, in spite of the drastically smaller team working on it. But as usual, FOSS desktops are essentially maintained by volunteers in all their entirety, so donating to your reference environment will encourage work on new projects.
As the consistent sample shows, this looks like a general direction rather than a passing trend. A strong technical basis for convergence is being built, and we may expect the majority of Linux software developed in the upcoming 5 to 10 years to follow these guidelines and core ideas. In this case, unlike in the unsuccessful past examples such as Windows Phone, where different codebases were sold under the same market name with a very limited degree of compatibility, in this case we are already at a point of real convergence, as anyone trying a Linux phone will notice, which we will hope that will end the legacy iPhone-inspired trend of a drastic codebase rewriting for mobile devices, which was initially rather enforced by the enormous performance gap between desktops and mobiles at the time (the first iPhones and Android devices ran on 400MHz, ARM11 CPU, whereas modern ones are comparable to laptops from few years ago) than from deeper philosophical grounds, or technical advantages.
Therefore, given the current status of understaffing of most Linux mobile and desktop projects, this shift to convergence is almost universally good. Enabling top maintainability, since all devices will use the same projects instead of a lot of forks and adaptions, will help developers focus on stability and usability without a real loss in performance. Furthermore, this might hopefully bring to having much lighter apps on desktops (e.g., GTK and GNOME being considerably optimized for performance after the mobile shift and the Librem 5 launch), and finally feature-full apps on phones, that will turn into usable desktop applications as soon as a video cable is plugged (as we have seen e.g. on the PinePhone).
What is particularly important is how this tightens the gap between desktop and mobile Linux devices, and will hopefully make Linux smartphones nothing less than pocket-sized ARM computers. And finally, in the long time, make the Linux desktop environment more competitive than ever.