Designing Voice User InterfacesFeb 20, 2017
Chatbots are taking over! GUIs and NUIs are so last year! Artificial Intelligence is so darn good and freely available that you can just speak and make it so.
There’s been a lot of hype around Chatbots and VUIs this past year in particular, and the inevitable backlash from Visual Designers. As is always the case, there’s no sense in a black and white point of view on the matter, or thinking that it’s always a choice between VUI or GUI. VUIs present wonderful opportunities for better experiences, if you know when to use them and how to approach designing a successful experience.
When used in the right context to solve the right problem, VUIs are a great solution. These aspects make them useful:
Unlike traditional interactive voice response (IVR) systems, VUIs can have visual components to give better control to users.
The ability to control software without your hands (or even eyes) is really useful in many situations.
VUIs provide really efficient ways to simplify tasks into fewer steps, and remove the need for manual input.
From an experiential point of view, VUIs can make our interactions with technology feel far more natural and human.
4 roles for VUI
VUIs generally have 4 types of role to fulfil:
- The Secretary - will do simple tasks like transcribing your speech
- The Bouncer - acts as a gateway (for example using Voice ID for apps)
- The Gopher - will scuttle off and do simple tasks for you
- The Assistant - takes advantage of machine learning and NLP to carry out more complex tasks and assist users
What VUIs are not good for
There are certain scenarios and tasks when using a VUI will not be the best solution. These include:
- Heavy input tasks
- Presenting complex choices
- Natural breaks in language
- Fuzzy tasks
- Security and Privacy
- Noisy Environments
- Giving Affordances
Challenges in VUI Design
Designing a successful VUI is harder than you might expect. The main challenges fall are:
Designing conversations is hard
Despite advances in machine learning and APIs we can use to prototype ad build VUIs, you will still need to design how conversations with users can be converted into useful outcomes. A good experiment to try out is to set a VUI task, and to map out a conversation between two people. Repeat this with different people, and you will quickly see the challenge!
Large input ranges
The potential variety of input you might get in a conversation can be very large. How can you cope with the range of human input?
Knowing when to speak
Affordances are not a given in VUIs — when do you know that you can/need to speak?
Following context and turns in conversation
A good conversationalist will pay attention and respond or adjust according to what has been previously said. So responses need to keep track of context and intents. You also cannot entirely predict how many turns a conversation can take — so you need to design flows to accommodate these instances.
Design for errors
Sometimes the conversation will get stuck, or go down the wrong path — how do you deal with that?
Tips for good VUI design
Here are the main things to keep in mind to get the best out of your VUI:
Make it easy and obvious what, when and how you can use the VUI
Should I say something?
Make it clear when a response is required from the user
Don’t assume users know what to do
Do some nice onboarding — not everybody will get it without help
Clearly present the options
It's important to articulate choices to the user in an unambiguous way, and avoid too many choices.
Keep it brief
VUIs don’t work well with lengthy, extensive explanations or instructions
Offer one piece of information at a time
Like the UX principle of progressive disclosure, you should step users through the journey a step at a time, until they achieve their goal.
Users will need a way to ask for help — make it obvious and useful and friendly.
Be conservative in what you do, be liberal in what you accept from others
To deal with the potentially large range of input your VUI will receive, you need to design your conversation flows and outcomes in such a way that users are always comfortably guided towards the main goals and tasks you are designing for.
Credits: This article is inspired by an excellent workshop given by @bensauer at an IxDA London meetup.