After I learned some basics, I decided to challenge myself with creating a robot with a topic that I find more interesting.
For a first robot, I believe it gives the right amount of motivation and justification to put oneself in the shoes of the user.
Who doesn't like cookies?
I also like to make them. Sometimes I like to stick to the familiar and other times I feel like trying a new recipe. However, finding a good recipe takes time and patience and usually I think about it right before I wish to make them...
and sometimes I need to buy some ingredients right before the supermarket closes.
Turning a topic into a chatbot
When I think about a chatbot that will help me choose a good recipe for cookies, I think about 3 ways to do so:
- I want those butter cookies! Show me a familiar recipe that I saved to my preferences.
- Easy jam cookies Find me a new one based on a main ingredient , difficulty or preparation time.
- Let's go experimental! Expose me to new tastes, intrigue me into trying new things. (I believe this option should show up without request)
Make it your best friend
I don't know about you, but I'm used to Google that knows my preferences, auto-completes me, and also tries to expose me to relevant content based on my queries and other data such as: geo-location, age and so on.
As this subject tends to be polemical, I will explain further briefly: I believe that nowadays there is a greater expectation towards effortless service from products and businesses.
We appreciate not having our time wasted.
When I call a business, I don't want to press a number from an infinite menu. I expect them to answer and say "oh, Hi Efry - do you wish to make the same order or you need something else?"
When I enter a website, I expect my needs to be one or two clicks away.
back to the bot...
Wouldn't it be great if the bot could show recipes based on your cultural background, current location, preferences or even allergies?
My best friends know I really like chocolate chips cookies and that I wouldn't eat anything with cinnamon. so why shouldn't the bot know that?
If you start thinking how to make a bot your best friend, you might come up with more creative ways to make it better, especially if it's a topic that is close to you.
Hold your cookies! Priorities first.
Even as I am writing this post, so many great ideas come in mind, like recipes based on festive days? or maybe a one to surprise a loved one/friend/collegue/?
oh, I could spend another hour just coming up with new ideas and features 🙂 As fun as it might be, I will save it for my sketchbook and guide you to the next step:
Choose the main feature on which the chatbot will be based on, preferably a simple one.
I would choose in this case one that will show me a recipe for cookies based on keywords, but first will show me the list of ingredients.
Grab your notebook, try to imagine how your first conversation with your chatbot might be. First impression is important, try to focus on the first one before thinking about the following ones.
Try to answer questions like: How will bot make my life better? how will the conversation begin? what tone will it have (friendly, professional)? Will it be an open conversation or option based one? how will it end? start building a flow of the conversation on a paper, see where it goes and think on how you can optimize it.
As I mentioned in my previous post, I have chosen api.ai because it offers more options other than facebook. There are probably more platform that might offer the same, but since I got a good recommendation I felt no need to look further.
Getting started with api.ai
api.ai offers a getting started guide, well organized rich documentation and a supporting community in the forum.
Following the "Get started in 5 steps" manual, you'll be able create your own chatbot and enjoy testing on the same platform. Personally, I learn much better when following a video rather than a text manual (even when accompanied with and photos). Luckily, api.ai do offer them and they are quite clear. There are even videos of Google developers to help you get started. Highly recommended.
Is there a course online?
Well, searching for one myself I found one on Udemy's website. Take a look at this online course on by Jana Bergant - ChatBots: Messenger ChatBot with API.AI and Node.JS. Currently, this is the only one I found, and I can personally recommend taking this course, since it keeps being updated by Jana, who is also open to improvement suggestions and question and do her best to keep it up to date.
My first impression after I overcame the initial confusion was "no way it's that easy". However, I had to create a new chatbot with a topic I find more interesting and face new challenges. I will talk about it in my next post.
Since my journey has begun, I read numerous articles, joined communities and started following individuals, groups and companies on twitter. At this point, I believe it is only just if I shared my experience in hope it will help chatbot fans to start their way. Here are some tips to help you get started:
1. Join an online chatbot community
Joining a strong community online allows an access to a dynamic knowledge base, articles and support. As a newbie I had so many questions on where to begin and how to start creating my first chatbot. My friends might share some thoughts I have on facebook, but I believe it is essential both as an up to date knowledge base and as support platform in almost every subject or hobby. I can gladly recommend the upgrowing international community of AI chatbots.
2. Always keep up to date
I believe that at least one article about chatbots is published everyday. It is impossible to read them all, past and present articles while finding the balance between reading, learning and creating... oh, and life. Since I adopted uxdesign.cc my main fountain of knowledge, the interesting content helped me built a habit of reading at least 3-4 articles a week. Having contacts that share the same interest is a great way to find more fountains of knowledge. Join groups, attend conferences, meet people, follow key people in the industry using Facebook, Linkedin, Twitter and keep reading.
3. Choose a platform to experiment
Knowing I didn't want to constrain myself only to facebook bots, I was in a search for a platform that communicates with broader types of solutions. As a person who insists on not installing facebook messenger on my phone, and believes not to be the only one, it was really important for me. I tried one or two before choosing api.ai. I believe that this in an individual choice, so here are few articles to help you make a decision:
- "Six of the best chatbot building platforms for developers" on Techworld.com
- "10 Tools to Build your Own Chatbots" on Hongkiat.com
- "Top 10 platforms for developers to build a chatbot" on botstory.co
4. Don't be afraid to ask
If there's one thing I believe in, is that one must bring up questions and learn as much as possible from the experience of others. It is as important as experiencing and keep asking throughout the process - even for things that might seem "obvious". Always try to explore further more by also asking "what do you base it on?".
5. Challenge yourself and have fun
Start by creating a simple bot. You might find it's easier than you thought. Creating a good bot however is more challenging, one that will eventually communicate well with the user, use natural language processing while trying to cover type mistakes and as many cases as possible (after all, your bot will be chatting with humans...).
First things first
Even though my aspiration is creating a bot that is based on research and built upon the milestones of UX design process, I believe that first I should learn the platform and what it offers and experience the process.
Spice it up!
Having created one simple bot, it's time to move on and choose an interest or a hobby as your subject:
- What do you like? Music? Chocolate? Guitars? Traveling?
Now, try to think how creating a bot would make a change:
- Will it save you time? Collect all the relevant information and even surprise you? Engage you with new information? or one that will only choose best fit music for your mood?
For that I'll say: Have fun, you'll learn better!
So far, the process towards creating my first chatbot have been enriching and intriguing. In my next posts I will also share my hands-on experiences.
Please feel free to share your thoughts and tips in the comments 🙂
[30 Jan 2017 Update]
You might find this article interesting:
Conversational Design Essentials: Tips For Building A Chatbot
In 2016, there was an immense creations of chatbots, and the demand for them keeps growing. It is fascinating to see and as well to take part in this world of chatbots. There are so many interesting articles and probably a new one almost everyday it's hard to keep up, especially while trying to dig deeper and to create one.
One article that caught my attention lately is The 8 best chatbots of 2016 by Etienne Mérineau. I found this particular article interesting because he built a list of criteria by which the chatbots were evaluated:
- Value-oriented concept (insight, usefulness, solving a unique problem)
- Conversational UX (logic, content, overall experience)
- Copywriting (personality, tone, manner)
- Marketing (branding, promotion, discovery funnel)
- Business model (monetization)
- Results (number of users, value creation, engagement)
I believe that with this list, new standards have been set and it surely is one to follow.
My bot is better than yours
It seems there's a higher set of values for today's chatbots to be successful and the competition is growing and going to be rough. Of course, there's a more amusing and effortless to test a chatbot...
Some find this competition rather amusing and put 2 artificial intelligence to an endless "chicken fight". The last word is a live cast of a rather amusing and strange dialog of two chatbots Estragon and Vladimir two twitch channel. If the live cast is still on, you might find it here. Otherwise, even though it's running only for 2 days now, there are already videos on youtube you might want to watch.
or should I first ask, do you remember DOS?
Since I was a child, I've watched the development of computers. DOS was the only language we could communicate with the computer - but we learned even that to be able to play games in the computer.
I don't believe anyone would even bother to type anything in this black window with this blinking text-mark... (well, except IT managers and system workers who probably also grew up speaking DOS language).
My first encounter with Dr.Sbaitso
Growing up in the 90's had its magic. It was times when people actually met and spent time together. I went to my friend's house to see the new games she got, one of them was Dr.Sbaitso - not really a game, but for us as kids, it surely was.
It was my first encounter with an artificial intelligence software and I was so excited. Although its responses where in very digitized voice, we've had a lot of fun, at least in the first few times, until we realized the responses were quite repetitive.
most of its responses were along the lines of "WHY DO YOU FEEL THAT WAY?" rather than any sort of complicated interaction. When confronted with a phrase it could not understand, it would often reply with something such as "THAT'S NOT MY PROBLEM". Dr. Sbaitso repeated text out loud that was typed after the word "SAY". Repeated swearing or abusive behavior on the part of the user caused Dr. Sbaitso to "break down" in a "PARITY ERROR" before resetting itself. -Wikipedia
One of my "Really?!" moments
These are 2 interesting facts I just discovered in the Wiki page:
1.The name Dr. Sbaitso was an acronym for Sound Blaster Artificial Intelligent Text to Speech Operator
2. The program was designed to showcase the digitized voices the cards were able to produce, though the quality was far from lifelike.
Tell me about your problems
Meet Dr.Sbaitso online, no installation needed.
Eager to know more about conversational UI, I searched for more resources online and found an insightful article written by Adrian Zumbrunnen, a UX designer and developer.
In his article Technical and social challenges of conversational design, Adrian shares his learning experience while making his website conversational. A must read article.
The future of conversational interfaces aren’t chat bubbles. It’s rich experiences that seamlessly embed and integrate 3rd party services and content into our everyday tools.
So let’s start thinking outside the rectangle, outside the grid and even… outside the bubble.
Reading this article gave me an insight about the process, and important points to consider while planning my next conversational UI. It's a great headstart for those who wish to experience and expertise in this field. It's much more than just a list of answers to questions.
According to Khari Johnson, "Facebook Messenger now has 11,000 chatbots for you to try". That was in June 2016. The number of chatbots is growing exponentially, even as we speak there might be a new born chatbot, or a few.
My inspiration to begin this journey is uxchat.me, launched in August 2016 and created by the cooperation of uxdesign.cc and Adrian Zumbrunnen. It was the first time I've encountered a chatbot that is focused on enriching my knowledge in a subject that really interests me: User Experience, and it really does provide an effortless intriguing experience, which doubles the value to me.
I'm heading towards the bots world! There are already few dominating companies for creating chatbots. Along with you and possibly with a new chatbot that will join us, I start this intriguing journey.