Note: Due to an Amazon certification fail, I had to change the invocation intent (invocation must contain at least two words, without counting adjectives). So, contrary to what is shown on the video, the invocation sentence is now "Alexa, launch the delayed machine"
Inspiration
Programming my washing machine (which can only be programmed with the number of hours to the end time) is always a nightmare for me. On such recurrent task, I always say myself that it would be awesome to have some help from Alexa… Now she does !
What it does
In few questions, Alexa will help you to program your washing machine, your oven, or any device that can be programmed for a starting or ending time. Don't dive in endless computations. Simply provide the time you want your machine to start or end, tell if your device need to be programmed from a starting or ending time, and eventually provide the duration of the program you chose.
How I built it
The skill is based on APL for displays on Alexa devices. It also uses the all new Alexa API allowing to retrieve the user local time. The core structure of my skill is based on the core structure I already created for my other skill "Perdu en forêt" (available only to french users, up to now), structurated to easily split intents handling, states management, multi-languages, answers diversity (not answering always the same way), or classic built-in intents managements.
I always built skills having in mind: "how could it be the most simple and the most natural for the user to get what he wants ?". So I try to find the most natural sentences, to imagine all the possibilities and to ensure to handle them in a smooth way. I don't think that the important is to provide lot of features. The user just wants to get his answer easily and quickly. That's why the launch intent is also really important and must feel natural. The user does not have to memorize the name of all his skills, so we have to find a way to use the Alexa run/start/launch... first intent quite logic.
Challenges I ran into
Making the skill available for all French and English countries was a big step, since Alexa skills need to have a good knowledge of the language, but also and overall because getting the local user time (info needed by the skill) is a quite new possibility of Alexa API, and so it is not so much used and discussed on developers forums. APL usage was quite easy, even if the available examples using node.js are always too short (documentation is focused on JSON)
Accomplishments that I'm proud of
The multi-languages availability, The first usage of APL.
What I learned
APL usage, Alexa http API (and javascript asynchronous mechanisms), Alexa authentification tokens.
What's next for Program the machine
The next step will be to display provided user information (on medium or big displays) while they are received by Alexa, to have a clear view of the information taken into account, and to be able to go back to the previous question if needed (the user can only restart from the beginning currently).


Log in or sign up for Devpost to join the conversation.