Skip to content

Chatbot UX good practice


Feb 23, 2017 - 4 minute read

Mateusz Razniak
I’m a UX Designer with passion about crafting software from a users point of view. I’m responsible for merging business requirements and user needs into a seamless experience. Experienced in design of enterprise software I still find the startup enthusiasm for what I do.
See all Mateusz's posts

Finops Stickad Blog430x300


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

Linear conversations

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.   chatbot conversation routes  

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!

Choosing words

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:

human user       chat bot       Bad: chat bot

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.

Ask questions

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.

Status indication

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.

Dead ends

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.

In conclusion…

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.

Finops Stickad Blog430x300
Mateusz Razniak
I’m a UX Designer with passion about crafting software from a users point of view. I’m responsible for merging business requirements and user needs into a seamless experience. Experienced in design of enterprise software I still find the startup enthusiasm for what I do.
See all Mateusz's posts

Related posts

You might be also interested in


Start your project with Objectivity

CTA Pattern - Contact - Middle

We use necessary cookies for the functionality of our website, as well as optional cookies for analytic, performance and/or marketing purposes. Collecting and reporting information via optional cookies helps us improve our website and reach out to you with information regarding our organisaton or offer. To read more or decline the use of some cookies please see our Cookie Settings.