ChatBots : Frontend as a service
Anyone who has spent any amount of time in making a software application, knows the pain of building the front face of your app. The amount of time and effort that goes into design, wireframes, mockup and prototyping the front end is simply enormous.
You want to make it easy for people to use your app keeping the design simple and intuitive. But that’s easier said than done. This is specially true if you want to quickly test out your idea with some target users. That means you want to get an app built as soon as possible and test it out, The Lean Way.
With services like Kinvey and Firebase which provide a Back end as a service, you can setup your Backend Database with data about users, product etc. and get an API exposed for it which can be easily used by a front-end client. But even with all that done, you still have to build the Front End of your app. Which believe me — is still the biggest pain.
A Possible Solution
I propose a solution for this : ChatBots. A Chatbot which can clearly communicate the key offerings of your Product/Service to people in plain simple English and gives them options to move forward in the conversation for more.
I know what you are thinking. ChatBots? You mean all the NLP and AI stuff. I cannot role with that, I am still learning Machine Learning.
Well the kind of ChatBot I am talking about is not that “Intelligent”. It simply asks the users one question at a time, gives them some options to choose from and waits for their response. Once they respond, it simply moves on to the next question. It can branch off to different conversation paths based on the option user has selected. Think of it like a Pre-defined FlowChart of Conversation Flow.
You can think that it is restrictive, and in fact it is, when compared to an open ended chatbot which tries to do everything. But with this approach, the chatbot is always in control of the conversation and takes the user in a well defined conversational path that you have built. This way you have much better control over the user experience.
Graphical UI vs Conversational UI
Replacing the Front End Graphical UI with Conversational UI.
I believe there are few advantages of CUI over GUI:
- Universal : Almost everyone understands the Messaging UI, so no on-boarding is needed for your users.
- Direct : Easier and direct to communicate anything to the users, you know using words. Instead of using visual cues and design to direct the user’s attention to a certain button.
- Simple : You don’t have to worry about making wireframes, mockups or prototype. You think about a Conversation that you want to have with your user and just go with it.
- Fast : With a good Bot Builder, you can make a simple Bot in minutes. And a complex one in few hours.
- Easy : With a visual Bot builder, you will not be required to code much. You only need to configure the API in a POSTMan like interface, so that data can flow easily between the ChatBot and your backend.
Check out these quick Bot replacement for the apps that I built in minutes using public APIs from Giphy and imgflip:
Here is what you can achieve if you choose to make a Bot to test out your idea, instead of an App.
- You will save time and money in frontend development.
- You can be as direct in your communication to your users, as possible. You can straight-up just say what you do and that is the only thing people will see at the beginning. So least amount of investment required from them.
- You can communicate your personality by picking not just your language, but emojis, images/memes/gifs, and whole conversational flow.
Compare that to a landing page where people are still trying to figure out what’s the best layout which suits their brand. A Conversational User Interface takes those painful choices away from you so that you can focus on the messaging and Product/Service that you are offering.
I am not saying that ChatBots can replace Apps in totality. But I think they are the best candidates for something which can be called a Generic Frontend as a Service. With their simple and versatile UI you can create a lot of functional elements on the front end with minimal configuration.
What do you think? Would love to know your thoughts :)