Impudent Thoughts about GUIs

Fil Salustri
7 min readMar 30, 2020

--

I think it’s high time for the return of the text-based user interface, the TUI, at least in some cases.

Let’s start with a simple examples. Take the typical, humble “save file” action. The typical GUI way to do this requires the following:

  • Move your hand from the keyboard to the mouse.
  • Move the mouse to the File menu, and click.
  • Move the mouse to Save, and click.
  • Move your hand back to the correct position on the keyboard.

All these actions require attention that will break your stream of thinking. Moving the mouse in particular requires a significant amount of attention; getting that little arrow to hover over the right spot is especially burdensome, as implied by Fitt’s Law.

Yes, yes, I know about control-S, and that's exactly my point: why use GUIs when text-based user interfaces, TUIs, can be so much more efficient? A single keystroke performed with moving one's hands from the keyboard, versus four actions involving finger, wrist, arm, and shoulder movement, makes for a very easy choice.

(Note: under the rubric of TUIs, I include any interface, even command-line interfaces, that allows the user’s hands to remain “in place” over the keyboard.)

Here’s another, far worse example. Say I want to change a student’s final grade in my course. Perhaps they wrote a late makeup final exam, or perhaps they successfully appealed their grade. Whatever; the point is that this can and does happen. Often.

Here’s what I have to do to change that grade in my institution’s academic management system (assuming I already have the system running in a browser tab).

  • Move the mouse to Change Term, and click.
  • Move the mouse to the row for the correct year and semester, and click its radio-box.
  • Move the mouse to Continue, and click.
  • Move the mouse to the grade roster icon of the course in question, and click.
  • Scroll to the row for the student in question.
  • Move the mouse to Revise Grade for that student, and click.
  • Move the mouse to the Revised Grade pull-down, and click.
  • Move the mouse to the new grade, and click.
  • Move the mouse to the Revision Reason pull-down, and click.
  • Move the mouse to the appropriate reason, and click.
  • Move the mouse to the Comments text box, and click.
  • Move my hand back from the mouse to the keyboard, and enter an explanation.
  • Move my hand to the mouse.
  • Move the mouse to Submit Request, and click.

GUIs are expensive, both cognitively and physically. These movements slow down human-computer interactions, and create more cognitive load. More than a few of my colleagues — not old and not of otherwise limited mobility — regularly succumb to carpal tunnel syndrome and other repetitive strain injuries from using computer mice. These injuries cause them pain, distraction, psychological stress, and ultimately cause them to be less productive too.

Okay, now here’s a concept for what I know is possible:

> set grade of student 123456789 in MEC222 for fall 2019 to A-
ENTER COMMENT (^D to finish):
blah, blah, blah
^D
>

(NOTE: the line starting “ENTER…” is a prompt produced by the system.)

Now, imagine you can type 100 words a minute.

Which interface do you think you’d prefer?

There are GUIs at my institution that are even more ridiculous than our academic management system. Our Administrative Assistants and Departmental Assistants regularly have to carry out tasks as unnecessarily complicated and annoying as the grade change example 30, 40, even 50 times a day. These people are not automatons, they’re highly skilled, highly educated people who are wasting a lot of time and stressing themselves out performing soul-destroying time-suck operations.

Indeed, I showed my concept to a few administrative assistants at my institution. A number of “Wait, what?” moments ensued. One of them literally blanched at the thought of how much effort they’d wasted in the past, using the GUI.

But wait, I hear you say. What about trackpads?

Nope; not good enough. While they do noticeably decrease the amount of arm and hand movement, it’s still physically inconvenient. It’s also more likely you’ll accidentally activate a trackpad — which is so much closer to the keyboard — than a mouse. Also, trackpads do nothing to deal with the higher cognitive burden of the mouse-and-menu paradigm.

The potential role of TUIs goes far beyond just organizational management functions.

