6

Perhaps one of the most prominent examples of a combined GUI + CLI is AutoCAD. AutoCAD has reached the point where (almost?) everything that can be done with the CLI can now be done with the GUI too, but it was not always this way.

The CLI still remains as a super important tool for those proficient with AutoCAD, since it allows them ready access to many "GUI shortcuts" (even if these commands existed well before the GUI functionality they now act as a shortcut for).

Another interesting fact is that in AutoCAD, the CLI is also designed for use with one hand (say the left hand), while the other hand remains free to use the mouse.

The CLI interface for text editors for Emacs and Vim might also be interesting examples, although I know far less about them.

In general, I am interested in CLIs that aren't meant to be UNIX/DOS-like, but are meant to augment the user's productivity while using a particular tool (be it CAD software, text editing, or other). If looking at UNIX/DOS-like CLIs, I am interested in knowing what research-based/non-ideological ideas people have for improving such CLI.

Are there any established pattern libraries or style guides (similar to the iOS Human Interface Guidelines or the Windows User Experience Interaction Guidelines) for combined graphical and command line interfaces?

2

Concept: Command wizard

In this post I'm proposing a CLI that, in your words, is "meant to augment the user's productivity while using a particular tool". My main concept is that the CLI should "appear as a friendly search dialog", feeling familiar to Google.com. So it relies heavily on Google's "established pattern", but uses that pattern in a novel context, the CLI.

The concept, a "command wizard", uses regular expressions, dictionaries and synonyms to guide the user in 1) formulating the initial command, and also 2) in supplying the desired command parameters.

Using synonyms, users can initiate commands using their personal vocabulary, while being informed about the business' preferred nomenclature.

If you go to the original post (also here on UX-SE) you'll see the wider picture, with lots of intended benefits: "Familiarity, improved readability, reduced intimidation, more efficient, less strain, focus on content, improved batch entry, improved registration workflows, natural language support, guided process, embeddable".

Simplified use case

  • Use case: User wants to approve the number plate for a vehicle.
  • Solution:
    • Keyboard focus is already in the input field.
    • User types "app".
    • Several "autocomplete" rows, Google-style, appear beneath the input field. The top item is Approve vehicle DD12345 (Parameters are, when possible, derived from the current context).
    • User presses arrow down and Enter, selecting the autocomplete.
    • The system supplies a confirmation in a dedicated feedback field (not a pop-up). The vehicle status is correctly updated in the read-only view. A highlight appears and fades away.

Test results

I did some testing for a client (with a JavaScript-driven mock-up). The feedback was the best I have ever had as an interaction designer. The users passed the tests, the managers were close to ecstatic, and co-workers said things like "this concept is the best I have seen in [the company]". Unfortunately, just as the project received green light, there was a worldwide layoff the company, and the staff in this particular department was reduced heavily. The concept therefore never reached production status. The research is therefore limited to the initial testing of the mock-up.

If you have relevant examples pertaining to the concept that would be most appreciated.

Screen shots

Proposed interface – User issues command in the input field (presses p then arrow down):

enter image description here

Proposed interface – When issuing commands, the optional "command wizard" provides help entering parameters:

enter image description here

  • If you can copy and paste the relevant portions into this post (as opposed to referring to another post). – Mayo Apr 13 '16 at 12:58
  • @Mayo OK, done! – bjornte Apr 14 '16 at 11:59
  • The first time i really realized how this was made extreme popular was with the TextMate editor which had hunderts of little functions, impossible to assign to keys and remember them. Together with the fast searching it was really nice, much better then ever previous implementation in Emacs or VI – Lothar Sep 24 '18 at 13:16
0

I would say that Windows GUI and PowerShell fall into the same kind of category as AutoCAD GUI + CLI. Microsoft ensuring that there were equivalent 'pure' CLI versions of PowerShell as well as a semi-graphical GUI version (PowerShell ISE)..
But the biggest focus I would say was on Intellisense; lots of ways to guess at/understand what you wanted by providing pop up dialogs of potential ways to complete your command line. Admin's that I know seem to really appreciate the many ways to autocomplete that powershell provides, for picky CLI items, its at least somewhat unobtrusive, yet makes memorizing a ton of exact syntax a bit more manageable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.