When customers first invoke your skill, aim to provide just the right amount of information so customers know how to move forward. This is important to get right when building for voice. With graphical user interfaces, context-aware visual prompts rendered on screen can guide users as they interact with the application. Voice interactions are predominately screenless, so you have to tell users, clearly and succinctly, how to interact with your skill.
You also need to ensure that your skill sets the user's expectations. It's surprising how quickly you can dampen the user’s engagement with your skill if the user's expectations don't line up with what your skill can do. It's similar to building trust; it takes a long time to build it, but can be broken in a flash.
For example, let's say you're working on a skill that enables the user to look up the current price of Bitcoin, which can be traded in many currencies. Let's say your skill only looks up the price in US dollars, but doesn't indicate to the user that you only support US dollars. The user invokes your skill and says, "Tell me the current price of Bitcoin in Euros." If your skill replies, "The current price is $4033.20 US," the user won’t get the answer he or she expected, and will likely stop interacting with your skill.
There are several ways to set user expectations. One way is by choosing the right name. If you named your skill “Bitcoin Exchange” and it doesn't allow you to buy and sell Bitcoin, you probably will want to rethink your name.
You can use your skill’s description field to set additional expectations. For example, if you only support one currency, you should include that detail in the description. A great description that sets user expectation will go a long way to ensure that customers will get the experience they expect.
You can also set expectations with your sample utterances. When you submit your skill for certification, you must provide three sample utterances. You'll want to choose these wisely so you can show the user how to interact with your skill and leverage its capabilities.
Lastly, you can set expectations through your skill. You can set up your welcome message to explain what the skill is and how to interact with it via sample phrases. You can also set up your help text to explain to the user how to use the skill. If your skill is complex and provides many multi-turn interactions, you may want to think about providing contextual help messages that offer suggestions based on what the user is attempting to do. Let's take a look at a sample welcome prompt.
"Welcome to Bitcoin Exchange. I can buy, sell, and look up the current price of Bitcoin. What you like to do? buy, sell or look up the current price?"
The first part orients the user by welcoming them to your skill. The next part tells the user what the skill does. And lastly, the message lists utterances that the user can say to perform the intents.
If the user then asks to buy Bitcoin, your skill could then elicit a slot for currency: "You can buy with US dollars, Euros, Japanese yen, or British sterling." If the user says "British sterling," then you should probably save that to Amazon DynamoDB as a preference since the user will likely want to buy with the same currency the next time he or she uses your skill.
Likewise, you may also want to save the currency that they used to look up the price of Bitcoin. The next time the user says, "Tell Bitcoin Exchange to buy Bitcoin," your skill will see that even though the user didn't provide a slot, the last time they bought or looked up the price, they did so with British sterling. So instead of asking which currency they’d like to use, your skill could ask for confirmation: "Would you like to make the purchase using British sterling?"
Once the user has been trained how to use and what to expect from your skill, you may want to change the welcome text. You could keep track of their most frequently used Intents and invoke it upon launching the skill.
For example, let's say the user's most frequently-used intent is GetCurrentPriceIntent. When the user opens your skill, you could greet the user with a messaged tailored to the usage pattern: "Welcome back the current price is $4,033.05 which is a $1,000 increase from the last time you bought. Would you like to sell?" To track your skill's most frequently-used intent, check out this cookbook item.
Lastly, you'll want to create an unhandled intent that will act as the intent that captures all missed utterances (utterances that can't be mapped to an intent) and provide the user with some contextual feedback.
The suggestions in this post should make your skill more engaging by setting the user's expectations and adapting to their usage patterns. I can't wait to see what amazing new experiences you come up with while applying this concept.
Got skills? Bring your big idea to life with the Alexa Skills Kit and earn perks through our new tiered rewards system. Publish a skill in September, and earn a pair of limited-edition Alexa dev socks. If 100 unique customers use your skill in its first 30 days in the Alexa Skills Store, you can also apply to receive a free Echo Dot featuring a limited-edition developer skin design. Learn more about our promotion and start building today.