It’s time to Spell the Truth, Alexa
“Spell the Truth” is a slow-paced single-player spelling bee contest skill developed for Amazon Echo. The idea is that Alexa prompts you with words to spell and your goal is to correctly spell as many as you can in a row.
For those that don’t have an Echo to try it out, I’ll eventually upload a demo video just so you can get the gist of it.
A contestant is prompted with a word. Before beginning to spell, the contestant may ask to repeat the word or for a definition. Once spelling has begun, a definition can no longer be provided. The contestant spells the word, one letter at a time, waiting for a beep after each letter. They may say an individual letter, or a phrase like “T. As in tango.” The contestant says “finish” when they are done spelling and Alexa will confirm she heard correctly before the final evaluation.
My girlfriend had the idea for a live spelling bee game and I wanted to make it for her as a special gift. Conveniently, I had been playing with the Alexa Skills Kit due to a promotion where anyone could earn a free Echo Dot by submitting 3 skills. Given the vocal interface, I realized that it’d be a perfect platform to easily develop such a game.
I’ll admit, it wasn’t as easy as I thought. Creating an Alexa Skill from one of their starter templates was cake, but developing a custom game was daunting given the amount of unknowns. Their starter templates don’t answer enough questions to make the jump to a custom game and I really hope they’ll eventually add more complex examples. However, despite that, the bugs in the templates (like missing basic, required Intents like ‘StopIntents’), and the lack of actually owning an Echo it was still a reasonably fun experience.
Surprisingly, the most difficult part of making the game wasn’t actually the code, it was the voice interface design. I wreathed in silent pain listening to my user testers attempt to use the game in so many unintended ways. How does one gently guide users into using the application in the way the it was designed to be used and not the way they think it should be used, all without boring or overwhelming them? It was an iterative process of changing phrases, replacing words with more descriptive synonyms, and adjusting the timing of when information was given. I could do some more fine tuning still, but I think it’s good enough for now.
The skill is not completely what I imagined, mainly due to constraints on the accuracy of what Alexa can interpret from listening to individual letters. Obviously, letters like “B”, “D”, and “E” sound similar. Although, until this project I never realized how similar “S” and “F” sound, and to Alexa, apparently “O” and “L”. To get around this I added the ability to understand phrases like “B. As in bravo” much like the NATO phonetic alphabet. Yet, most folks don’t know the exact words used in that alphabet, so I opened it up so contestants can say anything, like “M. As in monkey.” I really think Amazon should add individual letters as a default input and provide this functionality natively, but I’m at least glad the system is flexible enough to make implementing these kind of things on your own pretty simple.
I also had to add individual letter confirmation, final confirmation, and the ability to correct letter spelling. I loathed adding the letter correction feature, as that defeats the whole purpose of a spelling bee simulator. “Hey, uh, spelling judge, that’s not what letter I meant to say, let me take that back.” However, it was necessary the make the game playable without yanking the Echo from the wall and throwing it out the window. I tried to at least hide the individual letter confirmation feature by having it only kick in once it’s needed (after Alexa mishears a spelling).
I really appreciate all the help from my friends. Thanks for all the feedback and constructive criticism (I’m still open to more!). Special thanks to Dory, for her professional pro-bono icons, you can see her website here: http://helloyellowbird.com.
While Spell the Truth is a little slow, and a bit clunky, it does get the job done! I hope it’s entertaining and that you enjoy it, if at most for a few minutes :)