7 Secrets to Designing Alexa Skills
If you're making your own skills for your Echo, keep in mind these tips ranging from subtly guiding your users through the skill to adding better context.
Join the DZone community and get the full member experience.Join For Free
1. Use Cocktail Party Math to Determine Session Length
We’ve all experienced grabbing drinks with friends and getting stuck talking to someone where the conversation seems to go on too long. That same dynamic plays out in voice skills, and it’s really important to measure, test, and refine your overall session length. You don’t want your voice skill to be the bore of the party. The best way to measure when your app gets boring is to use a tool like VoiceLabs.co to track when the majority of your users start to drop off your user flow. For every voice skill, you’ll hit a point where you’ve asked users too many questions and they drop off. VoiceLabs can show you exactly when that moment happens. We’ve found that five questions, within an overall session length under 60 seconds, to be our sweet spot.
2. Audio Clips Drive Engagement
Alexa is pretty darn impressive, but “her” voice responses can come across as stilted or canned. While it’s interesting that users will quickly adapt their own speech patterns to converse with this artificial intelligence, we do notice in usability testing that the canned nature of the responses can get tiring over time. One way to keep your engagement high is to include unexpected easter eggs or non-Alexa audio clips in your custom skill. Here's an example. If you own an Amazon Echo, ask “Alexa, how many Oscars has Alec Baldwin won?” Just as Alexa starts to answer, Alec Baldwin interrupts her and provides his own response. It’s a cute moment that increases the engagement time and warmth of the experience. Even if you can’t afford Alec Baldwin’s SAG rate, adding sound effects or non-Alexa voice responses can keep your users coming back.
3. Context Is King
Unlike some people, Alexa doesn’t do well with one-word answers. A simple “YES” or “NO” will sometimes confuse Alexa and introduce bugs or unexpected dead-ends in your Alexa skill. As you’re working on your first skill, it’s important to remember that wherever you expect a one-word response, you programmatically “remind” Alexa of the question’s context. The Alexa Skills Kit has some great examples for how to handle this correctly.
4. For "Utterances," the More the Merrier
Amazon defines an utterance as, “a structured text file that connects the intents to likely spoken phrases and containing as many representative phrases as possible.” In short, it’s the question that the user asks Alexa. One mistake we made early on was not anticipating enough variations in the question. For example, say you built an Uber-like voice skill for a user to arrange for a ride. The rookie mistake is to just create one utterance. E.g. “Alexa, I want to book a ride.” The pro move is to create multiple utterances to account for every turn of phrase. For example, “Alexa, I need a ride,” “Alexa, book me a ride,” “Alexa, I need to schedule a ride,” etc. The Node.js Alexa Skills Kit Sample has a great open source framework to help you auto-generate a bunch of different utterances for each of your questions.
5. Gently Guide Your Users
Voice skills are still pretty new, and you have to assume that most people won’t know what to do when they open your Alexa skill. When you design your Alexa skill, it’s critical — particularly at the opening — to gently guide the user down the path you want them to travel. When a user first opens your Alexa skill, don’t just confirm the skill has been opened. You need to confirm your skill is open and gently guide the user to the next step. An example of this would be to lead with, “Opening. Do you want to do X or Y?” versus just saying, “Opening.” Assume your users know nothing and gently lead them down a path.
Skills that are published in the Alexa Skills Store are required to have a Help Intent, but just because it’s required doesn’t mean that users will automatically ask for help. You can start to slowly teach the user about various functionality in your skill. Continuing with the Uber-like skill example, after booking a ride, Alexa could say “Your ride will arrive in 5 minutes. Would you like to share your ETA with a friend?” By doing this, instead of saying “Your ride is booked”, you’re not only increasing engagement with the user, but you’re also teaching about some of the features of your Alexa skill.
If you need to have a deeper integration with a user of your system, you’ll need to enable Account Linking with your Alexa skill. This process simply surfaces the access token used to make authenticated requests against your backend API. Once the user links successfully, that access token will be accessible from your skill’s code. If you’re already using OAuth 2 and are following the specification, there’s a strong chance you can simply point the skill’s configuration to your existing authentication service. If you’re not quite following the OAuth 2 spec, you can set up an intermediary to make sure that tokens are passed back to Alexa in a way that Amazon expects. Alexa currently supports the Implicit Grant flow and the Authorization Grant flow. The Implicit Grant is easier to reason about when you first start working on linking accounts, though is limited by the token’s expiry date. If your authentication service is set up in a way where tokens expire, you’ll likely have to use the Authorization Grant flow, which requires an extra step and introduces the concept of the refresh token. If your tokens don’t expire, the Implicit Grant is the way to go.
7. Give Yourself a Full Week for Approval
While you may get lucky, you should allow yourself seven days from submission to final Amazon approval of your Alexa skill. During our own submission process, we’ve noticed that Amazon has a two-stage process. The first stage seems to have a bunch of standard scripts to test your skill for common errors. Things like how you handle good intents, bad intents, and how you handle passing in a bad application ID. The second phase is when an employee of Amazon looks at your app to determine if it meets their standards and terms and conditions. If you follow Amazon’s best practices — and make sure you handle intents well — the process should be pretty smooth.
Build Your Own Alexa Skill
We've written up the above secrets as part of a free help guide on designing your own Alexa Skills. You can download it here:
Published at DZone with permission of Joshua Porter. See the original article here.
Opinions expressed by DZone contributors are their own.