
Designing Command-Line Experiences - neovintage
http://neovintage.org/product/design/2015/10/01/designing-command-line-experiences/
======
kazinator
"Progressive enhancement" doesn't need to be borrowed back from web design. In
user interface design, catering to multiple levels of user expertise is an
ancient concept. This can be an actual mode variable in the UI. In expert
mode, you see more options. In command lines, you don't see _anything_ , so
this doesn't seem to apply directly. The program being given command line
inputs isn't even running until you hit Enter. An expertise variable could be
used to adjust the language and level of detail in the help strings and man
pages, and to influence what is available when you invoke Tab completion (i.e.
don't complete on options or sub commands that the novice wouldn't know
about).

Since man pages are driven by nroff macros, the man page aspect of this seems
within reach. A macro could expand a section of text only if some user expert
level is greater than 2, and that could come from an environment variable.

~~~
neovintage
That's a great idea. Allowing for discovery at the command line is one of the
biggest challenges I've faced. Your solution is definitely a good way to
accomplish that and one I hadn't thought of. Do you think that the mode
variable is a common enough pattern that advanced users would know to do that
right off the bat?

------
qewrffewqwfqew
Tenants are not tenets.

~~~
neovintage
That's what happens when I proof read too fast.

