November 29, 2018Jedidiah Esposito
When interacting with other people, we can draw from context in real time. We make observations about tone of voice, body language, general topics, previous conversations, and what's happening around us to make conclusions that inform our decisions and what we say. It's amazing how quickly and innately we're able to do this. In the space of a few seconds, we're able to engage all of our relevant senses and our memory to paint a picture of whatever context we find ourselves in, moment by moment. Then, we use that information to help root and guide the flow of dialog.
Knowing this, is it even worth trying to replicate human conversation with your Alexa skills? Yes, most definitely.
Designing for context ahead of time requires thinking through what your users may expect Alexa to remember or notice based on conversational context, and then compensating for those things in your design. This can be tricky, but it's well worth the effort to ensure that your users have a positive experience with your skill.
Consider this scene from a few nights ago at the Esposito residence:
SCENE: Jed enters his kitchen to find his wife, Hannah, preparing to dump a pot of soup into the sink. This is the second night in a row dinner hasn't gone to plan.
Jed: Hey, is that dinner?
Hannah: It was, but after an hour of work I burned the bottom and it tastes terrible. Again. I give up!
Jed: Let me help!
Hannah's stomach rumbles and she looks longingly at the door.
Hannah: Can we just order Mexican or something?
Jed pulls the full pot out of the sink.
Jed: Oh, it looks like you might have had the heat up too high.
Hannah: (glaring) Ok...
Jed tastes the soup.
Jed: It's pretty bland. Did you not add salt?
Hannah: What do you think?
Jed: No problem, I can do it!
Hannah leaves abruptly, Jed starts tinkering with the soup.
Hindsight is magical, isn't it? In the moment, with all of my human-level, real-time, contextual awareness, I missed the fact that Hannah wasn't looking for help. She was looking for comfort and a new food option - fast.
If I had remembered that Hannah had trouble with dinner the night before and thought ahead about her state of mind, I would have reacted differently. Likewise, if I had noticed that she wanted to switch gears and order food instead of take time to try to salvage the soup, the interaction would have unfolded much more favorably for both of us.
Memory and abrupt changes in direction are the types of things you can actually design for with your skill to account for context. In doing so, you can create conversational experiences for Alexa that leave users delighted and looking forward to future interactions instead of frustrated (like Hannah was with me).
In the new Designing for Conversation course, we outline a method for identifying and planning ahead for the kinds of information you'll need to collect (and remember) from users to ensure that the conversation flows in the right direction. While you shouldn't remember everything, keeping hold of the right information to use at the right time can make a big difference. Visit the course today to learn how you can leverage language and memory to build and persist a rapport with your skill users.
Bring your big idea to life with Alexa and earn perks through our milestone-based developer promotion. US developers, publish your first Alexa skill and earn a custom Alexa developer t-shirt. Publish a skill for Alexa-enabled devices with screens and earn an Echo Spot. Publish a skill using the Gadgets Skill API and earn a 2-pack of Echo Buttons. If you're not in the US, check out our promotions in Canada, the UK, Germany, Japan, France, Australia, and India. Learn more about our promotion and start building today.