My wife is a Speech and Language Therapist who works with developing the speech in children. We love Alexa in our house and use it all day so we're thrilled that I could build a skill of my own. The skill is already established, having submitted it for the ISP Challenge last year, so here I used APLA to add animal sounds.
What it does
Alexa pretends to be an Animal, then it's up to the player to guess who she's pretending to be! She starts with a rhyming riddle, then moves onto the noise the animal makes, then fun fact based clues. Finally, if they haven't got it she gives them a multiple choice. All the while using the Alexa Presentation Language to show stunning habitats and animals.
We have thought hard about encouraging communication skills in young children. Alexa is a great tool for this as she's patient, repeats and she's consistent. As part of the skill specifically:
- Listening - The riddles rhyme so as to be engaging for ears young and old.
- Memory - To recall earlier clues and combine with later ones and deduce the animal.
- Turn Taking - Alexa models the key process of speaking in turn before giving the player a chance to guess.
- Building Vocabulary - Uses a variety of language to deepen the semantic knowledge of words.
- Clear Speech - The skill accepts common mispronunciations of animals (ie 'yion' for 'lion') and models the correct pronunciation.
- Visual Association - On Echo devices with screens, the skill associates the word with engaging pictures.
- Audio Association - The noise the animal makes is associated with the name
- Positive Reinforcement - Alexa encourages the player positively, there is no score keeping and no penalty for incorrect answers.
- Repetition - The format doesn't change, so each of the above is positively reinforced with each new play.
How I built it
I wrote the app in python using the Alexa Python Skills SDK and deployed with the Alexa SDK CLI. It utilises DynamoDB for the refdata storage (ie animal facts, packs etc). S3 stores the animal pictures, mp3s and logo media. Each of these are deployed in both US-East and EU-West for better experience across the different markets. I defined synonyms in the slots to facilitate multiple common mispronunciations of the words (ie Munti for Monkey, or Yion for Lion!). I also used APL for the visuals and APLA for the animal sounds.
Challenges I ran into
APLA is so bleeding edge that there is very little documentation, especially for the python sdk! That's ok though as the slack is responsive and the api is quite straightforward. Also the simulator would not render my APL images, but Alexa does...
Accomplishments that I'm proud of
I have a 4 month old baby daughter so finding time to do this has been near impossible, so the fact I have anything out in time for submission is a miracle!
What's next for What Animal Am I?
I would love for What Animal Am I? to be featured as a kids skill in the app, or even better, included in the kids pack in the states.