You're Thinking About Chatbots All Wrong
Almost two years ago, I brought up the lack of a killer application when it came to chatbots. That killer app still doesn't exist. I'll reiterate my point from that aforementioned newsletter and say: Look down at your phone. How many chatbots are on it?. Chances are that answer is zero. I've been talking about chatbots since early 2017 after Bill and I did our thirteenth podcast episode on the Microsoft Bot Framework (version 3 at that time). Despite years of speaking engagements, lots of due diligence, community contributions, and even a book, you still don't have any useful chatbots on your phone.
I was on a Microsoft Teams call with Chris Mullins from Microsoft a few weeks ago, and I mentioned that I was moving away from talking explicitly about chatbots, and was guiding people to the term "conversational software." Chris said that Microsoft likes to use the term "conversational AI," but I think that's unintentionally misleading. Chatbots aren't artificial intelligence. Chatbots use artificial intelligence if you're plugging into Azure Cognitive Services, or any other natural language classifier/processor. Chatbots are a high level form of dialog management—a conversational workflow. They're about conversation.
Conversation is a tricky subject. It's not linguistics. It's not language acquisition. We're not going to sit here and argue with AI philosophers and researchers on the neocortical representation of language processing. We're talking about how we talk. We're talking about some level of discourse, although I hesitate to use that word since discourse encompasses more than just person-to-person conversation. When we talk about talking—when we talk about conversing with one another—it's a very specific dance.
I've been talking to chatbot professionals and programmers a bit on Twitter over the course of the last few weeks—discerning some of the things they would like to see for examples, tutorials, and articles for Codepunk. And when I say professionals, I use that term very specifically. Really, the only professionals in this field are the ones working on the framework technologies to improve automated conversational flow. People like the folks from Microsoft, IBM, or Google, and the handful of specialized individuals that have taken this new technology to the next level, knowing that there is a significant way to go. Honestly, it's a small group, but it's a great group of people.
What I'm not referring to is the collection of marketers and snake oil salespeople I see popping up on LinkedIn telling you that they can help you read the tea leaves on how chatbots can improve your business. I've kept quiet about some of these people and their posts. Many of them have reached out to me to connect on LinkedIn, but are only interested if I can help promote their business or make their posts go viral. They offer zero value to the industry and make matters worse by selling chatbots as something that they aren't. Although this doesn't tarnish the reputation of those of us trying to enable the community through code, it certainly isn't helpful either.
For those of you who follow me on different social media, etc. you know that Bill and I have refined our podcast to be much more about life in the new cyberia instead of just programming. And if you read the newsletter, you've seen how that has evolved into narrative commentary on the industry. Codepunk will remain Codepunk. You'll still read about how to do things, but I also want to get more into the why as well.
Over the course of the next several months, you're going to see an increased focus on chatbots here—on conversational software. I'm doing this for a few reasons:
- To dispell the myths of the aforementioned snakeoil LinkedIn (wannabe) influencers.
- To truly discuss, debate, and educate on a conversational approach to software development.
- To examine current implementations and debate the why of some of these decisions.
- To create examples of a conversational approach.
With that last point, expect some code samples based on requests that people have made of me for certain subjects not often covered in documentation, or not often show effectively in samples.
Along the way, we'll try to define the useful aspects of conversational software. Maybe we'll even write another book.