Friday, December 6, 2019

navigation - Guidelines for Console UI (CLI)


I have to build a Console UI which will consist of a few main groups each consisting of nested labels and input fields. Are there any guidelines out there for making something like this easy to navigate and immediately digest for a user? Moreover, are there any good examples of some sort of modern looking console or navigation paradigm, or am I confined to simple DOS looking textual navigation menus?


ncurses-based menuconfig



Answer



Consider yourself lucky to get such a challenge! I had a stint of time when I was designing mainframe applications - it was quite a shock to have to go from graphics to text-based interfaces, but it forces you as a designer to really focus on the core aspects of design.


A few things I've found useful in CLIs:



  • Easy way to access help for commands, parameters, etc...

  • Use complete words for commands and options


  • If an action does result an error, do your best to point them to contextual help info based on the command that was attempted


An old school paper from the early 1980s entitled Program design in the UNIX environment shows examples of what the authors believed to be good and bad design. They later went on to write The Unix Programming Environment which is one of the more influential texts written on the subject.


For something more modern check out Build Awesome Command-Line Applications in Ruby. Even if your app isn't in ruby, this book will help spotlight some qualities found in well-formed CLIs.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...