What is an Alexa Skill?
An Alexa skill is essentially an app for Alexa. Skills provide Alexa with more built-in capabilities. Alexa comes with the capability to tell users their weather forecast and add things to their grocery lists, but Skills help Alexa provide more functionality to users. For example, there are games like the Jeopardy skill that allows users to play Jeopardy through their Echo device, and there are silly things like Pikachu Talk, which allows users to talk to Pikachu.
I wanted to create a skill to get my daily workouts in at home, and I based the structure of it on a high-intensity interval training workout. The skill includes six cardio exercises that can be done at home without any equipment. Each exercise is done for 45 seconds and is followed by a 15 second rest period, so it’s really a five minute and forty-five-second cardio. Try Six Minute Cardio!
I initially intended to create a full 30-minute workout. I created a full-body workout with 4 sets so that the entire thing was around 30 minutes in length. However, after testing the first iteration of the skill, I realized that a full 30 minutes of listening to Alexa and her ticking clock would probably be unappealing. Instead, I decided to make a shorter workout that the user could repeat if they wanted to do a longer workout.
When I first started creating the skill, I tried to leave the phrases short and sweet, mimicking the things I’m used to hearing group fitness instructors say. I was worried that too much talking and instruction would be annoying to users. I had tried a similar stretching skill the week before where Alexa described each stretch in detail before starting her countdown, and it was really annoying. However, I felt like the workout I’d created was a little bland because Alexa said essentially the same thing between each exercise and there’s nowhere to edit that dialogue in the Skill Blueprint. I was able to write in several different encouragement phrases, which I thought Alexa would sprinkle in through the workout, including during exercises. However, Alexa only chose to say one or two during the whole workout and only between exercises, which made it a little boring to listen to. It was no better than just using an interval timer and working out by myself.
In order to fix this, I tried to refine the Introduction and Workout Completion phrases so that the user would have more information on the workout they were doing. Since I wasn’t really able to control what Alexa said between each exercise, I decided to add more content to the exercise names so that the user had a few modification suggestions as well as more variation during the workout. I resolved to only add a short sentence so that Alexa didn’t drag on too long.
I felt that I’d finished with the skill once I felt like the experience was more engaging than working out by myself.
Challenges and Triumphs
The most challenging thing was to work around the restrictions of using a template in order to create something unique. Even though this skill had a lot of customizable fields (the exercises, the structure of the workout plans, and four different phrase fields), it was still relatively constrained due to the nature of the template. For example, the blueprint didn’t allow for random exercises to be selected by Alexa and it didn’t allow for random workouts to be selected either. It forced the creator to choose which exercises were done in what order for specific days. It also didn’t allow the creator to change any of the dialogue between the exercises except in the form of the exercise names or the encouragement phrases.
I considered using a different Skill Blueprint so that I could introduce more variation into the skill, but there weren’t any other templates that seemed suitable since I needed to have a timer element. I listened to a few of the other exercise and fitness skills and some of them were more customized, allowing users to choose different types of workouts for the day and playing workout music in the background.
I’m proud that I was able to inject a little bit of a personality into Alexa as a workout instructor. I’m glad that I was able to work around the formulaic nature of the dialogue by adding to the exercise names. I think if I was able to add a randomizer to the skill, I would use it to do short workouts myself.
After presenting the skill in class, I had several questions about the function of the skill. Namely, people wanted to be able to play their own music during the workout, and there were concerns about the lack of descriptions for the exercises within the workouts. I also wanted to adjust the way the rest periods between exercises worked in the skill.
I had discovered in my original design phase that the skill could play over music, so theoretically people could have Alexa start playing a workout playlist and then start the skill. To demonstrate this capability, I had Alexa pull up a workout playlist at random from Spotify and called up the skill to do a workout. Since the skill requires you to listen to Alexa’s dialogue and buzzer sounds, the music is played at a lower level, but it is still audible.
I tackled the other two problems with the same solution. The original iteration of the skill included dialogue along with the name of the exercise, but it mostly provided encouragement and gave modifications to the exercise; there was an assumption that the user would not need a description of the exercise. Additionally, I was worried that descriptions of the exercises would grow annoying to people who used the skill over time or people who were already familiar with the exercises.
The rest periods between exercises were originally built into the skill as an exercise. After each exercise, Alexa would say that the next activity was rest, which lasted for fifteen seconds. The way the blueprint works, Alexa selects from a few different phrases when she counts down to the activity, and in some cases, she would pick something like a boisterous, “Come on!” when introducing a rest period, which was a little jarring.
I decided that I would build the rest periods into the time when Alexa was introducing the next activity. My first attempt was to have her count down from fifteen verbally, but she didn’t take the whole fifteen seconds to read the numbers out, and it sounded a little odd. I could also imagine that it would get too repetitive after daily use. Instead, I decided to write in short descriptions of the exercises that would last approximately fifteen seconds. I experimented with a few different description lengths and also tried to write them so that people who were unfamiliar with the exercise would still be able to understand how to do them. The demo video below shows a timer on the screen to show that Alexa’s dialogue between activities is always at least fifteen seconds long.