A Beginner’s Guide to Designing Smart Chatbots

Vaibhav Verma
Chatbots Magazine
Published in
6 min readFeb 25, 2018

--

Good vs Bad Chatbot experience

At Haptik, we have now been working on chatbots for over 4 years, starting way before they became cool 😎. I joined the company about halfway through this journey as a “UX Designer for Chatbots”. Coming from the traditional background of designing interfaces on web/mobile apps, I had absolutely no idea what designing for chatbots meant. It seemed like an interesting challenge to build for a completely new interface using core first principles of product design. Fast forward to today, and I have now designed more than 50 chatbots across various domains and use cases. So far, it’s been a thrilling ride and hence, I’d love to share some learnings which may help you build a great chatbot.

First, it’s important to understand what a chatbot actually is. I like to define it as an interface to get a task done via a text or voice based conversation with a robot, sometimes aided by a human. It’s simply not a machine masquerading as an individual, but actually a new interface after the GUI, in some circles being referred to as a CUI (Conversational User Interface).

There is absolutely no doubt that technology is the foundation and binding brick of a chatbot. AI powered chatbots are pure magic! Through Machine Learning algorithms, chatbots can learn appropriate answers to specific user queries over time, for which they no longer require training. But the actual impact of this miraculous technology can be witnessed only if the user is able to understand what the chatbot says and likes it. It’s like interacting with your user and the difference between saying “Comfortable & Luxurious 4 seater convertible car” v/s a “a contraption, powered by an turbo charged internal combustion engine and able to carry 4 objects of max 90 Kg each.” Well designed chatbots are always use-case driven and have a personality.

Why is a personality so important for a chatbot?

To give some context, let’s look at this example!

Remember this guy? This is one great example of “How to learn boring MS-Word techniques, in a fun way”. That’s how personality plays its role in engaging users. It usually is out of curiosity that users always want to see what the bot says next. This makes the product all the more engaging and leaves the user with a delightful experience.

Let’s look at the basics of designing a chatbot!

Chat works best if kept short and simple. Here are the 10 steps to make a chatbot:

STEP 1

First, consider use-cases where chat works best to solve a user query. Start thinking about your product around those use cases.

STEP 2

Next, define the exact goal of the bot.

STEP 3

On the basis of the set goal, work on the personality and tonality of the bot. The tonality of the chatbot is very important as it defines how the bot shall respond to the end user.

STEP 4

Now, list out the specific tasks a user can perform with the chatbot. Make the task-flow on a paper/whiteboard.

STEP 5

Convert the task-flow to a chat. Write a script and build a prototype of the script, on chat.

Here are some frequently used prototyping tools:

🎨 Botsociety- It’s a web-based software with all the chat elements for different chat platforms like Facebook messenger, Google home, Slack etc. This helps in making the prototype quickly.

🎨 Sketch + Marvel — You can easily get templates for chat elements online. Start making artboards with messages and make them flow on a marvelapp. This helps in making prototypes which are very specific to your messaging platform.

🎨 Whatsapp- Simply steal your friend’s phone and start typing on your and his phone. Take screenshots and (please) return his phone once you are done :P

So far, this was the easy part. Just about 10% of the work.

Here’s where the hard work begins:

STEP 6

All content required for building the chatbot, such as personality questions, chatflow, headers, tasks, break responses etc. must be collated in a common excel sheet. This acts as a handoff kit from the designer to the developer, for him to start building the chatbot.

Once the bot is developed on the bot builder platform, start interacting with the actual chatbot.

STEP 7

Ask test users to have conversations with the chatbot. You will notice exactly where the chat flow is breaking.

P.S. — Quality check is VERY important!

STEP 8

Once you realize where the bot is breaking, keep training your bot continuously. Make note of all experiences and use cases which were missed in the first place and work around them.

STEP 9

Now, some overtly creative users will start asking random questions to the bot. Train your bot to say “no” in a subtle and polite way. The bot must clarify specific tasks that he can assist with.

STEP 10

Pay special attention to casual talk. Simple words like ‘Great!’, ‘Howdee!’, ‘Hello!’ etc. should have well-crafted responses, based on the bot personality. This form of casual talk helps in strengthening the chatbot’s personality.

Tips and Tricks for building an engaging personality for your chatbot:

TIP 1: Give directional cues to the user

A chatbot should ask relevant questions from the user and provide suggestions that are simple ‘tap to answer’ message buttons. This helps in utilizing the chatbot’s capabilities to the fullest and understanding instances where the bot needs training.

If the user does not know what to say, the chatbot must come up with suggested tasks that he can perform for the user.

TIP 2: Connect with the user on a personal level

An effective chatbot should probably start with asking the user who he is, how he’s feeling etc. Basically, it’s good to start the conversation and break the ice. :)

Taking the user’s name frequently, greeting him, congratulating him etc. are some practices, which make conversations more personalized.

TIP 3: Sometimes, it’s all about timing

In some use-cases, it takes certain amount to time to process the user’s request. In such cases, add fillers to keep the user engaged. Don’t keep the user waiting!

TIP 4: Add emotions to your conversation

A big part of chat is emotion. ❤ The emotion behind your conversation should be in accordance with the purpose/goal of the bot. If the user has accomplished a task, give a cheerful response. If the user could not accomplish a task, feel the inconvenience and convey it in the correct manner.

The right kind of emotions depend on the personality of the bot. UNLESS YOU ARE DESIGNING — A “Hodor bot” :P

Hence in most cases, emotions should be based on context of the situation.

Well-designed chatbots work best!

Interestingly, a chatbot has the ability to provide solutions to numerous use cases with a common interface. There’s hardly any need to learn new gestures, UI elements or navigation.

For example-

Example 1

Example 2

Conclusion

In summary, when it comes to chatbots, copy is the new design. This is the ultimate mantra for designing a magical chatbot. The personality of a chatbot is built out of relevant use-cases. As a bot builder, you must design a chatbot with a clear goal of getting a task completed instead of leaving it open to imagination.

Think I helped you design better chatbots? I’d love to hear your thoughts in the comments section below.

👏👏Clap below to recommend this article to others👏👏

--

--