Jana Bergant knows a lot about chatbots. She teaches a Udemy course on chatbot development and has 16 years of experience as a web developer. I chatted with her recently to discuss the state of chatbot development. I wanted to find out what it takes to make a bot, get a sense for what she teaches in her classes, and hear what kinds of considerations anyone thinking of making a chatbot should take into account.
VentureBeat: What tips do you have for anyone wanting to make a chatbot?
Jana Bergant: Many entrepreneurs and developers have recently started working on chatbots. And yes, chatbots are a great opportunity.
But before you dig in, I have some recommendations for you.
1) The bot field is very new and evolving quickly; that’s why you should stay up to date. I recommend joining groups on Facebook. The best one is called Bots and has over 10,000 members, and daily posts. I also recommend reading Chatbots magazine. It’s evolving fast and has fresh news and tips for you daily.
2) Before you become all excited and start working on this crazy idea you have or before you start rewriting the whole app your team has been working on for the last four years, ask yourself a few questions. This will save you time and money. We all want to create something great and valuable. So before you start, ask yourself:
- What is the lasting value of the chatbot you’re making? How will users benefit from it? Can it be achieved in a simpler way?
What is the ideal medium for the service your bot is providing? Do you want to use menu and button interfaces or is it going to be a bot that uses text? Will you use natural language processing or use buttons? Why? Where will the bot live? There is a difference between a bot that lives on Facebook, a bot that lives on Slack, and a bot that lives on Kik, or on Telegram.
Know your audience! Who’s the specific use case? Who are the specific users? How do you reach them? If you’re building a bot for mothers with infants, you need to reach them. Where do they hang out? Where do they exchange information?
When working on a bot, focus on a specific use case. Get as much data [as possible] about your target audience. The biggest value of your bot will be the data you’ll get.
Who is your competition? If there is no competition, there might be something wrong with your idea! You need to know your competition. And when you know it, you should know what they are doing wrong and how you can do better.
How easy is it for your bot to scale? And to build a big audience? How many resources do you need? Think marketing — sales matter. Build virality into the bot; don’t think it will go viral by itself. Bot discovery is still a big issue in the bot domain. You need to be in all bot registries and all bot networks. You need to get early adopters to look and see.
Before you start, research chatbot engines. Do they support the channel you are targeting (FB, Telegram, Twitter…)? What about the pricing? Will you need programming skills? Do you need your bot to be multilingual?
c) Last, but not least, constantly follow and check new chatbots to see their features, see how they solve problems, learn from others.
VB: Where do you feel we are on the spectrum of chatbot development?
Bergant: Chatbots have been around for some time, they have been used on IRC in the ’90s. But modern chatbots use the latest advances in the artificial intelligence (A.I.) field.
Some people even claim that bots are going to replace apps and that they are the new big thing. That is because an enormous number of people are using messaging apps.
I think chatbots are a big opportunity. With so many people using chat (more than anything else) and chatbots being native apps for messaging platforms, there is a huge gap ready for someone. Maybe you? There is a huge opportunity for someone to come in and define what a good bot is. There are not many bots around yet. BUT remember, great bots will not be made to replace apps. Bots are something completely unique. And for some problems, bots are a way better solution. Great bots will create experiences that were not possible with apps.
There’s a huge bot hype now, and people think anything can be done with bots. But soon people will discover bots are unique, and they don’t suit all cases. And when people realize this, then great bots will emerge. We can see nice new bots every day, and also lots of bots that are kind of bizarre and should not be bots in the first place. Let’s see what the future brings. These are exciting times to live in.
VB: Is the A.I. as simplistic as everyone thinks?
Bergant: Many people grew up really fascinated by the concept of artificial intelligence. It’s in books, it’s in movies, it’s in TV shows, A.I. is all over the place. But I don’t think that most people ever thought that they would be able to be a part of anything related to artificial intelligence. Especially on the development side of it.
The exciting thing about chatbots is that even if a lot of them are not powered by artificial intelligence yet, it is kind of a peek into [the technology]. And we see a lot of developers getting into chatbots because they are so excited about the idea of using A.I. at one point in the future. There are a lot more A.I. tools coming out. There is also a big trend in investing in A.I. Soon A.I. will be a part of everything that we do. It’s going to enhance how we think. It’s going to assist us in every way. Chatbots are just one thing that points in that direction. It’s like a gateway.
And is A.I. simple? No, no, and no. Algorithms powering machine learning take a long time to understand. Even understanding what machine learning is can be a puzzle for many people. But it makes us curious, doesn’t it? The great news is that there are frameworks popping up that enable us to do things we could not imagine a decade ago. We can see how easy it is today to use image recognition. Just grab OpenFace — free and open-source face recognition with deep neural networks — and you can start creating your program for face recognition. And you don’t even have to know how neural networks work. Isn’t that amazing? If you wanted to understand it, anyone will tell you that this is one of the most complex and hard parts in computer science.
The same goes for chatbots. Take API.ai, currently one of the most popular natural language processors and platforms for building chatbots. You can just register, learn a few simple guidelines, and you can train your chatbot and then plug it into Facebook, Slack, Twilio, Skype, and more. And you don’t need to write a single line of code. Fascinating, isn’t it?
VB: What are some of your favorite chatbots, and why?
Bergant: I like bots that are simple and help me in some way. So which bots would I recommend? I loved the HealthTap bot because it does exactly what it promises. I have a health problem or my daughter is sick, and I don’t know what to do. I go to HealthTap, pose the question, I get three solutions from doctors, and I can even go and speak to the doctor. Great stuff! It’s simple, no overhead, and it does the job.
For me, a good bot does not pretend to be human. It’s clearly labeled as a bot and does not pretend to be typing. Ok, unless that is Jessie. A good bot, if you ask me, is also simple. It does what it does and uses clear, short sentences. Simple dialogs work for me. And if something goes wrong, please give me an escape command. Go back or start over. Please!
VB: Where do most devs get hung up when creating a bot?
Bergant: When creating a bot, you need to consider that building an app or building a bot is different.
You need to consider different things and limits/obstacles/problems. Let me give you a few examples.
Let’s say a user mistypes the delivery address for the purchased product and wants to change it. If you just follow your dialog and don’t give the user an option to go back and change the address, the user could become quite upset.
Or let’s take it from another point of view. Let’s say the user is buying clothes, and he or she was already at your store and always buys the same brand. Wouldn’t it be great if your bot could offer the right brand from the beginning? But what does that mean? That means you need to connect to a database. You need to access the data about his or her previous purchases. You also need to store previous conversations and parse them.
Bots are new, so good design practices are just developing. We’ve all used bots where we didn’t click “Ok, tell me more” but typed in directly “ok” and the bot did not respond. Users do that, and the bot should always reply. So the big challenge lies in designing a good, useful bot. If you lose the user’s focus or frustrate them, they’ll go away. And with bots being so easily removed, you’ll need to be smart to keep your audience.
Also, thinking that bots are the new apps is not doing us any favors. People are designing bots that should not be bots in the first place. The designer should always ask him or herself: Would a human or an app be a better solution for the end user? If the answer is yes, you shouldn’t be using a bot. Bots should attempt to improve what humans and apps are slow at.
Bots will create a new category of software. So think where you can add real value and make it a better experience. For example, image sharing probably is not a thing for a bot to be doing. But helping you out with your appointments or managing your smart house is a great thing for a bot to do.
On the other hand, I think it’s too soon to tell. We’re just at the beginning of a new era. And time will tell what kind of bots will be a great hit.
We’ll see tomorrow who comes up with the idea that we’ll look at and think, why did I not come up with this? It’s so obvious now. Or maybe it will be you coming up with the bot that will be written in history.