While the tech industry has been busy losing its mind over bots, I’ve been observing from the sidelines, underwhelmed. I’ve tried to buy into the mania, but after testing a handful of bots, I found that most were boring, frustrating, and more complicated to use than a website, an app, or even picking up the phone.

So how can bots evolve to become useful, and — dare I say it — lovable? I was recently challenged with building one, and here is what I learned:

Planning: Understanding why your bot exists

Before building a bot, it’s important to understand why the recent trend exists. Research shows that people use just five apps on their phone, the most popular of which are messaging apps. Because people already use these platforms, a bot that operates on them can be faster and easier to use than finding and downloading a new app or navigating a new website. With that in mind, ask these questions in the early planning stages of a bot:

  • How does it add value? As with a website or mobile app, a bot needs to serve a purpose to get people to use it. This means that it should be useful (like Expedia’s travel bot), educational (like Tina the Tyrannosaurus rex chatbot), or entertaining (like ButterBot).
  • What is its task? A bot should perform one or two core tasks. The more focused the bot, the easier it is to anticipate a user’s interactions with it, which is key to building artificial intelligence (A.I.) that makes the bot intuitive.
  • How will people use it? Once the bot has a focus, spend time mapping out all expected interactions that users could have with it so that it can respond accordingly.

Onboarding: Getting users comfortable with the bot

Because bots are still relatively new, users need a brief onboarding in their first interactions with the bot to understand how to use it. In the first message(s), you should:

  • Have the bot introduce itself
  • Explain what it can do
  • Introduce a menu that users can easily return to if they feel stuck (say, by typing the word “menu”)
  • Suggest a first action for the user to take

Interaction: Your bot’s user experience

Bots don’t have fancy interfaces, so there is nothing to mask the stench of a lame bot. It must be able to interact by listening to input, providing the correct response, and anticipating a user’s future needs. Here’s how to tackle building out a bot’s interactions:

  • Use buttons. Remember, the bot should be simple and fast to use. Tapping a button is both easier and faster than typing out a sentence in most cases. Buttons are also more accurate because they don’t rely on the bot having to interpret free text. Use buttons liberally!
  • Be clear when asking for a user’s information. Of course, buttons don’t make sense for all interactions. When a user needs to give input, have the bot be very clear about what information (and in what format) it is looking for so that it can get the response it needs to perform its task.
  • Layer in A.I. First and foremost, A.I. should be used to interpret what users want when they chat with the bot. For example, if users are told to get to the bot’s menu by typing “menu,” the bot should be smart enough to also understand that words like main menu, main, features, home, home screen, start, etc. should also take users back to the menu. This kind of intelligence must be built for all expected user inputs to make your bot user friendly.
  • Add conversation. Now that we are on the topic of A.I., the bot should also have some responses to basic conversation. For example, what will it say if a user asks how its day is going, where it lives, or how it was created?
  • Don’t leave users hanging. There will be times when the bot doesn’t understand what the user wants. In those instances, it should still be intelligent enough to give a generic response (something like, “I’m sorry, I didn’t catch that.”) or redirect to a service representative who can take over.
  • Add some design elements. Use graphics, video, and/or emojis where they make sense to provide users with a more branded and visually stimulating experience.

Personality: What keeps users coming back

Once a bot’s interactions and key functionalities are nailed down, it needs to get a personality so that users actually want to talk to it. Bots should stick with a casual, conversational tone, and the personality should reflect the bot’s brand. Anna Kelsey of X.ai, a meeting scheduling bot, perfectly sums up what you should be aiming for when she says, “The software must be doing a good job, because people know it’s a robot, but still feel the need to say ‘thank you.'”

User behavior: The key to optimizing your bot

Optimization is a given for any product, but in my humble experience, this is especially true when working on bots. Once you have some user data, study it to identify areas where you need to optimize your bot. You may need to clarify wording, edit how the bot handles user paths, or add A.I. based on user inputs.

When my bot first launched, I thought its menu was completely intuitive. I was completely wrong. Turns out, it was too complex, and as a result, users missed many of the bot’s key features. After I simplified the menu, users flowed through the bot’s paths completely differently, with the data suggesting that the bot became easier to use. Users also chatted with the bot in a way that I hadn’t anticipated, so the A.I. was updated to account for these unexpected user inputs.

Final thoughts

This skeptic’s cold heart just might be warming up to the bot trend. That said, there will be a clear divide between bots that are frustrating and difficult to use and those that are lovable and worth interacting with. The latter will provide value by improving our lives in some way, will be intuitive and smart, and will be fun to talk to. I’m looking forward to seeing more of those bots.