Can we make user interfaces that are both powerful and user friendly?

GUI:s are more user friendly than Terminals because of discoverability and limiting false possibilities.

Per Fredelius
2 min readAug 4, 2018

This is a response to Learning From Terminals to Design the Future of User Interfaces. That article focuses a lot on latency, which I agree is a critical difference when comparing rich GUI and terminal paradigms. But there are other critical differences.

The terminal interface is in many ways more powerful than any single rich GUI. The amount of functionality that can be crammed into it is virtually endless. Once you understand the basics of terminal use you can extend your knowledge somewhat easily. Many commands follow some well used patterns. There are discrepancies however. We might be able to do better when it comes to upholding convention.

In contrast, modern GUI’s are often built for a single purpose. And while there is enormous amounts of effort spent on trying to find and follow conventions and make such interfaces uniform there’s always some difference in handling between applications. Many times the difference can be jarring. Convention is hard to establish in this space.

But GUI’s can guide you forward in a way that the terminal often doesn’t. It can supply suggestions at the exact point where you need it. It can tell you “Here are all the things that you can do at this point, and the things that you most likely want are larger and more visible than the seldom used stuff”. In contrast, the terminal can provide you with manual pages and sometimes basic tab suggestions.

An empty terminal gives you all the power but none of the guidance. There are more ways to interact than you can count. You can type in every permutation of the alphabet. Mostly you will not get any useful output back. A modern web page or app gives you a very curated amount of options on immediate display. All those options will provide useful feedback, typically.

What if we could have best of both worlds? Can we build a terminal that can guide the user? A terminal that can use a variety of sources, context information and user interaction to figure out suggestions for what commands to type? Or perhaps we can create a GUI that gives us much more power without providing false options and that doesn’t sacrifice discoverability?

--

--