by Martin Cernohorsky
For several decades, the computer GUI, or Graphical User Interface, is considered to be almost integral part of the operating system. Both the concepts and the implementation principles have evolved over time — for good and for bad — and significantly deviated from their initial look and feel. However, not all GUIs are created equal and not all of them are suitable for everyone or for doing every kind of work to get done. We will focus on the operating environments built on top of the X11 graphical interface (Wayland included) and things closely relevant.
When they invented the X-Window system deep in the 1980s, they understood, that the needs of computer users are different, that the ways humans interact with computers are different, that people need their work to get done and to get various tasks done by various people, and thet different approaches to the human-computer interaction are needed. As a result, the X-Window did not impose ANY ideas on how to operate the GUI on the user; it leaves the window, icon, or desktop management to separate applications like Window Manager. The first wave of window managers, based on well thought-out libraries with properly designed abstraction layers (Athena Widget, Motif, OpenLook), respected the human behavioral and conceptual diversity by the ability to configure almost all aspects of the GUI (though the default settings were sometimes quite opinionated and differed wildly between the libraries). As a result, it was possible (with the knowledge of the configuration file formats and a bit of effort) to fine-tune the GUI properties according to one’s needs, wishes and peculiarities, in turn allowing almost seamless interaction of the individual and the computer. At those times, you could perhaps see several individuals sitting in the same room in front of their terminals served by the same system, working with interfaces in a completely different manner, the difference being caused only by difference in their configuration files. And they were happy with it.
Years passed. There were new GUI implementations coming (and sometimes going), some of them pretty good, some worse, but you could always install your preferred oldschool window manager et al. and bring your config files from previous incarnation of your operating environment, and things were the same. Several of the new aplications built using new GUI libraries looked and felt differently, sometimes it was quite anachronistic look inside the old environment, but they were working anyway. Even some of the (relatively) new GUI environment featured a fairly large configurability (Plasma comes to mind), allowing you to modify their behavior pretty close to the properties of your original setting in e. g. twm (though some of the original capabilities were already lost. Therefore the compatibility with your way of working was either mostly preserved with a bit of effort, or fully preserved with somewhat more effort. Until recently.
With the democratization of computing spreading, some of the newly developed GUIs were based on not exactly sound design principles. Some of them were incorporating wrong or misleading assumptions of human concepts for computer interaction and work ergonomy. Some were also pretty intolerant about cooperation with programs written for different GUI stacks. All of this was fine, as there was a competition between the GUI concepts, and stacks or libraries, and as these phenomena were marginal. This changed in the relatively recent past.
There is slowly growing one GUI to rule them all now. A GUI based on single idea on human-computer interaction. A GUI where old key and mouse bindings are not possible. A GUI which arrogantly aisregards your thirty-year history of computing. A GUI which forces you to use The Only One (C, TM) approach to workflow. A GUI that increasingly contaminates applications which decided use its some of its libraries by other components of the GNOME universe. A GUI that is increasingly bound with deep internal workings of the OS, or even of the kernel. A GUI indivisibly bringing various annoyances like systemd, polkit or pulseaudio. And what is worst, a GUI being increasingly bundled as a the main, default, and sometimes the only user interface across majority of linux distributions, and sometimes even outside of linux. As a result, on some devices and platforms, or in some environments (like on your company’s laptop, where you are not allowed to build a different GUI from sources), you are stuck with a single GUI, that’s poorly designed and unsuitable for your work, bloated and inflexible. In other words, GNOME considered harmful at least until it recedes from its dominance.
So, now we have an increasingly expanding (and virulent) operating environment with a large number of deficiencies, increasingly being touted as "the" standard for (at least Linux-based) graphical user interface. The deficiencies and complicating factors can be divided to several large groups; none of them are shallow or easily avoided and remediated.
The only way to allow everyone to fulfill their work needs is to have freedom of choice. Also, a full interoperability is required to avoid fragmentation of the application world. The interoperability is not possible without well documented interfaces (and protocols and standards) and multiple independent competing FOSS implementations. (Developing closed source implementations in addition to that is fine, but beware of bastardizations).
What can you do to improve the situation if you are "mere" enduser? Choose open, FOSS, and well interoperable solutions that allow full user control and configuration, rather than the simplest, easiest to install, but inflexible ones, whenever possible. Also, let your choices be heard by the distro developers, participating in usage statistics (again, whenever possible, as sometimes this is unfortunately not an option). Voice your concerns when an unsuitable solution is forced upon you, decline from participation if using this solution is really troubling. In case you encounter a device which would cause an unfriendly solution, OS or GUI lock-in, consider choosing another device. If this is not possible, as said before, voice your concerns and wishes, write a review, see if there is some project to provide better solution for that hardware; if yes, perhaps you can sponsor them. ========= WE ARE HERE ==========
Last, but not least, you can educate your friends, coworkers, relatives, or anyone with basic computer use cases and skills, who is willing to listen to you. (When situation is conductive. Do not try to evangelize those who do not want to be.) Explain them what concerns you, how the unsuitable GUI interferes with your workstream and hinders your efforts. Try to demonstrate that flexibility is important to anyone, and anyone can benefit from optimizing their workflow. Maybe just a little bit, from one or two changes to the "default" styles, but everyone’s workflow and everyone’s optimizations are different. One size does not fit all, and honestly, for most people it is better to tailor their experience according to their needs, than to force everyone to use the same approach, rules and properties, up to the same keystrokes. You can also mention that there is small, but non-negligible and highly productive group of people, for whom the single option with limited configurability means that they are literally stopped in their efforts, and in many cases are abandoning projects, companies and communities. You can also point them to this document if you want to keep your explanation short.
The world of computing is developing in a strange direction which brings a lot of the bad along with the good. The changes in GUI concepts, principles and designs are among the worse ones, especially when taking into account their ubiquity. GUI approaches do matter, one has to make a lot of practice to get proficient with a new one, and there is a lot if inertia in the human mind when it comes to changes in GUI concepts. To force anyone to do everything The One Way someone conceived to build a monument for himself is unambiguously wrong; the flexible approach is better, the thriving competition ensuring the freedom of choice being the right goal we should strive for.
(c) 2022 Martin Cernohorsky, CC BY-ND
Last revision: 2022-12-04