In Praise Of Textual User Interface (TUI)
First computers resembled complicated mechanical contraptions that were awkward to operate. To make first computers do something, people…
First computers resembled complicated mechanical contraptions that were awkward to operate. To make first computers do something, people had to rewire them. People had to rewire each new functionality from scratch.
That was cumbersome, so computer programming had to progress from mechanical rewiring to punched cards. But punched cards were also clunky and cumbersome. Computer programming had no other options but to progress toward being text-based. That transformation was bound to happen because language (text) is the natural way humans communicate.
Early computer programmers learned to talk to machines by typing textual commands. Those commands obeyed formal syntax. Such formal syntax made it easy for computers to interpret and translate commands into the low-level machine code.
Untrained people had no way to talk to computers. That inability to express their intents by using text made most people mystified by computers. Computers have always been finicky, expecting text commands that obey strict rules. Any tiny mistake is enough to break the communication between humans and computers.
To popularize the use of computers, engineers created an intermediate layer. They offered Graphical User Interface (GUI) that people would operate by manipulating objects displayed on the screen. By and large, that approach did help demystify computers. Once demystified, computers got popularized and then made rapid entrance into almost all homes and offices.
Limitations Of Graphical User Interface
GUI eliminates the unwanted brittleness of text commands. It is almost impossible to break GUI. This is a good, reassuring thing when using computers. And yet GUI makes it hard to express intentions. When using GUI our options get severely limited.
Imagine having to do a google search using only GUI. It would feel much more rigid if we’d only be able to choose from a dropdown menu. Or being able to only choose one of the several links offered to us. Searching would then be much less fun, and much less popular.
Many other examples prove that GUI is less expressive than text. So we trade the ability to express our intentions for the safety of GUI. This trade-off results in software that is cumbersome and clunky to operate. GUI forces us to perform a lot of steps before we could reach our goal. GUI-based workflow shuttles us through numerous intermediate states. And there are no shortcuts along the way. Because of that, using GUI often feels like a chore. Sometimes a maddening chore that involves a lot of legwork and heavy lifting. We’d much rather avoid such heavy lifting, given a choice.
Can We Go Back To Text?
It is obvious that text (or speech) would be the most desirable form of communication. Text is the opposite of GUI, as text is not in the least rigid. But for obvious reasons (mentioned above) we cannot expect untrained people to use text when communicating with computers. Computers seem incapable of dealing with even slightest vagueness or ambiguity.
Still, we are seeing some progress in the area of text-based user interfaces. Proliferation of social media enabled many people to learn a few textual commands. The first text-based command that became popular with non-technical crowd was hashtag (#).The next textual command that got adopted was the ‘at’ sign (@).
When using hashtags and the @ sign, people have somewhat learned how to talk to computers. Of course, they talk to computers in a very limited sense. Still, they are using Textual User Interface (TUI) each time they type a hashtag. This is a significant breakthrough in the area of human-machine communication.
Is it then too much to expect the population at large to learn more textual commands? Five/ten years ago most non-technical people had no idea what’s a hashtag. Today, it’s become a second nature for most, if not all people using social media. Perhaps in a not too distant future people will learn more specific textual commands? Maybe the next one will be the forward slash command (/) that will enable users to specify a formal call to some script? The possibilities are endless!
If non-technical people do continue learning how to use TUI, it will indeed improve their ability to get things done quicker, easier, better. It is our job to assist untrained user base to get to that level of sophistication.