💾 Archived View for splint.rs › guis.gmi captured on 2024-02-05 at 10:00:41. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-11-14)

➡️ Next capture (2024-05-26)

-=-=-=-=-=-=-

GUIs

I'm not 'making things complicated', everyone else is making easy tasks impossible.

GUI Documentation is Impossible

Here are the GUI instructions for raising an issue on Gitlab:

1. Find your project

2. Locate the picture on the left which kind-of looks like a card with another card behind it.

3. Find the button at the top which says 'Create Issue' and click on it.

4. Type in the title and body.

5. Click the labels tab, and select each label you want.

On the command line, we can install a simple tool:

https://gitlab.com/gitlab-org/cli/-/releases/v1.34.0/downloads/glab_1.34.0_Linux_x86_64.deb
sudo dpkg -i "package_name.deb"

And forevermore, we can raise issues by just typing out what we want:

    glab issue create --label UX --title "Hamburger menu makes no sense" --description "Users has no idea what the three lines are supposed to represent."

There's no searching, no interpreting what some designer thought 'configuration' should look like as a picture-concept; it's just words.

What about standard users?

Standard users don't read documentation.

Automation is Impossible

Returning to the Gitlab example, if you want to open multiple issues, you repeat the same process each time. Every menu, with every little spinning-wheel-loading-emoji. Every redirect. Every.single.click.

But with the CLI, you can repeat this task with a helpful alias:

    glab is -t "Users want hamburger menu back" -d "Studies now say they liked the old way"

The Computer Requires Hand-Holding

If you want to start torrents at 3am each day with a GUI, you'll need to be awake at 3am each day, start the torrenting program, then close it in the morning.

The CLI would naturally just use `crontab`, or similar. Or with a little extra scripting, you can start torrenting any time your phone isn't in the house (which probably means you're not in the house).

Every single task you need to do through the GUI is a task which stays with you, on repeat, for as long as it needs done. You will *never* be rid of that menial irritation, and even if it's 'just a couple of clicks', those clicks add up, and you have to remember when to do them.

Discoverability

Nobody wants to discover a program's features - they want to discover how to do things they want to do. This means searching options, which means text.

The GUI demands you click through various `File` options (isn't the entire thing a file?), then `Edit`, and then onto the various terms each programmer and company decides makes sense as a top-level heading.

...or with CLI:

man -k watch

Everything Looks Different

Windows 10 has a hodgepodge of different bar-types within its own system, from the 'Settings' window, to the Control Panel. Linux Desktops often bring things together, but you're still dealing with both GTK and QT apps, each with separate theme configuration.

The terminal, however, is one. There is no `htop` theme,[^1] it's just `htop`, and it uses the same font, letter size, and everything else as the rest of the system, because you theme things once, and everything follows suit.

They're All Slow

Compare any terminal app to a GUI app doing the same thing, and the CLI works faster 100% of the time. Calendars, email, remote connections, text editors, all of them load, then run, faster than the GUI equivalent.

They Only Work with the Head Attached

CLI apps work on any machine, with or without a monitor - just connect, and go. The moment you get a GUI app, you either need to make sure you're physically connected to the machine, or set up some web-interface to remotely interact with it. And if 3 people need to connect to a machine running a GUI app, you'll need multi-user login support, and the resources to run those three interfaces at the same time.

Once again, the CLI is just 'do as you please', with no faff or setup required.

[^1]: Or maybe there is, but that's beside the point.