Chat first, build second. How to launch lean.

This is a re-post of my Chatbot Magazine Story on

Trying to build a chatbot without having an actual conversation beforehand is like trying to pick someone up and over thinking it.

Speak to the hand

You go through a bunch of different scripts in your head:“Hi, how are you?”, “Hey, where are you from?”, “What do you do?” And try to predict how you’ll answer when they say something back to you in an effort to keep the conversation going: “Can I buy you a drink?”, “That sounds like a fun place”, “I’d love to hear more”.

Then you’re thrown a curve ball: “I’m not interest”, “I don’t understand”, “Sorry, I’m talking to my friend” or the time tested “F*&k Off”.

I encountered this frustrating scenario a lot (and I mean a lot) while single and more recently trying to build our restaurant booking chatbot,TableHero. But I learned something really valuable that has changed my approach to the problem, which I’m going to share with you in this post along with a method for solving it.

What I learned is that dialogue is not as logical as we would like. It cannot be predicted.

When you look at how pioneers like Sandi MacPherson, Esther Crawfordand Sebastian Krumhausen are sharing such valuable insights into chatbots, you’ll notice that they have one thing in common: They have an abundance of conversations to continually analyse and learn from.

So when I sat down to design TableHero, I realised my biggest problem was that I was trying to guess everything based on logic. It felt ridiculous! Worse yet, I knew that if I moved fast and pushed out an MVP based on what was in my head that I was going to alienate my potential early fans even further, put them off from using chatbots full stop. My “first mile” as Scott Belskydescribes it would be totally underwhelming.

Chatbot designers are scrambling to get the “first mile” right while fighting poor public perception. People have an arsenal of weapons to use against you: blocking, reporting, muting, insulting, cursing, rolling eyes of contempt then quickly reverting back to their happy paths. But in the face of adversity and a new frontier we still must still act. Question is: How?

The Chatbot and Dialog Problem

Building a chatbot is like the chicken egg problem. You need the chatbot to have the conversations, but you need the conversations to design the chatbot.

So to approach this problem with TableHero, we started to engineer conversations between our “chatbot” and our social network, call them our beta-users, so that we could start “building dialog” in the moment and gathering insights from the interaction. Basically, we pretended to be our bot.

We got a bunch of different people, our “ideal customers”, without guidance, to use TableHero. They had no idea at the time that they were talking to “us” on the other end, instead of the actual chatbot. They would log in and start typing, then we would respond.

For some this may sound like common sense. Facebook M started with it, right? Funny enough, it’s harder than it sounds with “friends” especially when you are faking the product. If it’s something you are interested in, this is what worked for us.

The Process

The first time you do this: I recommend doing a practice run with a friend or co-worker (even better if they’re sitting next to you), so you can take your time to think and write responses as you “pretend” to be the bot.

  1. Block out 30 minutes after your practice run.
  2. Go to your Facebook Online Now or a chat platform of your choice. Green dots are good because it means your friends are active on Facebook right now and you can expect a fairly instant response.
  3. Identify a friend who closely represents your ideal customer. Since I’m building a table reservation bot, I looked for friends who I know eat out.
  4. Ask the question. Funny enough , I think this is the hardest part. It’s easy to hide behind your computer and never actually talk to customers, but being able to make the ask is the cornerstone of this process. I like to cut straight to the chase and say “Hi”. When you receive a response ask your question e.g . “Do you have 5 minutes to make a table booking on”
  5. Use your responses from your practice run to take your friend on the journey to reach their goal, in my case successfully booking a table. Go with the flow and see where it takes the two of you. Have a bit of fun with language and playful responses! You will unlock new insights by with a blend of script and improv.
  6. Follow up with a question on the back channel with your friend: something like: “Has there been a time in the past when you would have used something like this?” Try to avoid leading questions. Like asking“Would you use this?” They’re your friend so of course you are going to get a bias answer.

The Learnings

Below is an example from one of our conversations with some of the insights that we learned from it. There isn’t anything unique about it. Every conversation we have generates new questions. Not just for the design but the direction of the opportunity.

I found Kevin Scott’s “Usability Heuristics for Bots” an excellent post to personally learn how to articulate usability issues and a language to feed back into the design.

So let’s begin…

  • [See figure 1.] Ambiguity in what to do next.
    I assumed everyone just messages a bot and says “Hi” like me. What I realised is people don’t say “Hi”. People get confused and have no idea what to do next.
figure 1.
  • [See figure 1.]Make a simple choice easier. Most people were able to start the booking process. Slack users wanted to speed up the process with commands like “/book Nopa table for 2 at 7pm”.
  • Would structured messages make sense here? Maybe. However, the majority of users seem to get the ‘/book’ command.
  • [figure 2.]Nick thinks he is speaking to a bot. Nick thinks the first request won’t be understood, so sends another one in quick succession. Now Nick thinks he has broken it. This is great feedback, and common across my conversations. Now I know to wait a moment for a correction or a more accurate command.
figure 2.
  • [figure 2.] I go and look up a real booking system. Turns our Vue Du Monde is very fancy. They only take bookings on their website and there are two days only this month available to book on.
    I send back a content heavy message — tell myself structured messages definitely make sense here.
  • I mockup a Facebook Structured Message to include in the design.
figure 3.
  • [figure 2.] Vue Du Monde seems like a place for special occasions and special occasions normally happen on a set day. So I can understand why the other dates are not suitable. I don’t want to leave my friend Nick in the lurch.
  • Since I’m following through the motions. I learn there is a waiting list that requires a phone call. Since I’m in discovery mode I call the restaurant. No one picks up. However it, sparks more ideas, and gives me one last chance to create value for Nick.
Nick and I continued the conversation on the back channel
  • I follow up Nick with a “quasi” customer interview. But it get’s him thinking about real situations in the past where something like this makes sense. It also opens up the conversation to disprove other hypothesis I have about chatbots and booking restaurants in general.

The Results

As you can see the results of just one example speak for themselves.

  • identified and engaged an ideal customer
  • uncovered new problems (opportunities) we hadn’t thought of
  • unlocked new conversational pathways and opportunities to test
  • identified the limitations of purely a technical solution
  • generated real conversations that can be used to design a deployable conversational blueprint
  • raised new questions that we could test as a hypothesis.

This is a low tech way to validate your business by doing product and customer development in unison.

If you found this useful and would like to see my next post on our journey building TableHero.

Cameron is co-founder of Foster Labs a chatbot build & growth partner. Foster Labs favourite projects are Repost Bot, Ask Joel and BotStackJS a best of breed node.js bot framework for Facebook Messenger.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s