Should you launch your chat bot?

Anurag Gaggar
A little more conversation
4 min readJun 25, 2016

There has been a lot of chatter around chat as an interface for apps and chat bots. Somewhat related is the use of plain/free text as input and the use of natural language processing (NLP) to process it. For instance: search for “red merino wool sweater for men” on an e-commerce portal or something like “flight tickets for me and my wife to Mumbai for the coming Sunday” on a travel portal. The most commonly cited reason for why to build this is because messaging on mobile is HUGE. Almost all the world’s internet population is on one or more of the messengers (WhatsApp, WeChat, Messenger, etc.) Your grandma may not have bought something online but may have chatted on WhatsApp and hence, if you integrate chat as a way of doing things on your app, maybe she will start shopping on your app too. I think this isn’t true and here I attempt to share my opinion on where it works and where it doesn’t.

Chat is an unstructured way of communication (yes, you are loosely bound by the structure of language and grammar, but you can essentially talk about anything, in any order and any length), while communication between machines (say an app and the server) is very structured. When you try and input unstructured inputs to a computer program or app, a layer in the middle tries to interpret these inputs and convert them into structured data for the computer to understand. The trade-off to consider is whether allowing entry of unstructured data eases the user’s experience more than the difficulty that any inaccuracy in this interpretation of free text is likely to cause.

So, where does it work well — cases where the variety of inputs and user flows to build are just too many to create a nice little user interface for. Take for example, Google Search and imagine the breadth of queries it handles. Try to think of an interface with buttons, links, etc. that will allow a user to find any information on the internet and you’ll know that it is going to be extremely tricky to build one. (For those of you who are old enough to remember — web portals like Yahoo that were the gateway to internet for most users before Google came in, were designed as directories of links categorized under sections like Sports, Business, etc. and Google came and changed that). Even shopping on e-commerce sites is helped with presence of a search bar that allows you to search within a very large catalog of items (and go to either a list of items or a specific item directly). A search bar with free text can help you save time over any other interface designed to get you to what you are looking for.

Where does it not work as well — if your product has very structured and limited user flows, then it might be easier to capture the user inputs in a structured manner. Remember — your grandma uses WhatsApp to chat and uses free text to type because that is the best interface that lets her communicate the breadth of her thoughts. Typing on mobile phones is still a little tough and users will avoid it if there is an easy alternate. If there are only a few things that your app is supposed to do (say, search for transportation options between A and B for a set of dates or recharge a phone), might as well offer those options directly and focus on making user input easier. For inspiration, see how well Uber handles the breadth of customer queries without needing the user to type much, despite the breadth of queries.

Coming to bots — should you build one (augmented with some manual interventions as needed)? Yes, go an build one, if one of the following is true -either you have a lot of user flows to handle depending on the user inputs and forming a structured way of collecting those is tough, or you are building for an external platform like Facebook Messenger. The thing that you are solving for building a bot for an external platform is servicing a customer without him/her needing to download your app and leveraging on the platform’s capability of knowing the customer better than you. If a platform offers user authentication, payments, storage of data like shipping address to auto fill, it might be easier for the user to do transactions on a chat platform, rather than on your mobile web application (Facebook Messenger doesn’t offer all this yet). Besides text inputs, voice as an input mode is gaining huge traction. Amazon Echo is already showing some impressive traction and building an application/bot for it makes complete sense. There could be more such platforms.

Don’t build a chat bot or natural language processing engine just for the coolness of it. You might end up worsening the user experience of your product. What do you think?

--

--