Arguably Alexa already has too many skills that nobody wants to make use of for more than five minutes. However, if Amazon can make it easier to create them, perhaps it increases the chance that a really useful one might turn up almost by chance.
Alexa is really useful, but only at a small number of things and if, like me, you are a programmer then the prospect of extending what Alexa can do is attractive.
The trouble is that the nature of the Alexa API is such that to do anything really clever involves going the very long way round. The problem is that you only get access to Alexa at a very distant and hands-off sort of way. You can use it as a speech recognition input and as a text to speech output. The logic that you put between these two is up to you, but it has restrictions. If you want to set up a skill that looks up train times, answers questions or reads recipes then all is fine, but if your skill involves installing anything on the Alexa hardware then you can more or less forget it.
So, for example, what you can't do is add a music player to Alexa that will play music stored on a local media server. You might be able to do it by setting up a server that responds to Alexa input, but you would have to play the music on some other device than the one Alexa was running on. This, of course, stops third party programmers from extending Alexa to do things like talk to Chromecast or play music from Google and presumably Amazon likes it this way.
However, Amazon seems to be serious about building up what Alexa can do, even if research shows that most Alexa users install skills and then never use them. The problem is that voice interaction isn't very flexible. If I want Alexa to do something complex then I have to figure out how to say it and this usually isn't easy. To tell Alexa to play music by your favourite artist or composer is easy, but try getting specific at the album and track level and you probably can't do it.
Alexa Skill Builder is a tool designed to allow casual programmers, and even non-programmers, to get in on creating Alexa skills.
The skill builder provides a visual interface to easily create an interaction model for your skill. You can use this feature to add multi-turn dialogs to your custom skills. A multi-turn dialog is a conversation between the user and Alexa to gather the information needed to fulfill the user’s request. For example, for a trip-planning skill, you can add “which city are you flying from” or “how many people should I make the reservation for.”
It also provides a search to see if an intent that you could use in your own skill already exists. A new dialog model, and that's dialog as in conversation not popup window, make it easier to work with sequences of question and answer type interactions.
There is also a new beta testing tool for Alexa skills:
"Today we are excited to announce our new beta testing tool for Alexa skills which makes it easy for you to get beta feedback on your skill. You can now invite thousands of users to test your Alexa skill and provide feedback before you publish your skill."
To round off we finish on a note of surrealism:
Once you publish your skill, mark the occasion with a free, limited-edition Alexa dev shirt. Quantities are limited.
I know my threshold for creating a program is on the low side, but a tee-shirt, you cannot be serious!
The potential of voice interaction is huge, but it will not be fulfilled until companies stop protecting their platforms and throw the core of their systems open to independent programmers.
picoCTF, the world's largest online hacking competition, is a computer security game for middle and high school students. Organised by CMU's CyLab, the third contest opens on March 31st and runs for t [ ... ]