Bots are everywhere in technology – ranging from malicious bots that come with a virus to Search Engine spiders that crawl the web looking for new pages to add.
In this context though, we’re talking about ‘Chatbots’.
What is a Chatbot? Chatbots hold a conversation with you or your customer to accomplish a task.
They do the customer service work for you, unlocking some attractive benefits.
- Open 24/7 – You need to sleep, your chatbot doesn’t. Your business’ customer service is open 24/7 without the cost
- Managing simple tasks: you may receive hundreds of similar queries from customers each day. A chatbot can handle queries so you don’t have to. Letting you deal the more complex ones.
- Right channel: your customers message everyone, why shouldn’t they message you?
- Insight: Chatbots gather insights about your customers, which will give you access to their behavioural patterns and interests.
- But how do you go from nothing to competing with Apple’s Siri, Microsoft’s Cortana, or Amazon’s Alexa?
Or should you even try?
Despite the benefits of Chatbots on paper, are they even right for your business? How do you get an understanding of if they are and how they will affect it without committing too much money and time?
We recommend, no fancy AI, at the beginning. Keep it simple. Create something you can learn from: a scripted Chabot.
This approach is easier and requires less investment. It allows you to test the visitors’ reactions to such the concept and how your business will cope with the consequences – intended or not.
Despite following a scripted approach, creating an attractive and meaningful user experience is nonetheless a complex undertaking.
At first glance, creating a bot may seem fairly easy — from the end users’ point of view it all boils down to making the bot react to the answers selected by the visitor.
There is more to it, however, than meets the eye. With a scripted Chatbot there is a significant amount of the work to do before development starts.
As with everything, having clear objectives and a purpose is essential.
Generally, people visit sites for a particular reason. There’s some purpose behind their visit; whether it is ordering food, buying a pair of shoes, or learning about prices.
On the flip side, a waiter or a shop assistant also have their tasks and scripts to follow when talking to a client. A Chatbot’s role should be similar to a shop assistant or a waiter – facilitating that goal.
The only way for us to build a realistic experience without AI support is to develop a great conversational script. That script needs to use an adaptive syntax, which also makes the conversation pleasant and meaningful.
How we create a script would be the first step to develop a simple mind map. Having the Chatbot’s goals in mind, we cover off all the possible topics and conversation parts. This lets us check quickly how complex the final script might be.
We then divide and arrange the parts of the script into functional groups. They are called blocks. Some of the blocks will be goals-related, others will be responsible for making the conversation less official (tone).
Another group will provide the user with options or additional information (extras), and there are also reactions to user answers. Finally, skips will fast-forward the conversation to a different script block.
This approach gives these blocks:
The scripting writing is then done in these blocks and then integrated together.
People don’t tend to speak in paragraphs. They speak in single sentences. Of course, these can sometimes form endless monologues, but in a conversation people mostly take turns.
In Chatbot development terms, displaying long paragraphs of text, which the user needs to read before answering, can be compared to talking to a person who speaks horribly fast. So instead of paragraphs, we recommend displaying combinations of single (short) sentences.
By manipulating the bubbles’ corner radius (as iOS does), it’s possible to create a logical text blocks of single messages. That way, we still talk in sentences and not in paragraphs, but give user a gentle hint — this part of conversation starts here, and ends there.
The most frequent method of displaying the conversation flow is to constantly add new messages below the old ones and to let user scroll.
As an experimental alternative, we recommend that the old messages fade out and as a result scrolling is no longer necessary.
Sure, this might seem on from a UX point of view but take a look at it from different perspective — such solution reflects the nature of a real conversation. When talking with someone you also don’t have access to the exchanged information all the time.
For a conversational UI, which is not using AI to interpret user’s answers, controlling user responses is the most challenging part of writing a script. The script needs to let users provide the Chatbot with logical responses, but the more natural and open the conversation, the more entertaining it is for the users.
We use two types of answers:
1. defined (controlled, close-ended)
- they are relatively easy to handle
- they require good anticipation skills
- users may not be allowed to speak what they want
2. non-defined (not-controlled, open-ended)
- they are more difficult to handle
- they might require some predefined word databases to be parsed
- users are allowed to communicate more naturally
The majority will be defined for cost, time and effort reasons.
In real life, people mumble, make mistakes, hesitate or lose the thread when speaking. This is normal. The conversation with our Chatbot needs to be that natural too. So, we recommend that we use the popular conversational non-lexical sounds like: yeah, okay, uh, oh, um, mmm, uh, uh-huh, you know, ermm etc.
As an avatar for your brand, careful consideration needs to be given to gender, name, language use, facial expressions and so on.
We use Microsoft Bot Builder open-source SDK, on .NET. The Microsoft Bot Framework’s integration component is impressive and reduces development complexity. Three key areas mark it out for us:
- It can be integrated with Slack, Facebook Messenger, Telegram, Webchat, GroupMe, SMS, email and Skype (for future use)
- There is a Platform as a Service (PaaS) option on Azure
- Cortana natural language integration for your next phase of development is on hand
So, if you’re considering a chatbot, don’t rush into expense AI development just yet. Look a scripted Chatbot and learn from it.