There are applications like Word and Google Docs. These apps are used to generate text, yet they force you to use the mouse to access commands. Sure, there are keyboard shortcuts, but that’s not enough. An appropriate alternative would be a TUI that one could toggle by a single shortcut (as in the venerable vi screen editor). The TUI would free users entirely from the tyranny of menu structure of these “word processors” if they so chose.

(Kind of ironic that “word processors” need a GUI to provide access to commands that are represented by words….)

Indeed, one needn’t even toggle the TUI. One could implement the TUI in the style of Emacs, which uses special keys (like Ctrl, Alt, and Esc) to “prefix” commands and allow them to coexist with the conventional character set we use in word processing.

With any of these techniques, mice and menus becomes (virtually) irrelevant.

Wait, it gets better.

The design concept I sketched above looks like some flaky dialect of SQL — and that’s what I was thinking when I wrote it out. One would have to remember a long list of commands and command syntax structures to get by. A significant advantage of GUIs is that provide, when done well, way-finding through complex hierarchies of commands so that users don’t have to remember everything themselves. There are, however, mature smartphone technologies that could take the place of mice and menus.

Consider the possibility of natural language parsing. Google can understand all kinds of commands by voice, where the biggest problem is understanding the spoken word. ASCII or UNICODE from a keyboard is, by comparison, trivial to parse. And it’s not like we’re parsing e.e. cummings or Thomas Pynchon; this is a simple, highly-structured subset of natural language with strictly defined lexicons. Intelligent parsing can allow for some variation in the grammar while still “understanding” what the user intended, making the interface more resilient and flexible, and thus more usable.

And what about predictive text and auto-completion? The predictive text capability of my smartphone constantly surprises me. What if a TUI could make suggestions appear at the cursor in, say, a different colour, and simply hitting Tab filled it in?

Can you imagine how much work we could get done?

Yeah, but it’s so ugly! Source: Wikipedia.

Finally, you oughtn’t think of TUIs as those stupid 8-bit displays from bad ’80s movies about hackers — kind of like the one to the left. We can still have multiple windows on the screen, one for each task, and multiple tabs in browsers. We don’t need to use garish matrix-like single-size fonts with terrible contrast. And we don’t need the displayed information to be in the technobabble of programming languages.

Picture interacting with software via a beautifully designed, highly accessible web page, with a conveniently placed “command line” area in which a user can just type commands in a nearly-natural form of English (or whatever language you want). And with each character typed, the command line area alters subtly, using clean animations and colour changes (which can be configured to each user’s needs and preferences), to prompt and assist the user.

Now, that’s an interface that I could get used to!

Of course, there are applications that would suck with TUIs. Imagine having to edit an image with only a TUI. Yuck!

GUIs were created in different times, times that I remember. Back then, there were two kinds of people who constituted the vast majority of keyboard users: coders, and “secretaries”. Many people didn’t know how to type efficiently because typing wasn’t necessary. The GUI gave them a more “intuitive” interface to computers. And with the rise of computer graphics and touch screens, GUIs because even more valuable.

However, while GUIs became ubiquitous, largely due to Windows and MacOS, everyone started typing more too, thanks to word processors and the movement toward social equality. It’s now at the point where gestures and GUIs have invaded virtually every aspect of computer usage (except, ironically, coding. Hmmmm….), even those aspects where they are harmful to both productivity and worker well-bring.

TUIs can cause repetitive strain injuries too, of course. But if it takes you 1/10th the time to execute a task with a TUI than a GUI, then you’ll have more time to pause, rest, stretch, flex your limbs and digits — all actions that counteract the forces that cause repetitive strain injuries. Split the difference: double one’s productivity and still take nice long breaks between tasks. Win-win.

Considering how fast people can type, GUIs have become, IMHO, a stone around the neck of many workers who use conventional computers with keyboards. We need to offer people an alternative — not to just to improve productivity but to help them be healthier and happier.

--

--

Fil Salustri
Fil Salustri

Written by Fil Salustri

Engineer, designer, professor, humanist.

No responses yet