I have been extremely lucky to get a chance on designing a chatbot for one of our clients and the learning in the process has been massive. Most of the notions that I thought were true were discarded by research and a whole new world of possibilities just opened wide. Below, I have shared some of my crucial understandings along the path of designing a bot, hope you like it.
I feel it safe to assume that being residents of today’s digital world, you must be familiar with the concept of chatting via text message. Be it SMS or online messaging, our way of life has been irrevocably pervaded by connectivity. Did you know that 17% of all human interaction happens via text messaging? Well, it should come as no surprise, as there now exist over 4 billion people using messaging applications worldwide.
An indirect result of the above mentioned ‘digital world’, is the generation of large amounts (several million terabytes) of data from different sources. The collection of such massive chunks of data or, ‘Big Data’, is what has given rise to large-scale data analysis. This has in turn given rise to devices as well as entire systems that are capable of dynamic learning, and artificial intelligence (AI).
Given that over 18 billion texts are sent around the world daily, it is clear that we are quite heavily reliant on text messaging as a form of communication. And it is in order to streamline certain modes of such communication, that chatbots are created. We’re all aware of the functionality of a chatbot - they’re basically messaging systems automated by AI software, or machine, that’s got a fixed amount of set data. The framework of the software, as well as its impact on the end-user experience, are necessary in order to create an effective chatbot. There are two ways in which this can be achieved:
This is a static approach (relatively) to the creation of chatbot, wherein there is a pre-fixed set of rules that act as guiding parameters, based on which the bot responds to user input (queries, etc). Depending on the requirement, these rules can range from simple, to very complex. This approach, however, does have drawbacks that may affect user experience, if applied in a wrong way. Although this is the more straightforward of the two approaches, there is a lack of efficiency in the overall functionality of the bot.
This approach enables the bot to be more dynamic in its responses, as well as functionality. The process itself is much more complex as compared to the above, as it requires that the chatbot is connected to an AI. The driving forces behind this approach are advanced data analytics, API (Application Programming Interface) integration, and the subsequent machine learning that takes place. In this way, the bot is able to learn dynamically, and modify its working (responses) in order to provide a more efficient, personalized user experience.
You should note however that, both of the above approaches have their merits, and their applicability is conditional solely to developer requirement(s).
Given that chatbots are a fast-growing concept today, I feel it necessary to arm you, with the basic facts related to the subject, and how and why the design of a chatbot is of utmost importance. The following points will give you a good handle on chatbot applications, where they come from, what they do, and where they are going, so that you’re able to design them in such a way, that it provides the best possible user experience.
Following, are some basic guidelines I’ve found are extremely useful for creating chatbots.
Decide whether you really need a bot
The first and foremost question you should ask stakeholders before designing a chatbot is, “Do we really need a chatbot?” Clients may think they need one as chatbots are almost everywhere today, due to their growing popularity. However, this may not be the case. It’s best to start by analyzing whether the function intended for chatbot could be carried out by a human instead. A designer should ask themselves, “would a human be better for the end user?” If the answer is yes, you should explain this to clients. Bots should not attempt to replace what humans are good at; rather they should attempt to improve what humans are slow at. After all, machines should work; people should think.
Learn about chatbots
It’s important to ascertain your purpose behind creating a chatbot and providing an appropriately corresponding set of data, to the software platform. This is essential as every working aspect of the bot revolves around data and its utilization. This stage includes carrying out the necessary research, finding related statistics, as well as determining the pros and cons of chatbots. There are two major ways you could learn more about chatbots, and how to effectively design one for your stakeholders. They’re as follows:
Talk to your stakeholders, including your audience
I find that it’s very important to talk to whom you’re designing the chatbot for, i.e. your target user. Knowing their requirements, as well as their expectations is crucial. It’s safe to say that if you build a product that doesn’t fulfil your TG’s requirements, it’s an absolute waste. By talking to your audience, you’ll also gain an understanding of what their expectations are from the bot.
Also, it is crucial to understand what is the vision of the product owners and what exactly are they willing to achieve from the bot. Once you have clarity on both the aspects, only then you would be able to do justice to designing a useful robot.
To effectively design a chatbot, you’ll also need to have an understanding of artificial intelligence. This will help you identify any limitations of the technology, and will help you avoid coming to a roadblock while you’re actually designing the bot. Besides identifying its limitations, you may discover possibilities you didn’t know of— something that’s always helpful. However, be careful not to dive in too deep— the world of AI is extremely vast. As a matter of fact, every designer should be updated about the technology and platform they are designed for.
Define your bot
Next comes the stage where working parameters are set for the software. I like to think of this stage as the establishment of guidelines, or a framework within which the bot is expected to carry out its duty. This step is crucial in defining the functionality, structure, and perceived persona, from the point of view of the developers and users requirements. Based on your target audience and the understanding from the previous stage, you’ve got to define whether your chatbot is going to be friendly, or professional and bot-like, or even social.
Define Sample chat flows
After this, it’s necessary to define the flow of the chat in the bot. This step is actually one of the most important ones, as it defines how the bot will interact with humans. You could create as many scenarios as possible depending on the scope of the bot; this particular process will help you define the key terms that bot will take into consideration before replying to the user's query. It is actually a good idea to spend a lot of time on this step to get close to defining the experience for your users.
Make sure you engage users and have their attention
Now you have the structure in place and it is time to start with interaction that ensures that your target audience enjoys the offered services and find it extremely useful as well. Here, you’re left with the decision of whether you should design the chatbot the traditional way, i.e. how every other messaging app like WhatsApp and Messenger looks, or you could decide whether you want to try something that focuses on what’s most important. For example, for a narrow intelligence based bot you could use a card-based layout with multiple options and take away the burden of typing from the users.
Aim for zero clutter
While designing your interaction, it’s important to focus on providing answers. Research shows that users go to bots for seeking quick answers or recommendations and do not expect a bot to be human. The users are using your chatbot for one reason, and one reason only: to seek an answer to one of their problems.
Respect your users’ time
I find it’s always a good idea to present your users with options while they’re chatting with the bot. The reason being, it’s a huge time-saver, and also allows the conversation to take place easily, and seamlessly. This rings especially true if you’ve got a rule-based bot, as it may sometimes fail to understand what the user types, which will result in it providing inaccurate information. To prevent this from happening, it’s better to present your users with options, so that they’re able to obtain the information they want, and their time is respected. And you can only define this from the stage of mapping chat flows.
When you’re designing a bot, don’t try to make it seem like it’s human. You’ve got to let the bot be a bot. Why? Well, a survey once showed that users found ChatBots pretending to be human is “creepy”, and it’s also important to be honest to your users, as well. You could start by avoiding the use of indicators such as “is-typing” or artificial delays to give the user the illusion that they’re chatting with a human. You should instead style your bot’s messages differently so that the bot conveys it isn’t a human.
You don’t always have to go with a typical chat layout, you know. There’s always the choice of exploring your options, and so, you could choose to go with a layout that’s different. After all, creativity is always welcome. However, if you choose to go a different way, make sure your new layout isn’t too complicated, and users are able to get the hang of it quickly.
It is indeed a promising time for the entire AI industry, and by extension, for bots as well. The global chatbot market is set to grow at about 37% CAGR between 2017 and 2021. This meteoric rise in chatbot applications will cover nearly all major and minor businesses within the next 5 years. It is therefore that I would urge you to consider getting on the wave while it is growing and reap the benefits of a timely investment, in the near future.
We will soon be publishing a white paper on designing a bot with a live example designed by our in-house team. Stay tuned to experience a bot like never before!