3 min read

A guide to building stable UX experiences for chat bot’s.

A guide to building stable UX experiences for chat bot’s.

This is a guest article by Benjamin Paul, chat bot expert and a Senior Engineer at JustEat.

Chat bot’s are now becoming more popular however it is very easy to ruin a users experience using your bot if you don’t consider a number of important points when developing once.

As I have written more of them and watched the usage, I have developed a kind of list of do’s and don’ts when developing your bot and I thought today I would share them with you, enjoy!

Provide a help command to support the user.

You should always ensure that the user can ask for help whenever they are stuck or having problems, the help command should provide a guide to how your bot should be used as well as listing the ways in which the bot was intended to be used.

Further, it is a great idea to ensure that the help menu is available from the main menu.

Set expectations of execution time.

If the bot needs to call an external API or run a long process before responding to the user, make sure they are aware of this and how long they can expect to wait. Ensure the user is not in a situation where the bot appears idle, the user will likely start issuing repeat demands and this can cause issues.

If supported, the “typing” event can really help here, it makes the bot seem more natural, almost as if it is pondering it’s answer.

Include a greeting and a walkthrough for first time users.

First time the user has used the bot? Greet the user and provide a little information about how they can get the most from the bot, give them some details about what the bot’s purpose is and perhaps some example commands to help them get started.

Avoid asking for information the user has already shared.

Remember to take note of important information that the user may have shared in previous messages or dialog’s, if the user has supplied their address before then save that address for later use, it makes the bot seem much more intelligent, it provides a great experience too.

“Would you like me to deliver to the same address you mentioned earlier? 1 Appletree Lane?”

Avoid sending plain URL links instead of buttons.

When sending links to external websites, it’s much nicer to wrap that link in a button as opposed to simply sending a http:// url as a plain text message.

Include a welcome menu.

You should include a welcome screen with an easy to use menu which includes buttons that can start the main capabilities of the bot, it is always nice to include a friendly message that also points to the main features.

Use several distinct variations of each reply including for your standard failure message.

Each response should have variations of how it responds, variety in the responses to the user will make the bot much nicer to interact with and gives the impression of more human like behavior.

Give the ability for users to add feedback.

I like to do this at the end of the bot’s process when the conversation has finished, when the bot say’s goodbye to the user take the opportunity to ask if they would care to leave a little feedback about their experience. This information and metric is extremely valuable.

Ensure the bot has a minimum personality.

Every bot should have a distinct personality, take it as an opportunity to think about what kind of personality best reflects your brand and remember this when crafting your bot’s responses.

Avoid low quality images and graphics.

Bad images and graphics can really kill a good experience and ruin the professional image your bot should be portraying.

Greet the user by name.

Usually the name of the user is available to you when a conversation is started, make the bot seem more personal and greet the user by their name.

Don’t try and solve the turing test.

Sometimes, having the bot able to some additional requests that fall outside it’s main purpose can inject some fun into the bot however don’t be afraid to guide the user as much as possible, narrowing the scope, if the user asks a question or makes a request outside the scope of the bot don’t be afraid to simply tell the user, you can even make this nicer by adding some personality.

"Hey, I didn’t quite get what you meant by that… I am a bot after all. If you need help with what I can do for you, just ask."