Kids who code, or think they might like to try, should definitely look into the Alexa Skills Kit and all the skill tutorials and templates Amazon provides. Together, these resources jumpstart the development process, making it easy for kids to quickly get to a finished product that opens the door to custom Alexa interactions.
Once they’ve gotten their feet wet working with skill templates some will be inspired to tackle a completely original skill, as teen coder Kira Hammond has done.
I first read about Kira Hammond on Amazon’s Developer Blog (14-Year-Old Girl Creates CloudStatus Alexa Skill That Benefits AWS Developers). Kira works in Python and has written the CloudStatus skill, which fetches status from the AWS services dashboard. She’s kindly agreed to answer some questions for Love My Echo’s audience.
I hope kids and teens who are interested in technology but have assumed coding is too difficult might be willing to give it a try after reading about Kira’s experiences.
1. What inspired you to write an Alexa skill?
I began Python programming a few years ago. My first teachers were Python For Kids by Jason R. Briggs (Amazon UK customers click here), my dad, Google, and StackOverflow. At first, the prospect of starting Python For Kids seemed frightening. But once I started working with it, I was hooked! The programs I made then were all text-based or graphic.
One January, an Alexa arrived under the Christmas tree. My family played around with it, with me moderately unnerved that I was asking a black cylinder in our living room to play music and quote movies.
When I heard that anyone could program this mysterious object, my first thought was probably: “This is going to be like Python text programming, but she speaks the information instead of displaying it.” Oh, boy! Was I in for an adventure! Although Alexa skills can be programmed in Python, Alexa does not give information and ask questions using the Python functions I was accustomed to. Instead, each Amazon Echo talks to Alexa skills in the Cloud, where input is processed and output is composed.
2. What do you feel was the biggest challenge or obstacle in creating your skill, and how did you overcome it?
When I first opened up an Alexa Skills Kit blueprint, nothing looked familiar except the strings and function declarations. My current understanding of the format of Alexa skills most certainly did not come all at once. The first lesson I had to learn was speech strings. How does that black cylinder know what to say? Then for the user input. How does it know what I’m trying to say? Later were the home cards. What if I don’t want to display anything in the Alexa app? And the debugging. I told my program to display the information I need, but this is voice interaction, so where is the information displayed?! Honestly, you just gotta play around with the template and try to figure it out, slow by slow. You can program quite a lot without full knowledge of all the ins and outs of an Alexa skill. That’s how I made CloudStatus!
Gah, testing… I currently have a thorough but taxing process for finding problems in the code I want to deploy. But I want to program, not spend all my time testing! I hope to make a program that automatically tests CloudStatus, then tells me if there are any problems.
3. Since writing the CloudStatus skill, are you more or less inclined to pursue additional software development projects?
CloudStatus was just another push into the unknown. I’m always nervous about learning a new type of development, but projects like CloudStatus always end up being super fun and giving me some new knowledge I can use for other projects. Since CloudStatus started, I have continued to program tools for schoolwork and other personal use, and plan to do so as long as I can type!
4. Other than the nuts and bolts of the Alexa Voice Service platform, what do you feel you’ve learned from this experience?
I am constantly being reminded that it truly is better to make fewer changes at a time. When I make lots of modifications without testing, more often than not I’m left with several bugs that refuse to be traced. And there go those hours of hard work. On a more positive note: if I make a tiny change, then a difficult bug appears, I can simply hit Ctrl+Z and try again!
I’m also learning to develop for other people. If others are using my Alexa skill, I have to keep the entire skill running smoothly, not just the parts I use. When I first started CloudStatus, it was just a project for my dad. Then he went and shared it with his coworkers. It made me so happy when I learned that a couple people are benefiting from something I created!
5. What would you say to other young people who have ideas for STEM (Science, Technology, Engineering and Mathematics) projects, but worry it will be too hard to pursue them?
For those who want to try programming, I’m sure there are many great books and websites out there. I personally enjoyed Python For Kids by Jason R. Briggs (Amazon UK customers click here) because it has organized lessons and encourages you to try code out for yourself. When I have the most random and specific programming questions, StackOverflow nearly always has answers. Trial-and-error is a wonderful resource too.
If you want to make an Alexa skill, take a look at Amazon’s instructions. Test out a skill template, then modify some strings and see if anything changes when you run the skill again. Now just play around, editing and testing the skill. If you break something, you’re doing well!
Once you have some idea of how Alexa development works, take a look at Amazon’s tips for voice design.
STEM projects can be challenging or even scary, but through the challenges you’ll learn so much and have so much fun! Just go ahead and start!
Thanks, Kira! And best of luck with your future development work.
* * *
The LIFX (A19) Wi-Fi Smart LED Light Bulb, Adjustable, Multicolor, Dimmable, No Hub Required, Works with Alexa (UK visitors click here) is a low-cost, no-commitment way to dip a toe into the smart home pool. There’s no hub or starter kit to buy, and the bulb works with any standard lamp fixture you’d ordinarily use with a regular bulb. Currently (as of 3/27/17) rated 4/5 stars across over 1,100 reviews and priced at $59.99.
Advertisements make it possible for Love My Echo to bring you great content for free, so thanks for your support.
* * *