NLP vs. Buttons — Let’s Settle This Once and For All

Sam Ursu
Sam Ursu
Oct 15, 2019 · 8 min read

If you strip away all the bells, whistles, and tricks, there are only really two frameworks for chatbots — NLP and Buttons.

The “Buttons” style of chatbot is often referred to as a “rules-based” chatbot or perhaps a “menu” chatbot, “scripted” chatbot, or “tree” chatbot. It’s what I personally refer to as a Plinko chatbot, which functions something like this:

Meanwhile, the second fundamental chatbot framework is known as the “NLP” or “Natural Language Processing” style of chatbot. Sometimes, it’s called NLU (“Natural Language Understanding).

This second type of chatbot framework is always — and I do mean always — referred to as “AI” or “using AI” (and — for bonus points — Machine Learning (ML)) regardless of how much real AI is involved.

People also love designing fancy art to represent NLP chatbot design:

looks cool though, right?

Despite this, the only real difference in NLP chatbot design is that, instead of a fixed (and known) set of options that the user can choose from to select a decision tree, you have to educate the chatbot on how to guess which decision tree is appropriate for the user based on the user’s spoken or typed input.

No Love for Buttons

Theoretically, with two powerful frameworks to work with, there should be an emerging consensus on which business (and personal) use cases are more suitable for Buttons-style chatbots and which are more suitable for an NLP design.

But that’s not what’s going on. At all.

Red-Headed Stepchild

The reality of chatbot design is that NLP is adored, worshipped, and feted by nearly everyone while poor old “Buttons” style chatbots are thought of as second-class. This is absurd, but somehow, all the love is reserved just for NLP chatbots.

On LinkedIn, I even saw one extremely highly-paid chatbot designer who works with Hollywood tie-ins scoff that “buttons-based conversations are artificial” because “no one talks like that.”


Maybe it’s because I’m a bit older and can remember or myself, but I’m here to tell you that, long before the internet was even invented, people were most definitely having “button-based” conversations.

It looked like this:

I certainly passed along a few notes like this in my day ;)

Too Much Sci-Fi

As near as I can tell, there’s a Venn diagram with two greatly overlapping sections — one being sci-fi lovers and one being chatbot programmers. How else to explain this unrequited and unwarranted overwhelming love for NLP?

Of course, it looks a lot cooler in a sci-fi movie to have the character speak to the computer than click on some buttons. Visually, and cinematically, it makes total sense.

But in the real world, “Buttons” are what we are most familiar with and what we (generally) like the best.

That’s why the iPhone screen looks like this:

these icons are buttons, yo

Instead of like this:

Imagine if you had to open every app by saying its name instead of just swiping and pressing an icon.

Having your phone be “voice-activated only” might start out as a cool party trick — but for most people, it would quickly become tiresome. And just imagine having to shout “Tinder” to open the app when you’re in a crowded bus or shopping mall 😜

The same shiny at first but quickly becomes tiresome formula holds true for most NLP chatbots. But few chatbot programmers (or clients) can see past the glitz and glamor of having a “sci-fi” chatbot (now with Turbo AI™!) that they can show off to their friends and colleagues.

As such, they wind up spending way too much money and time using the wrong framework for their business (or personal) objective. Furthermore, NLP chatbots tend to alienate users far more than most people realize.

When NLP Actually IS the Right Choice

The thing that you have to remember about NLP is that you are forcing a particularly heavy cognitive load when you present the user with, essentially, an infinite number of choices.

When you start with a “blank screen,” and then obligate the user to think of something to ask or request, it forces them to face the abyss — a blank slate of nothingness. And that is just one of the many cognitive and psychological obstacles that must be carefully navigated.

imagine the chatbot design for THIS restaurant *oof*

Maybe the user will say something (perceived to them as being) wrong and get embarrassed. Maybe their input will lead to a null result, and they get frustrated. Maybe the chatbot will return a wrong result (not what the user was looking for). And maybe the user will freeze up, not sure what to ask because they need more cues about what’s available.

