Welcome to DazLab

The mid-life crisis of a forty-something techno tinkerer


Home Command Centre File RepositoryVaultsBlog

GUIs are for Babies!

I have always had a strange, some would say controversial, view of the Graphical User Interface (GUI) paradigm. While it may true that if the only gateway to technology was the venerable blinking cursor it's likely that computers would never have become mainstream tools for the masses, the foundational concept of a Point & Click interface is at its core inherently `babyish` - akin to those brightly coloured pop-up books we hand out to toddlers in leui of War & Peace.

Leading with this analogy, GUIs are to computers as Dr Seuss is to literature; a simplistic aid to encourage and inspire further advancement. CLIs are the War & Peace of the computer world; deceptively simple, yet a complex and powerful interface that holds nothing back and assumes no lack of knowledge on the part of the operator. This incredibly simple interface unlocks the true power of the machine.

OK, so that analogy broke down a bit at the end there. However...

Let it be understood that my issue does not stem from the fact that ninety-nine per cent of computer users fall into the Dr Seuss category; after all, when beginners learn a foreign language they are encouraged to start with a basic interface to the language. Indeed, many may never progress much further than Teen Fiction. And that's OK, because computer users en masse are like car drivers: they know enough to make use of the hardware, and little to nothing of the inner workings required to make that hardware work. All mechanics are drivers, but not every driver is a mechanic.

My issue is the other one per cent. If you're reading this blog of all things, then you are probably part of this group.

The Elephant In The Room

As a Systems Administrator, in both the land of Linux and Microsoft Windows, I have encountered far too many `ninety-nine per cent-ers` within the industry. For these people, the GUI is a crutch. They think it makes them more productive, they go to great lengths to convince themselves of that fact. But they are wrong.

A GUI greatly increases the attack surface of the machine. There are huge libraries of additional code to support the largely unneccessary redundancy of a graphical environment. A GUI is also a huge sink on system resources, and wastefulness in an industry that drives computational efficiency is anathema. In most scenarios, the performance ratio and resource consumption, measured against the value proposition of a graphical computational environment, trends against the paradigm. In short, you introduce additional risk and drive up resource allocation in order to enable pointy, clicky behaviour, most of which is totally unneccessary when much of what the GUI is being used for can be done faster, better, and more efficiently from a CLI.

Given this, one would think that GUIs are prevelant in user environments and scarce in backend enviroments, where they aren't a fundamental requirement. And yet, I have worked in environments with engineers and managers who are so indoctrinated in the GUI that presented with anything other than pointy, clicky things, they are like a fish out of water, desperately fumbling and thrashing. Ultimately, they have been found lacking.

In effect, they've become Users themselves. These IT gurus! Held in such high esteem across other departments for their apparent arcane technological wizardry, reveal themselves as utterly clueless when faced with the raw, unfiltered, uncompromising true reality of a computer system: the blinking cursor.

And inevetibly that meek call cries out from the server room: Er...can you help, please?

The GUI was designed to open up the world of computers and technology to Joe Public, giving them something tangible and representitive of the real-world analogy of a literal desktop. Whether you're a Power User, an IT professional, an enthusiastic hobbyist. Whatever. Anyone above a simple user of computers should not have such a cripplingly heavy reliance on a Graphical Interface in order to get things done. Does having this graphical paradigm make some things easier, for some people? Sure, without question. I'm certainly not going to argue against that. It's a fact. But is it neccessary for everything? Absolutely not. In fact, it's not even neccessary for most of the things that we do on these machines.

A Real-World Example

I run my systems at work, and my main workhorse system at home, completely from a TTY. I have CLI and TUI apps for just about everything one would need. On those very rare occasions when I need to do something that lends itself better to a graphical environment - video streaming, for example - I simply `startx` into a window manager, and drop back into the TTY when I'm done.

The point is I have been running this way for five years! Everything that I need to do on a computer (email, Web browsing, research, news, weather, music etc.) I have been doing it all those years, successfully and without issue.

The Benefit

So what's the benefit, you might ask. The benefit is that my computers run extremely lean on reources. I hear - all the time! - complaints from users about their computers being slow, taking an age to boot, and then apps crashing and freezing when they do get logged in. This never happens to me. My systems are lean, optimised and incredibly fast - and in the case of my main PC at home, in spite of being a decade old at this point. My hardware is just that: mine! It's not being greedily gobbled up by the huge resource sink that is the modern graphical environment.

And this is the crux of the matter. Modern computer systems are incredibly powerful, yet they often don't feel that way; more power has lead to more graphical bloat, nullfying the potential performance gains available from modern hardware. Fundamentally, the GUI of today isn't doing more than the GUI of the past; you log in to a desktop, and you open windows. This has always been the case. It's just that the GUI of today is doing it consuming gigabytes of RAM.

Another Recent Example

Having recently installed Microsoft Windows 11 on a brand new PC - 64GB of RAM and a 24-core i9 processor, with a 7000MB/s nVme and booting into a clean install - upon login the operating system was consuming a staggering 16 gigabytes of RAM. This is before the user has even launched a single app.

Constrasting this to my own home system, I have a similar spec machine which, as I write, is currently consuming just north of 235 megabytes of RAM. Yes, that's Megabytes! And even running `startx` and hopping in to my window manager it jumps only to 700MB; a full, functional graphical user interface with everything required for those pointy, clicky types, operating in just 700 megabytes of RAM.

Conclusion

At this point in the monologue I doubt I've turned even a fraction of you over to my controversial opinion, and truthfully that was never my intent. After all, I'm just some guy on the Internet trying to elucidate his misgivings on the state of the modern technology landscape. I don't think for a second that I represent the majority view.

So, if you're a ninety-nine per cent-er, go at it. You keep clicking, and I'll keep typing.



HTML5 Validation Badge This site was handcrafted on an M4 Macbook Air, and is powered by a server running Debian Linux 12. Solid as a rock, sweet as an Apple.