Ready Steady was inspired by our own difficulties with getting ready for work in the morning on time. We wanted to create a skill like this for ourselves, but we realized this can also be very useful to parents with small children. This skill relieves the user from having to constantly check the clock in order to see how much time is left to finish each morning activity and leave home on time.
What it does
This is a cool skill that helps kids get ready for school on time and their parents keep track of their morning activities without having to check the clock. The skill's primary purpose it to prepare kids to leave for school and partially relieve parents of this duty (depending on the child’s age).
Here's how it works: Ready Steady comes with 5 built-in activities, Bathroom, Breakfast, Getting dressed, Backpack and Extra Activity, each with their own time slot, which will be presented upon launching the skill. The timing of each activity can be configured independently. Once started, the skill goes through each of these activities in a predefined order. The user will hear a ticking clock for the duration of each activity and when the current activity’s time has passed, a bell will ring and a voice will announce that it’s time to move on to the next one. When all the activities have passed, the user will be notified that the total time is over and he/she should be ready to leave. While the skill is running, the user can always consult the time left for the current activity by saying "Alexa, ask Ready steady for the status" or “Alexa, ask Ready Steady how much time I’ve got left for Breakfast”, for example. Here's how to customize it: You can customize the time allocated for each activity and you can also disable or re-enable them according to your wish. “Alexa, ask Ready Steady for the schedule” will present the user with the configuration options. “Alexa, ask ready steady to set Bathroom to 15 minutes” allows the user to set the duration of an activity. “Alexa, ask Ready Steady to remove Breakfast” will remove the activity “Breakfast” from the schedule. To re-enable it, simply say "Alexa, ask Ready Steady to set Breakfast to 10 minutes".
How we built it
We used the Alexa Skills Kit, Node.js and AWS Lambda. Because we were new to this field, we started with the Alexa Skills Kit documentation and the Big Nerd Ranch training material. For coding examples, we looked at the Alexa GitHub repository. We were inspired by the “7 minute workout” to use audio files and playback enqueuing as a means to bypass the fact that a skill cannot notify users when the time for a task is up. To implement this approach, we used as a example the NodeJS Audio Player project from the Alexa GitHub repository.
Challenges we ran into
The biggest challenge was the inability to send notifications to users in the Alexa ASK environment. Our skill’s purpose revolved around being able to notify the user when the time was up. Initially, we simply kept track of the time passed and responded to users’ inquiries of how much time they had left. This challenge was overcome by adopting a new approach: using audio files (enqueued and played back to the user) to the duration of the whole schedule (the sound of a ticking clock, a bell ring as a time up notification, a computer generated message to announce the next task). The second challenge was filming Mihnea, the child from our video, who, although very eager in the beginning, slowly grew tired of retakes.
Accomplishments that we're proud of
- Having found a solution to the notifications problem, which was greatly limiting the functionality of our skill !
- Being able to finish a rather complex application for someone who has never used Alexa before.
- Having produced a skill that our friends who have kids found very useful.
What we learned
Prior to building this skill, we had no experience with the Alexa environment, the Lambda server or the Dynamo Database. Furthermore, we had never designed a voice user interface before, so we learned about the constraints and opportunities of a VUI.
What's next for Ready Steady
Integration of weather announcements, fun facts and/or trivia during breakfast, more customization of the schedule and, finally, a version of the skill for adults.