An Interview with Matty Mariansky, Co-Founder of Meekan
Matty Mariansky is the Co-Founder of one of the worlds biggest productivity chatbots Meekan. Meekan uses AI to allow users to schedule meetings by simply expressing the actions they’d like to take and when. In this interview, Matty speaks with Botsociety CEO Vittorio Banfi on the evolution of Meekan and some of the bot’s earliest challenges.
How did you approach conversational design? That’s a very particular skill, how did you end up there?
First of all just a little bit about the history of Meekan. Meekan started out not as a conversational experience, but as an iPhone application and then an android application. However, no one understood what we were trying to do because we tried to schedule a specific time. People were never telling Meekan “I want to schedule an appointment for Thursday 12 @ o’clock.” Users were instead saying “I want to meet Vittorio next week.” Then, you just let the algorithm find the best time for it. It’s supposed to take the work off of your hands and put it all on the algorithm. The algorithm can find the best time for me and you to meet each other. It looks in everyone’s calendars and finds the best time.
What does the evolution of the Meekan design look like?
There were some good things we did from day one. One was, only creating one intent to start a new meeting. We also from day one had the option to give the user more than one answer for every case. If you say something and you say it again, you will not get the same response. It will just choose a random message from a bank of responses.
These were some of the first design choices we made and they were very important. Later, we discovered it was a very good decision. We built the bot to have multiple responses for the same thing. We started giving it to people to try out and right away we discovered that people started asking crazy, unrelated stuff like “make me a sandwich. Take me to the mall. Will you marry me? What is the meaning of life?” and so right away we started adding chitchat intents.
We have both insults and compliments. For every one of those, we wrote almost 20 different responses so that we wouldn’t repeat the same thing. For example, if a user says “Hi” Meekan says “Hello.” When it’s time for the bot to do its job, it does its job. When the user is just engaging in regular conversation, this is when the bot can show it’s character because it’s not supposed to be achieving a task, just talking to you. We wrote a character sheet and tried to describe what the bot would be like. Meekan really likes geeky jokes, he really likes to quote the Big Lebowski. Meekan includes lots of humor and as there were lots of places to be creative there.
We see this over and over again, the best chatbots and the best voice assistants usually have someone on the staff that came up with the personal character description like you mentioned that you came up with. How did you come up with that?
So at first, we wanted to hire someone. We spoke to a guy from Hollywood that actually writes for different shows. It was just too expensive, it was too much money and we were just a small startup of only four people. We couldn’t afford to hire him so we had to write everything ourselves. There was no other choice.
All of the Bot sentences are in one file. This was also not a very smart decision because when we started Meekan we had about a hundred lines and now that file is 20 pages long. You can find anything there. In the beginning, it made sense to put everything in one line and it was just a file that everyone could share. It was housed on Github so I could just be walking on the street and someone could tell me something or I would think of something and I’d say, “oh that’s a good line for the bot, I will just go ahead and add it.” From there, everything just evolved and every now and then we still add more things.
It’s important to give your writer a clean place to simply write. It shouldn’t be hidden somewhere inside of the code or put somewhere really complicated to access because sometimes you just need to write things quickly and you can be blocked by the technicality of it.
If suddenly you have an idea and it’s buried somewhere in the code, you might say “oh man I’m not going to open that and look for the correct place.” You basically say okay, forget about it because you’re feeling too lazy that day. When there are no roadblocks you get much better text and content.
How did your background lead you to build Meekan?
Basically, I’m a designer. For a lot of time, I used to be a visual designer doing websites and applications. I was an animator for a few years a while back but during my time in the university around 1998–99 or something like that, I was spending a lot of time on IRC. I was chatting to people and on IRC you could write with the scripts of bots. I used to write to for bots and this is how I knew that we needed to have more than one answer to every question. I remembered that from back in my IRC days. The bots I wrote then were really really simple compared to what we’re doing now and this is very good because when we started we thought it was a simple thing to do.
I thought it was a quick 5-minute process and in reality, there’s no way you can do it in only five minutes. Just putting in the very basic infrastructure for the bot to speak. OK. That might take you five minutes. But getting the flow right and all of the little words correct; making sure everything is working right and everyone understands where they are in a conversation takes time.
There are so many things, millions of things that can go wrong once you set your bot live.
Why do you think the flow is so important in these types of interactions?
People want to have shortcuts. They don’t want to go through all of the extra dialogue. They want to say exactly what it is they want. “I want to go on Vacation tomorrow.” It’s straightforward and this is what good bots do. Things can go wrong. Maybe someone starts a meeting and then a reminder comes in the middle of the process. Maybe you went out for 10 hours, you come back, the bot is still waiting for you to complete the meeting and the end user has totally forgotten about it already. Instead, the user starts again. He’s asking about something completely different and changing the subject.
A million things can go wrong and you have to be ready for all of them. Unless you’re incredibly smart you can’t project all of these things from day one. When you release your bot to the people, you’ll always be very surprised. People have different accents. Not just in talking but in writing too.
Originally published at Botsociety Blog.