Kevin Zurawel is a front-end developer at Braintree, where he works on tools that power merchants large and small. He also is a frequent speaker at conferences.
It’s 2017, and conversational interfaces (people talking with machines the same way they talk to other people) are everywhere. Siri has become a household name. Taco Bell lets you order tacos over Slack. A chatbot lawyer can help you get out of your parking tickets. MasterCard is allowing people to manage their credit cards via Facebook Messenger.
It feels like we may spend more time talking to computers than to one another in just a few short years.
How did we get to this point? Where did the conversational interface originate?
Like most things in computer science, everything old has become new again. The predecessor of the modern conversational interface, “interactive fiction,” has been with us for more than 40 years. By taking a look at interactive fiction, we can better understand what makes conversational interfaces effective, as well as the lessons that interactive fiction developers have learned.
The first true conversational interface arguably dates to 1975, when Will Crowther, an engineer who worked on router code for the ARPANET, combined into a computer game for his daughters his two favorite hobbies — exploring Mammoth Cave National Park and playing Dungeons Dragons. The result, Colossal Cave Adventure (“Adventure”), spawned a new genre of computer game.
In Adventure, the computer presents the player with a text description of where their character is standing, followed by a prompt. The player responds with a one- or two-word phrase of what they want their character to do — get lamp, go north, etc. The computer parses the player’s input and presents a new piece of text to tell the player what has changed.
A skilled player could, by typing the correct series of phrases, guide their character through an elaborate cave network, collect five treasures and return them to the house above ground. At the end, the player’s commands, combined with the program’s output, would form a full transcript of the “adventure” that could be read as a story.
The game spread through college campuses via the ARPANET, and was incredibly popular. By one estimate, the time spent on the game “set the entire computer industry back two weeks.”
The culture around Adventure, groups of people meeting late at night in campus computer labs, even inspired the first doctoral dissertation about a video game, “Interactive Fiction: The Computer Storygame Adventure” by Mary Ann Buckles. This work is part programming deep-dive, part literary analysis and part anthropological study. Adventure became a touchstone of computer culture and for many years defined what “video games” were.
Interactive fiction exploded in the 1980s, fueled by the success of Infocom, a company best known for the Zork series of games. Infocom was able to develop for a wide variety of systems by building one of the first commercial virtual machines for home computers (“Z-Machine”).
In an environment where each year’s new graphics technology was leaps and bounds beyond that of the year before, text adventures were comparatively ageless, which extended their sales even further. Once the computer industry consolidated to the graphically rich PC and Mac, though, Infocom went bankrupt, and interactive fiction as a commercial enterprise died soon after.
Devoted fans of the genre were not ready to let go. Enthusiasts built their own interactive fiction development platforms. The two primary development environments, TADS (“Text Adventure Development System”) and Inform, formed the core of an interactive fiction renaissance. The interactive fiction community grew again around newsletters like SPAG and competitions like IFComp, existing just under the radar of the wider video game community.
These new tools allowed anyone with a basic understanding of programming to make their own interactive fiction games, including games significantly more complex than Adventure. The parsers built into TADS and Inform can understand multi-word phrases with words of any length, opening up a number of conversational possibilities. Where an Adventure player might be limited to fight a troll, a more peace-loving player of TADS or Inform could ask a troll about his mother, give fresh-baked bread to a troll or even just say hello to a troll.
By expanding the scope of player inputs, TADS and Inform expanded the very definition of what an interactive game could be. Providing sophisticated characters for players to interact with in a more human-like fashion than ever before enabled interactive fiction to serve as a platform for role-play.
TADS and Inform have continued to evolve. While interactive fiction has expanded to the internet, most developers of conversational interfaces are implementing systems that are a poor fit for the interactive fiction model. They are often one-off interactions (ordering tacos) as opposed to persistent world simulations (collecting treasures underground over several play sessions).
Yet it would be a mistake to write off interactive fiction entirely. We can learn from its history, both the techniques that led to success and the stumbles along the way. Here are a few of those lessons to use in your next project:
Portability is powerful
Infocom’s success rested in large part on its ability to produce games for every system available. Infocom games were entirely presented as text, and text is readable by any kind of computer system. As Graydon Hoare said, always bet on text, because “the breadth, scale and depth of ways people use text is unmatched by anything.”
For conversational interfaces, text enables experiences that traditional graphical user interfaces cannot provide. Users gain the ability to save transcripts of their interactions; to share them easily with friends; to translate them, annotate them or search them. Creators, meanwhile, gain powerful debugging and analysis tools because computers can sift through text much more easily than videos of user interaction. If you are debating whether or not to develop a conversational interface for your product, focus on these areas of strength as you make your decision.
Beware the ELIZA effect
In 1966, a computer program named ELIZA made a splash in computing circles. Predating Adventure by nine years, it instructed the user to tell it their troubles, and responded as a therapist of sorts. Internally, the program was unsophisticated, latching on to key words in the user’s input and reformulating them into questions, or asking generic open-ended questions as a default. ELIZA had no memory of anything the user had previously typed, and most of the interaction could be re-created by rolling dice and consulting a list of phrases.
Users, however, were entranced. Many believed ELIZA was a real person, if not a particularly skilled therapist. This became known as “the ELIZA effect” — a quirk of human nature that makes us think a human (or human-like intelligence) is behind the scenes whenever we encounter signs of “humanity” in a computer interface. Even something as simple as an automated phone system playing a recording that says “thank you” can trigger it. We are momentarily moved by the machine’s expression of gratitude.
For a conversational interface, this is a double-edged sword. Your users have an automatic, if basic, suspension of disbelief if your program presents itself as human. At the same time, a conversational interface can evoke strong feelings in your users that a traditional GUI cannot. You may become annoyed when Photoshop crashes, but you’re much more likely to take personally the failure of something that talks to you like a human, even when you know it’s just an automated system.
Surprises can delight
As a corollary to the ELIZA effect, when we give a computer an input that we believe it cannot comprehend, we find responses that handle our input with panache both surprising and delightful. When we ask Siri to read us a haiku, we don’t expect to actually receive one in return, let alone a haiku that asks us to charge Siri’s battery. Even Adventure was aware of this effect. A user who thought a simple use of abracadabra might solve all their problems would be greeted with the response “Good try, but that is an old worn-out magic word.”
Try to predict a few of these edge cases, and program in responses that will make your users smile. Better yet, use your ability to collect transcripts of user sessions to identify these moments when they actually happen. Each time you add a witty response to your conversational interface it will become a little more magical.
Deliver joy to your users
Conversational interfaces are a radical departure from the graphical interfaces with which your users are likely familiar. While a conversational interface can offer new types of experiences, remember they also can frustrate users in new ways. As a developer, go out of your way to make your conversational interface a joy to use. This is, after all, the reason they were invented in the first place.
Will Crowther said his goal with Adventure was to make “a computer game that would not be intimidating to non-computer people,” and that he knew he had succeeded because his daughters “thought it was a lot of fun.” Mary Ann Buckles was motivated to write her dissertation on Adventure not because of its technical sophistication, but because she saw a group of people “going crazy… just sitting there, completely involved, having such a good time.”
If your product is fun to use, users will overlook the occasional shortcoming, and they’ll recommend it to their friends just for the experience.
Where do we go from here?
The lessons I’ve put together here only scratch the surface of how interactive fiction can inform our design processes around conversational interfaces. I recommend trying out a few works for yourself (the IFComp website is a good place to start), and if you’d like to try making your own interactive fiction, download Inform7 or TADS3. Both tools can export a web-playable game, making them a great way to prototype new conversational systems.
Featured Image: Autopilot/Wikimedia Commons UNDER A CC BY 3.0 LICENSE