blog


Chatbots: How did we get here?

  • BenJamin Morin
  • August 30, 2017

Popular entertainment has always been the measuring stick by which we measure technology and where we are headed.  From The Jetsons to Star Trek, there seems to always be an agreement that at some point in the future, we will be able to walk up to a machine, ask for some item of food and it will be prepared for us.  That future is here and it is called Chatbots.
In a future blog, I will talk further about the direction I see them going, but first I felt it necessary to dispel some of the mysticism that comes with the idea of a Chatbot while also paying homage to those who came before us.  The idea of what Chatbots do has been with us for as long as we’ve had personal computers and it is just now that we are aggregating all the various aspects into a single common notion.

First, What is a Chatbot?

Before I dig too far into the history, lets first explore what we mean by chatbot.  The most basic notion of a chatbot is a program that simulates interactions with a person.  This is typically over the internet, but the interface options can be vast.  They are often shared between computer programs (Facebook Messenger, skype, slack, etc), built into websites, managed over text messages and in recent years through voice using devices like Amazon’s Echo, Google’s Home and the soon to be released Apple HomePod.  The user issues a command and the chatbot processes whatever that command is.  I use my Amazon Echo to turn on and off the lights in my house, play music or tell me about the weather.

Chatbots, as I see them, are the merging of two distinct components.  First is the interface.  This is usually a simple real world simple language command such as “Turn off the bedroom lights”.  Second is the AI.  This is the part that processes the command and understands the differences between “Turn off” and Turn on” or “bedroom” vs “living room”.  Sometimes it is simple word mapping and sometimes it is some form of machine learning that gathers a deeper understanding of the command.

The Dawn of Man (well, computers at least)

Before we had all these fancy user interfaces with amazing color and shapes and sounds that dazzle us all day, we had simple terminals.  And they were good.  The computers of yesterday worked on the idea that a user gave a command and the computer responded with some desired feedback.  One of the first great video games, built back in 1977 was a game called Zork.  It was an adventure game where users would type commands such as “Open Mailbox” (my first command) to which every command would affect the world in some way.  The creators of the game worked to ensure that commands were intuitive enough.  A user might type “Go east” or “walk east” and the results would be the same.  At its core, this is the birth of the natural language processing.  Albeit, very rudimentary.

Online Gaming

In the early 1990’s, as I was first entering the world of the internet, I was introduced to an online world of games called MUDs (Multi-User Dungeon, don’t judge).  These were fascinating games that took the ideas presented in Zork and grew them to make vast universes ranging from the fantasy realms of The Lord of the Rings to the infinite space of Star Trek.

Within these games, users would talk to each other and to computer characters (which were easy to discern from humans since they never asked you for your age, sex or location).  Users could also create programs within the shared universes to build even more richer experiences.  Some would make weapons, art or music which could be shared with other users.  Sometimes users even created computer programs outside of the games that would interact with the games.  These “bots” as they were called could be used to do all the functions that the user did, but in a more efficient and consistent manner.

So far, most of this seems like games.  That was true.  Home computers purchases in the ‘80s and ‘90s were primarily used for games.  Many parents would even call them toys.

But then it gets interesting.  In the late 1990s, as I was entering the world of IRC (Internet Relay Chat), an early chat program where you could discuss common interests with other people, bots started to show a use outside of gaming.  People would create bots within IRC for many real-world purposes.  Sometimes they would use them to sit in a chat room waiting for a particular topic to come up and alert the user that others were finally talking about their issue.

I remember creating my first IRC bot to use as a way of private messaging friends.  The bot would sit in a “room” and when a friend of mine came into the room, it would deliver a specific message or sometimes just a special greeting just for that friend.  While I did not personally have this, I was aware of people who had setup lighting or alerts in their house to notify them when someone was trying to privately message them.

So let’s take a break from video games and niche culture for a moment and look into some of the key drivers that propelled chatbots to where we have them today.

Alan Turing’s article in the 1950’s on what criteria is needed for intelligence has been a driving force behind much technology over the past 60 plus years.  The idea of intelligence that can be indistinguishable from that of a human has been a curiosity and a bit of a gimmick.  With technology being so far away from being able to perfectly mimic the actions of a human, most of the research has been theoretical or focused on performing one very specific task.  That notion of the single task is where we are starting to see growth in this area and the most value for chatbots.

Enter IoT

The final component of the birth of Chatbots is IoT.  While we could have another series of blogs all about the “Internet of Things”, we’ll keep it short.  Think of the IoT as the real world, the devices we have to interact in some way with our various senses.  It could be the lights in your house, your doorbell, a sensor that measures moisture in the ground or any number of “things” that we can use to make our lives better (or more interesting even).  A person could hook their coffee maker to their wifi network so they can start the brewing when the sensor in their bedroom sees that they have gotten out of bed and turned on the lights.  It’s all completely possible.

So now, we have these little pieces of technology everywhere.  These devices are measuring the temperature on every street, the lights and moisture and sound pollution.  They can dump terabytes of data out into the ether for everyone to consume.  They can also react to commands.  You can direct a webcam in your home to watch your dogs or give them a treat.  We live in a connected world surrounded by interconnected parts all begging for us to connect to them.

So, obviously, at this point people realize they need to take advantage of this.  The start of the IoT revolution began with apps.  Apps are cool.  Everyone wants to create a new app.  Someone has a weather device at home, make an app for it.  They have a webcam at home, make an app for it.  So now you have hundreds of apps all doing one single thing each.

The notion of the single function app is not isolated to IoT.  It exists everywhere.  There are apps to pay bills.  All I want to know is how much do I owe and where to pay for it.  There are apps for ordering food and looking up movie times.  I have apps for everything (even brushing my teeth if you can believe it).

Chatbots were born to break this pattern. Most (if not all) of the apps I have mentioned above could have the exact same output with a simple command.  One way to rule them all if you will.  Isn’t it just as easy to text your Zip Code to 36346 to get the show times near you from Fandango rather than download their app, configure your account for it and search for movie times?  Granted, there is value in the apps too.  You might want to watch a trailer or something, but that can be done on the browser.

So maybe Steve Jobs was right.  Maybe Apple never should have made apps a thing on their phones.  Maybe everything should have been done from a browser or text message.