We recently published a new skill for Alexa developers called Dev Tips, which is designed to connect you with the news, tips, and resources you need to build your best skill—all via voice. As part of our initial research and content creation, we scoured the discussions on Alexa developer forums, office hours, and in-person interactions with Alexa developers to figure out what kinds of questions most developers are asking.
We came up with about 100 different answers ranging from "When are office hours?" to "Help me understand entity resolution." We acknowledged, however, that we would never be able to create a complete set of answers to all of the questions that developers might have—but we could try. To do this, we would need to be able to monitor all of the requests that our users were making. When we discovered a question that didn't have an answer, we would write the content for it, and add it to the skill during our weekly release.
Each week, we identify 10 to 20 new utterances that we hadn't anticipated, and actively work to create the necessary content to answer these questions with future releases. Here we share how you can continuously improve your own skills with custom slots using Dev Tips as an example.
Identifying Your Misses
In Dev Tips, we lean heavily on entity resolution to determine whether we have an answer to a question, or whether we have a miss. Every time our custom slot is used, we log that user's slot value to our database, and mark it as a miss if we received the ER_SUCCESS_NOMATCH code. This gives us a rolling list of what is important to our users, and an active worklist of items that should be added to the skill. Creating and adding fresh content to your skill is one of our seven qualities of standout skills, and we can’t recommend this practice enough.
Developing an Update Cadence
Initially, we were scouring our database every day, scrambling to write the new content and re-publishing our skill. This proved to be too aggressive of a schedule, so we shifted to a weekly review. In this review we look at the list of missed slot values, and decide what kind of action to take. Here's a look at this week's entries by proposed actions:
- “dev chats” – This was landing on developer office hours. We added synonyms to move this to the entry for the Alexa Dev Chat Podcast.
- “swearing” – We added a synonym for SSML. It mentions bleeping text.
- “languages do you support” – We added a synonym for spoken languages.
- “when do you have office hours” – We added as a synonym for office hours as the content is already in the skill.
Updates to Be Made Next Week
- "intercom” – We will add content for multi-room audio and device-to-device calling.
- “fire stick” – We will add on the Fire TV Stick with Alexa.
As you can see, even when we have written answers to many questions, there are always new ones popping up, or users asking questions in a way we hadn't anticipated. Our goal is to give a contextual answer each time, so we try to accommodate nearly everything that users ask of the skill.
Once we have identified our work list, we generate all of the information that is necessary to answer a user's questions.
Creating New Content
As you might imagine, there's a decent amount of work required to write a new answer for this skill because we are trying to use every feature of each device. In some cases, we can reuse an image or a background, but for the most part, for each of these items need to be written or created, uploaded to our database, and tested on devices with and without screens to verify that everything works properly. Here's our checklist of the assets we create for one new answer in the Dev Tips skill.
Required For Launch
- Answer Title – Alexa will confirm that it found an appropriate topic for you, like "I think you're asking about entity resolution." Entity resolution is the "answer title."
- Synonyms – Because there are many ways to ask for something, we use synonyms in our custom slot to accommodate those different values that point to the same answer.
- Speech Data – This is the speech text that Alexa uses when it provides an answer.
- Card Data – This is the text that is added to a card in the user's Alexa app. This is often different than the speech data in formatting and doesn't contain any SSML tags.
- Title Pronunciation – In some cases, Alexa doesn't pronounce the Answer Title the way we would like. We use this to provide a phonetic pronunciation of the Answer Title.
Optional Assets for Echo Show, Echo Spot, and Cards
- Small Card Image – The 720 x 480 image for a card.
- Large Card Image – The 1200 x 800 image for a card.
- Display Type - Each of our answers are also rendered on Echo Show and Echo Spot devices, and we need to indicate which Display Template to use, like BodyTemplate3.
- Display Title – This is the title of the Display Template, which can be different than the Answer Title.
- Display Background Image – This is the background image used in the Display Template.
- Display Image – This is the foreground image used in the Display Template.
- Primary Display Text – This is the text content that is used in the Display Template. This can vary in length and format from the Card Data, so we keep it separate.
For the week following our review, our small team writes the content, creates the images, uploads everything to their appropriate locations, and tests the skill on their devices. The following week, that new content will be submitted for certification and added to the existing live skill's experience.
We’ve been following this process to maintain the Dev Tips skill since November 2017 and engagement has been trending steadily upward—total sessions, unique users, and even our average sessions per user have continued to increase since December. With a minimal investment in time, we have created and are continually growing and improving our skill every week. We hope that some of our experiences are relatable to you and your skills, and show you just how easy it can be to build a skill that is popular with your users.
Check out these additional Alexa developer resources to learn more:
Build Engaging Skills, Earn Money with Alexa Developer Rewards
Every month, developers can earn money for eligible skills that drive some of the highest customer engagement. Developers can increase their level of skill engagement and potentially earn more by improving their skill, building more skills, and making their skills available in in the US, UK and Germany. Learn more about our rewards program and start building today.
Source: Alexa Developer Blog