You start by finding a bunch of Fluffy Friends in a basket
Inspiration came from my three kids - they are naturally curious, love to learn, love to play, and best of all love to learn in an entertaining way. They also all love Amazon Alexa and find it easy and helpful in a variety of ways. With multiple skills to do separate small things the experience can however be a bit fragmented and get a bit overwhelming for kids, so the goal was to create a skill that they could use in different ways and that would educate, engage and entertain them and to which they would want to go back every day - if not every hour - to experiment and learn new things.
How it works
The fundamental observation behind how the skill works is that you cannot really force children to learn - they need to want to learn. It is therefore crucial to create both an environment and tools that allow them to develop, and more importantly sustain, an interest in learning and exploring new things.
To create an educational skill that is truly for younger children, it's not enough to serve them factual content - you have to understand how they learn and find a way for the skill to facilitate learning.
Interactions with computers and machines in general are often emotionless. Children however focus and learn much better when there are positive emotions involved, when there is a sense of progress and achievement guided by sometimes subjective emotions and when they are praised for what they do.
This skill therefore tries to add more "emotion" and "personality" to interactions with Alexa in form of an adorable and charming Fluffy Friend which the child chooses, and with which he or she then explores the diverse educational content the skill has to offer. The child learns and develops together with the Fluffy Friend, which is from a psychological standpoint a more interactive equivalent of a child's favorite fluffy toy. The bond that the child forms with it makes it much easier to come back to the skill over and over again to check on the Fluffy Friend, make it happy, and learn with it a bit more.
What it does
As a child, you open the skill by saying "Alexa, open my fluffy friend"...
You start by selecting your lovely, cute and funny Fluffy Friend. Your goal is to take care of it and level it up. It's simple - your Fluffy Friend needs knowledge and fun to grow. Interact with it, find out what it needs, what it likes, and play along!
As you explore the rich content of this kids skill with your Fluffy Friend, you gain experience points and level up your Fluffy Friend. You can do a lot already from the start: play number games, practice times tables, listen to interactive stories, play quiz games or sing nursery rhymes together, and much more! At first your Fluffy Friend can only do a few simple things, but as it levels up it becomes able to do much more and the challenges become harder and more diverse. You will want to keep coming back to play with your Fluffy Friend to keep discovering and learning new things. Don't worry if you have to leave and come back later - your Fluffy Friend will be waiting for you, ready to pick up where you left it.
Here are a few things to try once you open the skill and choose your Fluffy Friend:
- Let's play a story
- What can you sing for me?
- Play an animal quiz
- Can we try a music quiz?
- Let's practice some math
- Play some music
- Practice my times tables
- Tell me a joke, please
- Do you like chocolate?
- What is my score?
- What can I do?
... and much, much more - listen to the hints and experiment.
Why kids love it and how do they benefit from using it
The way the skill interacts with kids stimulates their curiosity, keeps them engaged and willing to explore in order to find out new things it has to offer, and gives opportunities to test their knowledge of different things providing a sense of progress and accomplishment.
They start with easy tasks, but are quickly recognized, praised and rewarded for being able to do them well by leveling up and getting different and more difficult tasks. Quizzes, games and interactions are kept short, engaging and frequently changing, which makes the experience less repeatable and more diverse. Kids are free to "roam" around the skill, but are guided through the experience by frequent hints and suggestions of what they can do next so that they should never get stuck not knowing what to say.
At the same time kids form a certain emotional bond with the cute and likable Fluffy Friend which they are now responsible for in a way - this may be similar to having a real favorite toy, but the Alexa Fluffy Friend can interact with them in many more ways. The Fluffy Friend depends on the child to level it up through learning, experimenting and entertainment - which provides a sense of responsibility and at the same time educates the child. Kids want to go back to check on their Fluffy Friend often to see what it has to say, progress it further, and find out what new interactive options opened up. It becomes a process of continuous learning and development through fun.
Echo Show support
The skill is intended to work on any Amazon Echo device, or actually any device supporting Amazon Alexa, enabling full functionality and experience offered using the VUI.
However it has some additional support for the Echo Show. If you run it on Echo Show, you get the added bonus of seeing your Fluffy Friend, tracking your score on the screen, being able to read neatly formatted text and some additional graphical content. These are not necessary to use the skill, but do enhance the experience.
How I built it
The skill is written in Python. After running into the biggest challenge, which was kids not willing to follow any strict dialog rules, I created a custom dialog builder and natural language processing engine. Having done that, most content has been created without additional coding as an easily extensible dialog data model.
It also uses Amazon S3 for storing assets, Cloudfront for secure data access and distribution, and DynamoDB for storing progress.
Challenges I ran into and what I learned
The biggest challenge was the fact that, unlike many adults who would understand that communicating with essentially a machine requires a careful choice of vocabulary and syntax, children are often not easily willing to accept such rules. I learned that they try to communicate with the skill and answer even easy questions in a way that is sometimes hard to predict. Unlike adults, they would often keep repeating the same thing if Alexa does not understand it and not necessarily try to say it in a different way - and eventually be put off by not being understood. The trick was therefore to implement a flexible dialog processing engine which could correctly understand a variety of inputs, semantically similar but syntactically possibly quite different.
Another challenge was to keep the kids engaged. To do this:
- The skill has to avoid being repetitive. This has been achieved by a combination of pseudo-random choices, responses and behaviors of the fluffy friend, diverse activities, enabling new content while leveling up, and creating a lot of content in the first place.
- The interactions and tasks have to be reasonably challenging but achievable within a short time. Many children have a fairly short attention span and might give up if it takes too long to accomplish a task, or it gets too complicated. There also needs to be a way to retry and perfect the tasks. All this has been taken into account in the skill.
- Children need a certain amount of guided interaction so that they do not get stuck not knowing what to say next. This was achieved by a significant amount hints and suggestions provided at every point.
Accomplishments that I'm proud of
I am proud of the custom dialog builder and natural language processing engine I created - it makes defining diverse content so much easier and allows for the language flexibility required when communicating with children in particular. I am also proud of getting great involvement of my own kids while creating the skill, which indicates that it works :-)
I would like to thank my three wonderful sons and my wife who encouraged and assisted me throughout the project, provided valuable feedback and in general kept pointing me in the right direction. They also contributed by creating some of the concept art, which you can see using Echo Show, and helping to record the sounds used in the skill, including all the pieces of music. It would not have been the same without them.
What's next for My Fluffy Friend
Content, content and more content. Kids easily get bored if the interaction becomes repetitive, they constantly need new challenges and new things to do and learn. Using the dialog processing engine I implemented it is fairly easy to add new content and quite complex interactions without any coding - so if the skill becomes successful, I will keep adding new things to do. One day it might even become a powerful teaching assistant tool.