As soon as I got my Echo Show I started thinking about writing some video skills to take advantage of the new device platform. Based on reviews and online discussion groups it seemed like kids were particularly excited about the Show. I know kids love cartoons and there are plenty of old classic cartoons in the public domain, so I decided to write a Cartoon Player skill.

What it does

Cartoon Player offers 17 classic cartoons from the public domain (sourced from, a US Library of Congress cited source for public domain footage), all vetted to ensure they're kid-friendly and remastered for maximum video quality. Cartoons can be selected from the home screen by touch or by speaking the listed title or number. Requests can also be made by cartoon subject, and there's an option to have Alexa select a cartoon at random to play as well.

I knew from the start the requirements for a kids' skill would be demanding. Kids are unpredictable and can be easily frustrated, so ease of use and covering all the interaction bases would be crucial. My own kids are older now but I remember how they tended to have favorite cartoons and movies they liked to watch over and over, and that they didn't always remember the exact title of the video they wanted. I knew my skill would need to handle these two issues, and do it well.

To make it easy for kids to instantly access their favorites among the cartoons, I included the option to launch the skill by requesting a specific cartoon by name, number or subject, rather than having to launch the skill and make a home screen selection. This feature is shown in my demo video.

To address the problem of the littlest kids not remembering exact cartoon names, I did my best to include every possible version of each cartoon title and subject I could think of in my utterances file. For example, kids who want to see Betty Boop: Poor Cinderella can ask for "the Cinderella cartoon", "the pretty princess cartoon", or "Betty Boop cartoon". This is also shown in my demo video. By the time I was done my utterances file contained over 3,500 utterances!

How I built it

Cartoon Player is built in javascript by way of the Alexa SDK, which employs node. My code is hosted on Lambda and the cartoons are stored in an S3 repository.

Challenges I ran into

The biggest challenge in creating this skill was sourcing the public domain cartoons. There are LOTS of old classic cartoons in the public domain, but a great many of them are of poor quality or include subject matter or characterizations that are offensive by today's standards.

Accomplishments that I'm proud of, what I learned

I learned a lot in the process of building this skill. I had to learn how to edit and remaster the source videos, which was a new experience for me but is now another very useful skill in my toolbox. I had never used the touch-select Alexa skill display templates before either and it was very confusing at first, but once I'd figured out how element selection works I shared the solution in the AlexaDev Tuesday feature on my site to help out other devs facing the same challenge.

What's next for Cartoon Player

If Cartoon Player is well-received by users, I'll probably build more video jukebox skills in the future.

Built With

Share this project: