TFT: Alexa Edition

Building an Alexa Skill

Building an Alexa Skill

What Have I Done?

I have taken on a challenge.  Although part of a larger, marketing challenge, this is really a logic and programming challenge.  I am building an Alexa Skill.  It is Twisted Fairy Tales: Alexa Edition.

For those of you not familiar with my book, Twisted Fairy Tales, a while back I wrote a collection of stories based on old fairy tales that are very crude.  The stories are immature, dirty, filled with drug references that I think are hilarious.  And while it is the most embarrassing thing that I have written, it is also my best-selling book.

Marketing as an Indie

As an indie author, I’m always looking for new marketing avenues.  The most popular marketing spots for authors are pretty plugged up, making it highly competitive and difficult to see a positive return on any money spent.  I’ve had success here and there but it isn’t consistent.

When I purchased an Amazon Echo, I saw an opportunity for a space that wasn’t nearly as bloated.  Plus, if you use the right tools, it’s free to create skills for Alexa.  And if you’re careful, you can promote your product.  For free.

I think this space will never be as competitive for writers.  Here are my reasons:

  1. Building an Alexa skill will require some computer and programming knowledge.
  2. You have to write something unique and interactive.
  3. It is difficult to make money from the skill itself.

Path to Creation

Amazon is funny.  To make interactive stories, they once provided (or maybe it is still available) a story maker.  Either I’m not smart enough to get it working, or I was not smart enough to give up on it sooner.  I’m not sure which.  I spent hours upon hours trying to get the Node.js project working but I believe that it is too far out of date to work properly.  So, that was a bummer.

Then I tried their Twine story… reader?  I guess that’s what it is. What happens is you create a story using the Twine 2 / Harlow engine (which is pretty frickin’ amazing in itself).  You then set up the project in Alexa Skills Builder and AWS.  And that’s it.  You have a branching story skill.  I set up a fun little Christmas story for my kids using this tool, and it turned out all right.  The kids really enjoyed it.  But there are several limitations.  Alexa only reads the Twine story for the text and decision tree.  It wouldn’t carry any logic from the story that I wanted to incorporate.  Plus, setting up synonyms for any one decision was going to pose a problem.  On top of that, global commands and failed utterances were going to be very difficult to incorporate.  Basic logic, I can program.  Finding a way to parse that logic into the .json file, I cannot.  So, the Twine 2 method, while an enjoyable experience for the children’s story, would not suffice for a commercial product.

Settling on a Platform

After that, I decided that I would seek out a drag and drop builder.  There are a few options out there but for what I wanted to do, the clear winner was Voice Apps.  Run by Jeff Bolton, Voice Apps is incredible.  It has a beautiful flow to it that breaks down each interaction in a way that makes sense.  It has an incredible array of features that lets you build nearly anything you can think of.  And it’s growing.  They are constantly adding to the engine.

So, while I struggle to make sense of my own story tree, adding extras things like the user’s name to the story is simple.  I couldn’t have done that with Twine 2.  I will even be able to easily add additional characters to the game and have them travel with the main character, without creating entirely new story branches.  Thank you, Jeff!

Right now, my only hope is that Voice Apps adds Amazon Pay to their list of supported features sooner than later.  Allowing users to purchase my book in-skill would be a huge benefit.  So, finger crossed!

And no, I’m not getting paid to advertise Voice Apps.  It’s just such a great tool.

Story Tree and My Head

The real problem with creating a choose your own adventure, for me, is the story tree.  I’m the kind of guy that will be driving down a road and jolt with the thought that I have no idea where I am going.  (Early Alzheimer’s?)  I can get lost creating subplots during a regular novel.  Now, I’m attempting to creating a branching story.  Each time the user makes a decision, which is pretty much all the time, the story branches.  Some of the paths lead back to another part in the story but many of them just go in their own direction.  Right now, I think I have forty different paths and only half of them are resolved.  Ideally, one path will take you through the entire story, but I don’t know if that’s going to work yet.

All other problems aside, this one will require the most focus from me.  I fear that I will release the skill and everyone will end up taking a path that is unresolved.  It’s going to require a lot of coffee to work through the branches.

The Story Itself

I have done some writing.  I like working with fairy tales as source material and the story is going quite smoothly.  It is strange, however, keeping the text so clean.  Amazon won’t let Alexa say anything too raunchy, a fact which requires constant reminding.  I even put a sticky note on my desktop as a reminder.

In conclusion, I’m not sure how long the skill will take to create.  It is a lot of work.  There is no guarantee that it will be successful in any way, except for one.  I enjoy a challenge where I get to learn new things and this is definitely a learning challenge.  Regardless of its success as a skill or promotional tool, I am glad to be building an Alexa skill.