Think Different! Bots are New Apps
Think different!! Bots are the new Apps. Bots seems to be a versatile technology framework to increase the efficiency of your users. We cover here what is Bot, why we need it and what are the design principles while thinking about a Bot. Over growing websites and crowded contents and design on websites making it confusing for the users to find out the information or just get a quick answer for their question. I think that was the trigger for “Chat Widget” on most of the web sites.
Now, with ever growing technologies and everything being offered as services through platform it is easier to build intelligence and conversation with these widgets, that’s where the Bot arrives. So, the very important thing, “Bots” are not another search box it’s much more than that. Bots are Trained with Natural Language Processing and has machine learning on top of your data where it helps build the conversation with the end users.
There are lots of bots around, it would be worth to take few of them from bot directory to get an idea about examples of bots. Below are the two bots we took from bots directory to go deeper into the idea of bots not being just a search text box.
Skyscanner bot helps you book the flight tickets with more interactive way and finds the cheapest and fastest ways to travel. It has Skype channel, please do try. I have tried it and found it way more interactive just like an intelligent booking agent and faster to find best flights. You can try it out from here https://bots.botframework.com/bot?id=skyscanner
Another example of technical assistance bots. This AzureBot helps you manage your subscriptions, listing VMs, starting and stopping VMs etc. I would not say its complete Azure Subscription management but definitely a good start and a good example to visualize how far we can take the technical assistance in Natural Language Processing. An example would be asking “Show me how many virtual machines are running” and it lists all the VMs isn’t that fantastic and like what you would ask your “Intelligent Azure Administrator”
With our recent BOT Proof of Concept development for a startup we experienced a few design points are important while developing a Bot. Here are the initial Design Decisions you should take before starting to build a Bot
- Decide what do you want to Automate with Bot:
You can go to any complex end if you have the platform to achieve and implement that. You should look for
- Repetitive Tasks performed by your users or customers
- Information mining from your data source may be support site, web site or product catalogue
- Personalization with user to help her decide
2 . Decide what do you want to Automate with Bot:
Decide which channel your users are going to use to converse with your Bot. Almost all the Bot platform supports standard channels Social / Enterprise Messenger (such as Skype, Slack, Facebook Messenger etc.), Web Chat, Phone, Email, SMS, Direct Line, Custom App. Deciding the delivery channel for your Bot would help you focus on the interaction and dialogues with the end users. Rest of the backend services such as Natural Language Processing, Data Management, Intelligence and API Management.
3 . Include Important Dialogue Data for Bot
Decide what are the data sets you are going to consider for the user when she asks the Bot for help. With the source of the data you should think about the important conversational fields the users should be providing in the conversation. Example if your bot helps in searching for flight then somehow through conversation or dialogue need to find out the Place of Starting Journey, Destination and Date of Journey. Rest details such as number of passengers (1) and class (economy) can be assumed the first time.
4 . Always Personalize Conversation:
Though, it’s a Bot but still Personalization in the conversation is very important. Think about how can your Bot personalize the conversation through remembering the choices users have made earlier. Examples would be while booking ticket I had selected Veg Meal and Window Seat as preference. In the next booking, Bot should consider these as my personalized choices and confirm it with end user before completing the transaction.
5 . Should Help in Decision Making:
Though, your product and services offerings would be clear enough to represent in a brochure but generally it doesn’t help in decision making. Bot can help in that. Your Bots should always help in decision making by interaction and not focus on just giving information like a search box. Decision making for your user would be driven by information flow and context of the user. Using above 4 design points you should be able to build a Bot which helps your users in decision making.
We have moved to Web Apps, to Mobile Apps to Progressive Apps now let’s welcome the time of Bot and surely there is a lot to cover on this technology. We would keep posting our thoughts here it’s just a beginning. In our next article, we would try to explain about architecture patterns and solutions around Bot. Happy coding or rather Happy Bot J