I’m still a fan of AWS as I believe it is the best enabler of independent web development. You can complain about lock-in, but developers can create sophisticated applications using just the pay-per-use services and experiment with solutions without much up front cost.
One of the services that has received a lot of attention lately is Amazon Alexa. The voice service allows developers to create “skills” which extend the capabilites of Alexa and what it can respond to.
At the beginning of the summer my youngest daughter wanted to experiment with Alexa. She had the idea that she wanted to be able to ask it for puns and jokes. Of course Alexa already has those built in, but my daughter wanted specific puns and jokes that she likes. Summer came and is almost gone and with vacations, camps, and new jobs we didn’t get a chance to develop anything, but she still has the desire to build something.
As a geek dad I have to help her learn how to build this thing. So my learning and documenting project is to gain a deep enough understanding of Alexa Skill development to be able teach her hopefully during her Christmas break. I also hope to be able to package this into a course or book. To do this I will have to add more value than the typical AWS/Alexa Developer Console point and click tutorial.
I’m hoping to build something that is largely, if not completely, driven through the CLI. I also plan to dive deeply into the schema and interaction models. These are glossed over in all the tutorials I’ve seen, but from what I’ve learned so far, you can’t really understand what’s going on with a Skill unless you understand those things. Finally, I plan to show how to create an AWS CodePipeline that can auto-deploy the skill when changes are made and committed to a CodeCommit repository.
One of my biggest problems when I learn a new AWS service is that the vast majority of the tutorials give you an overview of the service via the AWS Console and leave you struggling as to how you would ever integrate it into an honest to goodness development cycle. As I learn and teach various aspects of AWS this will always be my focus.