User Experience (UX) design is an integral part of Objectivity’s agile development approach and our UX team are highly skilled in designing experiences for the web, desktop and mobile platforms.
The recent rise of conversational experiences however, such as those offered by chatbots, introduces a new paradigm and new challenges that the UX professional must consider. We’d like to share some good UX practice and experience in this emerging area of technology.
This is obviously not an exhaustive list, and there’s doubtless more to say on each of the points below, but hopefully it’s of some use to you on your own bot development journey.
Keep it simple
Short and sweet
- Bot replies should be short and to the point
- Conversations should be focused on a single topic (at a time)
- Users shouldn’t have to scroll too long to read messages
Routes of conversations with a chat bot should avoid branching paths. We are looking for a simple, action oriented interaction and bot responses should enforce this kind of behaviour.
Chat environment restrictions
Provide amenities i.e.
- Open links in preview windows inside the chat
- Provide readable links, for example: “Good UI patterns, search results here”
- Provide predefined options to choose from wherever possible
Chatbots don’t replace whole applications, they just help to manage a set of critical activities
Focus on the critical user activities that the chatbot should cover. It’s probably not possible (and almost certainly not desirable) to squeeze a whole app into one chat!
Chatbots should use words that are familiar to users. This may be dependent on the business domain they’re in, the organisation they work for, or even the toolset they use. Therefore, user research should clearly identify an appropriate vocabulary for your target user population.
Even if we meet the above requirement user testing is strongly advised, to see if the chosen wording works well in different situations. The exact form of words used can make a huge difference, and in a textual interface users obviously rely on them exclusively for direction and feedback.
Chatbot interaction should be close to human interaction (but not too close)
Perhaps counterintuitively, a chatbot that tries to seem too human may actually be unappealing to users. This is not to say a bot can’t have a sort of styled “personality” but we need to remember that people recognise bots as machines (software) and they understand they’re not talking to a human. Generally, we should avoid:
- Overuse of emojis
- Using words and phrases just to make the bot sound human
Here are some examples: Good:
Reuse previously provided data
Typing in information takes time, so don’t make the user do it twice. For example, if the chatbot redirects the user to a system that could make use of information already provided during the conversation, make sure the system is prepopulated with that data.
Provide human fallback
It’s good practice to ensure there’s a way for a user to complete an activity with the aid of an actual human being, if the question or requested action isn’t supported by the bot (or if the user just wants to talk to a person). This is particularly important in systems that provide support services to customers.
The user is always in control
The user must always have a clear way of resetting the conversation, which allows them to regain control if they become confused or have inadvertently chosen the wrong option.
In order to confirm user choices chatbots should use questions like:
“Just to confirm. You want me to book a meeting with John Smith?”
Questions are a natural method of confirmation and of correcting misunderstandings. They can also point out errors in user input without making the user feel like they’re being judged.
Chatbots should inform users when things take longer than expected. One of the basics of usability is that the user is informed about what is happening with the software in an appropriate manner. This principle ensures that the user knows what the software is currently doing at any given point in time.
Be prepared for errors
Chatbots need to handle typos and misspellings so not to frustrate users that are in a hurry, have difficulty using input devices, or have challenges in terms of their language skills.
If the experience hits a dead end:
- Offer human fall back (see above)
- Offer options to amend this situation
Break things so we can improve them
In the case of a language based interface the best way to improve it is to heavily test it with users so that we can hit problems fast and remove them.
Iterative testing seems a solid choice, because the design community doesn’t currently have a lot of design patterns in place for this relatively new technology.
Chatbot logs are an especially useful resource, as they reveal the language used in live conversations with the bot and allow us to identify instances where the bot did not respond in the desired manner. We can feed these instances into the bot training process, to enlarge a bot’s repertoire of phrases and ensure that it behaves as expected in future.
Humans have been chatting to each other online since the first terminals were networked together. We’re now entering an age where meaningful natural language conversations are possible between humans and machines. As User Experience professionals, we have a huge part to play in ensuring that these conversations are as frictionless and as productive as possible.