Amazon Echo is by far the most popular device in the consumer IOT realm, winning the race in the screen-free product category.
Powered by Amazon’s voice control system Alexa, the Amazon Echo speaker has sold over 3 Million units bringing voice-controlled gospel to the mainstream home.
As the Alexa store is opening its gates for developers, they can now leverage the voice platform to create new Alexa skills and improve the system on a regular basis.
In this post, I’ll walk you through the process of obtaining approval for the Alexa Skill we developed in the interest of helping you successfully submit your own skill.
[bctt tweet=”Submitting an Alexa Skill: This is how we did it. Step by Step.” username=”Audio_Burst”]
Why Alexa?
Since the company’s ultimate goal was to create the internet’s audio repository (and developed the technology to do so), building a device that interacts with the user in an audio-only format was a natural fit.
So we decided to build an Alexa skill that would make use of our tech.
Alexa is a great platform for building eyes-free + hands-free applications (Skills). As a company that creates content for exactly these use cases, it seemed like an obvious approach.
In addition, for entering this new market, building an Alexa Skill was a great start.
It’s fun and there are many resources that will help you get started.
Our skill: News Feed
We built an Alexa skill that allows you to get news of high relevance, on any topic.
The information comes from top news outlets, on any subject you’re interested in. It also provides real-time updates.
Instead of having Alexa read the news for you, you get a live audio burst from the news publication.
While using our technology as a resource, we initially thought the sky was the limit, but later we found out that Alexa has its limitations.
Before you start, I would recommend you to read Amazon’s guidelines on how to work with Alexa’s API.
It will save you a lot of trouble and time.
While developing a skill is rather simple, the real challenge comes in the submission phase.
[bctt tweet=”Learn how Audioburst developed their News Feed Alexa Skill” username=”Audio_Burst”]
The big obstacle: Getting your skill approved
Right after the development phase is finalized and your skill is ready to go up on the Alexa Skill Store, comes the skill submission phase.
You might think that the most challenging part is building the skill itself, but for a developer, the hard part is actually getting approval from Amazon – Our skill got rejected 3 times before our fourth submission was finally approved.
Amazon does a really good job in documenting the development process but has trouble communicating during the submission process.
You’ll get a rejection log, but it won’t be specific nor clear enough to really understand what went wrong.
I’ll try to save you some time by sharing the rejections we got and how we resolved them – and eventually got an approval.
Filling in the necessary details
The first thing you need to do to submit an Alexa skill is to fill in the necessary details that will show up on your Alexa Store page. You can download our description spreadsheet for free as an example of our own approved skill.
You will have to choose a name, description, example phrases and invocation method. You will also need to create a logo for your skill.
After you’re all good on the copywriting front, it’s time to submit your skill. But before you do so, here are a couple of things to watch out for:
1. Make sure the system doesn’t hang and wait for the user to interact with it
On our first submission attempt, we got 6 errors and most of them were related to this specific issue.
The system should “ask” the user what he wants to do and inform him that he can exit the skill at any given time by saying “Stop”.
If it fails in doing so, there’s a possibility that the system will be hanging with no feedback, waiting for the user to “say anything” without receiving any instructions. This will lead to a rejection of your Skill submission.
The requirement is that you always finish with a question, to keep the interaction going:
2. Example utterances vs Sample utterances Issue:
After the 2nd submission, we only got 1 submission error.
Our example utterances was not matching our sample utterances.
We had a very hard time understanding what exactly was the issue, and the “request for action” on Amazon’s rejection was not clear. We couldn’t understand what was the difference between the 2.
It was extremely hard to understand but we managed to resubmit the skill after fixing what we assumed was the issue. We got another rejection.
There aren’t a lot of Alexa resources and support at the moment – so Google wasn’t much help.
Finally, we understood that the sample utterances in the Interaction model should not be:
QuestionIntent What is the latest on {question value|question}
As documented, but rather: QuestionIntent What is the latest on {the presidential elections|question}
Which matches the example utterances in the publishing information:
“Alexa, Ask News Feed What is the latest on the presidential elections”
but without the invocation word “Alexa, Ask News Feed”.
Again – You need to use the actual value that you used at the example utterances, without adding the invocation word.
I found it very bizarre that the actual example should be in the sample (as the system should recognize any phrase following the “What’s the latest on” prefix).
3. Your Skill will probably not get accepted in the first attempt so plan ahead of time.
Amazon teams respond very quickly and analyze your skill within 1-2 business days.
Even after reading and learning from other people’s mistakes, you’re very likely to fail a submission or two. Instead of being worried about it, know that eventually you’ll figure it out and add a few extra days to your timeline to be able to check it back and forth.
The marketing and PR team will thank you.
[bctt tweet=”Developing an Alexa Skill? Don’t submit before reading this post” username=”Audio_Burst”]
Summary
Creating an Alexa skill is not a complicated process. It’s a very cool use of our product and many other products out there.
There is still not enough documentation on how to use Alexa nor on the review and submission process. You will probably encounter challenges we didn’t face during the submission phase – but still, as early adopters, it’s important to document as many cases to help future developers learn from past mistakes.
Have you encountered any problems submitting your skills? Share them with us in the comments (don’t forget to include your solutions).