Design Your Chatbot.
To learn how to design a chatbot is very different from designing GUI elements. Its driven by the conversation itself. With this in mind, here are a series of tips for ensuring you end up with a Chatbot:Design for human emotion. A Chatbot is thought to be a more natural interface because we’re all used to having conversations with people and all know how to speak. However, if you over engineer the conversation or fail in the tone, you essentially create a mental model that will be even more complex for a user to relate to.
- User friendly, inclusive language when speaking to your cus to make them feel like they’re chatting with a friend or someone familiar
- Repeat inputs back to users to check for understanding. This will make your users feel comfortable and help you gain their trust
- When users start to play games with your bot (i.e. asking the same question over and over to test it) don’t be afraid to be sassy and show users that your bot is listening (This is one of the fun elements of designing a conversation and hopefully these output will be defined within your conversation tree
Designing the conversation.
1: Be specific. If you need. If you need to ask user a question, be very specific.But when in doubt, don’t be worried to show that you’re not sure of what the users answer is. This is infact an opportunity to jump from a Natural Language format to specific choices. It will help the user get back on track with their experience.
2: Present the user with specific options. Avoid open ended questions, that will cause frustration. Be binary in the decisions you ask your users to face. The art is ensuring that you’re giving the user the right, personalised options.
3: Don’t mix information into one sentence and don’t mix options.
4: Let the user know whats going on: Like a loading screen, keep the thread alive, so their is no cognititive dissonance around the expectation of what they are getting from the app
5: Keep the narrative simple: If you need to switch topics, make sure what you go onto links in nicely. Imagine a normal conversation that you’re having with someone
6: Keep the conversation going: Connect the conversational pieces of your chatbot in a way that the user won’t run out of options. That way, users will be able to navigate from one flow to the next without needing to access the main menu. This is a true conversational interface.
Here’s an example: imagine you are designing a chatbot that teaches people how to cook recipes from all over the world. On your system, you would have several entities:
Each of these entities would have their own properties:
Now, let’s pretend the user asks your chatbot for recipe ideas for tonight’s dinner. The chatbot may throw a carousel of cards with a bunch of recipes, and each card will display the most relevant properties of this entity: photo, name, author and cuisine.
How to Design a Chat.
Looks good, but what if we add more options by connecting this entity with another one, based on their properties?
If we do this, users will be able to navigate from “Recipe” to “Author” without exiting the flow to begin a new search. Same case goes for the “Cuisine” route. This makes the full user experience much more fluid.
7: Acknowledge: When the answer is valid, repeat it to make sure you understood it correctly, and move on.
8: Explain what went wrong: If the input isn’t a recognisable value, explain again what you were expecting (versus what you received). If possible be smart in distinguishing between answers you don’t understand and what you expected.
Release, Test And Iterate
If you’re not looking to push out a Chatbot with a conversational interface, you’re missing a trick. Your final conversation with your user is dependent upon so much (natural language conversation, creating the right conversation tree’s, database architecture, designing the right tone for your conversation), rather than creating a bot that involves the user in a long conversation.
Real world testing is vital. We will make sure you are rolling out to a closed group before going live.
After that, iterate and improve.