What Makes For a Great Conversation With a Bot?

How to design chatbots that people enjoy talking to.

Piotr Bakker
Chatbots Magazine

--

Image: The Simpsons, Fox Broadcasting Company

Conversational interfaces have nothing of the glamour of their graphical counterparts. There are no gradients, no strokes, no shadows or rounded corners. For the most part, not even custom fonts.

So for someone who’s used to sweating over hex codes and sub-pixels, a conversational interface can seem like the ultimate anticlimax. You know, what’s there to design?

Well, as it turns out, a lot. After all, it is human language we are talking about—one hella nuanced, diverse and culturally loaded system of communication. Misplace a comma and the whole thing goes haywire.

Let’s take a closer look at conversational interface design then. Not from the technical stand point but from the communication point of view. How do you design a bot that people will love talking to?

Breaking things up

No matter how smart or simple, how versatile or limited, how charming or poker-faced, one thing about what every bot says is always true: people have to understand it.

So the first order of business for any conversational interface is to ensure every sentence, every response a bot gives is clear. You have to eradicate any sign of ambiguity, any word, any emoji that can lead to misinterpretation.

You see, your dialogue might seem okay at first but there will always be errors, loose ends and other inaccuracies you’ll have to correct. No kidding, always.

Pull out that red pen. Eliminate passive voice, drop adverbs and weed out other redundancies like prepositions and “is” form verbs. Go over your script as many times as it takes: tweaking, cutting, even re-writing it from scratch.

But writing a clear and unambiguous script is not, in and of itself, the most difficult challenge. The real trouble starts when it comes to keeping your bot’s speech bubbles precise but also short.

The reason of course is this: the more there is to read, the higher the chances of people getting confused, tired and distracted. No matter how meticulous your writing is.

To tackle this problem you have to break the dialogue up. Instead of saying everything at once you divide your messages into smaller, easier to digest chunks.

Think about your dialogue as a game of chess: you make one tiny move at a time. With each move you patiently nudge the conversation forward to help the user accomplish the task at hand.

You may never come up with the exact, right thing to say. Rather, it’ll be a constant back-and-forth between your users and yourself. But the more time you spend tweaking it, the better your bot’s lines will get.

Have some standards

It’s not only individual pieces of the dialogue that need to be easy to understand, though. It’s the entire dialogue tree. From start to finish, branch by branch, a conversational interface should form one, cohesive whole.

For starters, each conversation should follow its own “story arc”, with a beginning and an end. You start with a call to action. Say something short and sweet. Tease. End with something positive. A high five. Something to foster a sense of accomplishment.

But creating a cohesive dialogue tree goes beyond the content of the narrative. You want to design the interface around a set of standard responses that keep reappearing across a variety of different contexts and scenarios.

In practice it means that you reuse a few pieces of the dialogue throughout the conversation. For example, you say “We are all set 👍” every time you complete a task or say “Sorry I didn’t catch that…” whenever your bot isn’t sure what to do.

Recycling whole chunks of the dialogue this way helps create a sense of familiarity and predictability during the interaction with your bot. It also aids recognition, making your bot’s lines easier to follow and respond to.

Keep in mind, though, the interaction will get annoying if your bot constantly repeats itself. As much as you want to stay consistent, you want an element of surprise in your dialogue as well.

So for each task your bot performs try to follow a different pattern of standard responses, mixing and matching lines already in place elsewhere in the dialogue. It will help you keep the conversations varied, while making the overall experience consistent and predictable.

From zero to hero

Although you want to keep the dialogue concise and consistent, you don’t want to fill your speech bubbles with military-grade, command-style “computer talk”. You want to connect, not merely communicate.

And when it comes to making this connection, one device is indispensable—personality.

Personality is the flavor of your bot. Its unique voice, its communication style, its heart and soul. It’s the silent heroism of Bruce Wayne, the upbeat optimism of Bilbo Baggins, the unconventional idealism of Pippi Långstrump. In other words: it’s not what a bot says, but how it says it.

Crafting a likeable character is a tricky balancing act, though. Give it too little personality and the interaction feels dull. Overdo it and it quickly becomes annoying.

Too much personality can also create a false sense of realism. Such that when your bot fails to understand something trivial it feels like a let down. You want your bot to feel natural, but not too natural.

A good place to start is to ask yourself, if your bot was a fictional character in a novel or a movie, who would it be? It will help you clarify its baseline personality traits, mannerisms, and tone of voice.

Every good protagonist also needs a mission. So vocalize your bot’s desire to solve your users’ problems. Everything your bot does, everything it says should exude that one, overwhelming desire.

Such burning desire can turn even the most mundane tasks into exciting quests, seemingly tedious interactions into engaging conversations. As Xander Bennett, author of 150 screenwriting tips, puts it:

When a character wants something — really wants it, beyond all reason—the audience will happily watch her do anything. Walk the dog, make a cup of tea, do her taxes, anything, because every little thing she does will be informed by that passion, that need, that’s burning inside of her.

Have your bot talk like it was saving the world. Make it speak with a sense of excitement, energy, eagerness to jump into action. Like its job was the most important thing on the planet. Even if it’s just a simple office chore.

Treating your bot as a fictional character has another advantage too: it frees you from following routine, day-to-day expressions. It helps you write dialogue that appears both life-like and man-made at the same time.

A simple way to achieve this effect is to give your bot a catchphrase: a short, funny, sometimes weird but always memorable phrase it will use throughout the dialogue.

For example, in the early days of my own GreetBot, when its avatar sat atop a yellow background, it would introduce itself with a funky “Yello!” — a wordplay on “hello” and “yellow”.

It helped create a playful personality that was less-serious and therefore less intimidating. Crucially, it injected life into the character without making it overly realistic either.

Chock-full of nuance

Conversational interfaces can come across as simplistic and bland. Especially if you are used to the bling of the good ol’ GUI. As we have seen, though, speech bubbles are, in fact, chock-full of nuance.

A lot can go wrong: from simple language errors to elaborate personality flaws, the possibility of miscommunication lurks at every corner. You have to consider not just what your bot says but how it does it. Harmony across your entire dialogue tree is indispensable. Brevity is vital.

Do this right, though and you get a bot that does not just do what your users tell it to, but is a fun character that draws them in. A great conversationalist? Probably not quite yet. But a dependable sidekick that’s always there for them? Absolutely.

Clap to recommend this article to others so that small business can grow!

--

--