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).

Share this project:

Updates

posted an update

Due to an Amazon certification refusal, 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 programme".

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