Not good. At all.

A Restaurant Everyone Would Hate

NLP design is like not printing a menu and then asking each customer who walks into your restaurant to simply tell you what they want to eat.

How many customers will order something that’s not available in the kitchen (or now exactly how they want it)? And how many of them will quickly become ex-customers?

But there is one group of customers of the theoretical restaurant above that would indeed be very happy — the customers who already know exactly what they want.

This makes NLP framework chatbots are the right choice for a narrow range of use cases:

  • Booking transportation and lodging
  • Re-ordering something

That’s really the entire list — ✈️ 🏨 🚗

NLP for booking transportation and lodging works because the customer knows what they want (to travel from City X to City Y) and when they want to do it (date Z). This is why all of DialogFlow’s examples refer to bookings.

NLP can also be good for repeat orders:

Again, this meets the requirement of a customer that knows exactly what they want.

But for just about anything else, the NLP framework is probably the wrong choice for your chatbot, no matter how much of a “cool factor” it has.

Buttons Are King

Whether you call them buttons, links, menus, icons, quick replies, checkboxes, or forms, the digital world we live in is ruled by King Button.

All Hail the Button King!

Here’s just a brief list of digital experiences we go through every day that are button-based:

  • Websites (links/buttons)
  • Smartphones and tablets (icons/buttons)
  • ATMs
  • Touch-screen restaurant menus/apps
  • Apps
  • Forms, polls, and surveys
  • Social media and messaging
  • Computer desktops/phone “home” screens
  • Automated (phone) answering systems
  • Email

And, of course, the vast majority of chatbots.

Bumper Bowling

The purpose of a sport is to match your physical skill against the rules of the game being played. And that’s fine — because sports wouldn’t be very exciting if the player always won and never lost.

It’s also why bowling is a sport and bumper bowling is not:

There is not much sadder in a bowling center than seeing a wee lad or lassie have his or her excitement dashed by an inability to avoid throwing a gutter ball. The wide-eyed enthusiasm with which they enter the bowling center is immediately shut down with tears of frustration. They just aren’t physically able to keep the ball on the lane consistently enough to hit any pins.

Enter bumper bowling. When the gutters are eliminated from play, every shot has a chance to knock down some pins.

Likewise, chatbots are not a sport because you never want your user to feel like they’ve “lost” or “failed” in their interaction with the chatbot.

Chatbots should never be designed as a game where the player (user) might have their excitement dashed and cry tears of frustration because they aren’t able to hit any pins (successfully move the conversation forward).

Buttons (and menus, links, etc) are the “bumpers” of the digital world — they keep the conversation on track. They show the user where the edge of the map is. Bumpers give the user every possible chance to have a useful and engaging encounter by making sure that they never go “out of bounds.”

Buttons also reduce cognitive load for the user. If there are three buttons to choose from, the user only has to pick between those three — rather than take a stab in the dark from amongst an infinite number of choices and hope it works.

Buttons — just like the bumpers at a bowling alley — only become restrictive when the user (player) has gained enough experience and, thus, knows exactly what they want, whether that’s expertly knock down some pins, book a hotel, or re-order their favorite iced mocha latte drink.


Look, I get it — NLP chatbots are really “cool.” They seem very futuristic and sci-fi and “shiny tech.” If you love gadgets, an NLP chatbot probably gets you excited.

But the practical use case for NLP chatbots is extremely limited. NLP chatbots are really only suitable for experienced customers who know exactly what they want.

In every other case, a “rules-based” chatbot with buttons will likely serve your customers (visitors/users) much better. And, best of all, they are several orders of magnitude easier and cheaper to build.

The Chatbot Guru

An expert’s view on the emerging field of digital assistants.

Sam Ursu

Written by

Sam Ursu

The best way to reach me is by email at:

The Chatbot Guru

An expert’s view on the emerging field of digital assistants.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade