I'm developing a command based application where the user asks an agent to do stuff using a Verb--Object--Parameters pattern. e.g.

  • SCHEDULE a meeting with bob for Tuesday
  • BOOK meeting room at 9pm
  • ADD "Buy milk" to todo list

So you can imagine it a bit like:

  • Launchers like Quicksilver / Alfred
  • Siri
  • Unix command line
  • Chatting with a person
  • Text based adventure games

A key problem with all of these interfaces is that there are no affordances. That is the user does not know the 'actionable possibilities' which are available. One has to learn what actions are possible.

I think we can improve things a lot by using Quicksilver/ Alfred style autocomplete with visual icons to assist the user in finding commands and in filling in the object and parameters correctly. But this does not really help people discover what possibilities exist - per say. Indeed most non power users never use launchers like Quicksilver and Alfred for anything other than basic search and application launching so I wonder if there is a better way.

Is there any existing research/experience on ways to make a users aware of the 'actionable possibilities' within "command based" systems?

  • One handy feature of Quicksilver is "Show menu" that shows you everything that's available for the given object. Aug 4, 2015 at 23:06

2 Answers 2


I think command based systems always come with a learning curve because ultimately you're giving a command. Affordances are not present for CLI or command based tools. The only option I can think of is context-sensitive tab-completion or context-aware suggestions. Related discussion on Hacker News.

That being said, the example you've quoted reminds me of Fantastical 2. You don't need to learn anything there because everything works in natural language and they make good use of NLP. Related article - Affordances in texting apps The author has briefly discussed GUI-aided texting.

  • 1
    NLP helps but you still need to know what options exist. Some combination of context-aware suggestions and GUI-aided texting seems to be the way to go. However practices for GUI-aided texting seem to be in their infancy.
    – Jake
    Aug 6, 2015 at 17:33

Give the user a chance to see examples. On iOS, there's a help button when Siri is listening. Tapping it gives you suggestions on things it can do:

Siri: "Some things you can ask me:"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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