Getting started with chatbots

I think it’s important to be curious as designers. To find time to get out of our comfort zones and to spend time doing something different. Something that we don’t normally do in our day to day jobs, especially for interactive/product designers as there is so much to learn/explore. And to top it all off the landscape is constantly changing so you have to be on your toes. It’s daunting but at the same time that’s what makes our jobs interesting. The more we play outside of our regular sandbox, the wider our perspective will be. So when interesting problems come our way we have more room to come up with wider and more effective solutions.

The best designers I’ve ever worked with or have known have always kept evolving. They never rested on their laurels and thought ‘I’m good enough’, let’s call it a day. The passion burns bright and the benchmark is always set higher. So you keep learning and improving – just because you have ‘senior’, ‘director’ or ‘manager’ in your job title doesn’t mean it’s time to call it a day. So keep being curious – because the moment you stop, your work best work will be behind you. 

On the topic of curiosity – I’ve been reading and thinking about chatbots for a while and decided that I would get my teeth stuck into it today, and share some of my thoughts as I progress. Chatbots interest me because there are many interesting use-cases. They can potentially integrate with VR down the track, integrate with iOT type products that use speech recognition for task management, messaging platforms that we use on our phones and wearables for a variety of industries and sectors. The next progression for the internet is naturally for things to integrate seamlessly into our lives, less about specific destinations on devices. Like how often do you sit back and think about how electricity exists in our lives? It's just an essential part of life in the western world. I don't have to dial-in to the internet anymore it's just on and you try not to think about it. Everything we touch will start to become more integrated and more seamless than it is today. I’m trying to think of the internet just 10 years ago and how different it is today. I can't even fathom how far it will progress in the next 10 years. 

What's interesting about Chatbots is that they just won't live in 1 location like www.nguyens-chatbot.com or an isolated app, but that framework can be integrated seamlessly into various personal eco-systems. Messenger, app, tv, watch, fridge, lights, car, a central home hub etc. This is what I’ve been thinking about and what has been talked about by various people for a while now. Like in this video Chatbots are a paradigm shift in human computer interaction To be honest who really knows what will materialise. But before we get to all this craziness everything starts with a single step and an effort to learn more.  So let’s get started – let's explore chatbots. 

 

This is an awesome Beginners Guide to Chatbots: I recommend you read this first before continuing

https://chatbotsmagazine.com/the-complete-beginner-s-guide-to-chatbots

 

Ok you’re back? Cool let's continue. 

1. Picking a platform

There’s a ton of great platforms out there that are listed in that Beginners Guide. And many of them integrate well Facebook Messenger and Slack. So the options I narrowed down were

1. Chatfuel – Builds a Facebook bot

2. Dexter – Integrates with a ton of things

3. PandoraBots – Integrates with Slack, Twitter and a standalone web version

In the end I settled on PandoraBots. Winner winner, chicken dinner. I wanted something that could work as a standalone messenger in the browser – but could also integrate with the other services down the track. It has a super low barrier to entry. It uses AIML which is similar to XML so it was easy to understand. First off I get myself up to speed using this quick start guide and this tutorial.

2. Picking a category – Design

So I had to think of what my chatbot would do. I decided to use some of the data from Vault and use the chat interface as a way to access some of the resources. I ended up calling it designerbot and was just playing around with a few things. 1 day is no where near enough to put it all together, but it was fun getting started. 

3. THE BASICS

Most of the time it was just figuring how to connect statements together. I’ve always found that when things feel seamless or effortless – it means that there’s more than meets the eye, and that a ton of complexity has come into designing experiences that feel seamless. This is definitely the case for chatbots. 

You can look for specific words and make direct responses. (If someone types "designer" in their sentence you can set a certain response) 

Two statements that I made which you can play around with are:

What are some good fonts? Which gives you a list of my top 10 fonts. 

Who are some good designers? This will return at random a series of different designers. 

Then I made 3 could not found statements when the chatbot couldn't understand what you typed. 

<category><pattern>*</pattern>
    <template>
        <random>
            <li>Fuck you got me. I have no idea what you're saying - damn my limited chatbot mind.</li>
            <li>Excuse me while I call skynet to see what this means, because 
I have no idea.</li>
            <li>Oh snap! I have no idea what you are saying. I'll see if my cousin Google has the answer....damn no dice.</li> 
        </random>
    </template>
</category>

My chatbot couldn’t understand many statements, but it was still cool see it randomise some funny lines when it didn’t understand. 

4. BUILDING ON TOP OF ROSIE 

Ok this is when I found out that you can build bots on top of bots. Which is awesome! So there is a base framework called Rosie which you can build on top of. Which was perfect – going through all the potential insults was hilarious. “Carpet muncher” was one of the them, like what the? 

5. USE CASES AND EXPERIENCE SO FAR

Most of the time it was just figuring how to connect statements together. Everything is super barebones but there’s some fun to be had. I’ll see if I can use a custom chatbot to do some actions for my home – like how to turn off a smart light in the future. It’s definitely a fun and interesting space with a ton of room to grow and develop. That was my quick foray with chatbots for the day. Another awesome feature is to improve the chatbot overtime with logs and data from what people say to it to make the experience even better. The more it can recognise the way people phrase questions the more accurate it will get. Which is not too different to iterating designs based on user behaviour and user feedback. 

You can play with my chat bot here. Find the one that says Designerbot.  You can ask it a bunch of questions but the 2 specific design ones are:

What are some good fonts? Which gives you a list of my top 10 fonts. 

Who are some good designers? This will return at random a series of different designers. 

Enjoy exploring and pushing the potential of chatbots. Potentially they can solve your next design challenge. Keep being curious and keep learning.