Alexa Skill development for Amazon Echos and other Alexa enabled devices has become a topic that more companies are starting to think about. Because of the rapid rise in use of Amazon Alexa, there is a gap between knowledgeable developers and demand for Alexa Skills. Amazon is making an attempt to fill this void by highlighting agencies that do development for Alexa Skills and Alexa development framework options to make it easier to build skills. This post was written to dig into several Alexa development framework options that are worth exploring for anyone looking to build an Alexa skill.
Alexa Skills Kit SDK
The main tool that Amazon is trying to get developers to use is the Alexa Skills Kit SDK (Software Development Kit) for Node.js. With this kit you use JavaScript to make your Alexa Skill work within AWS Lambda. This kit will help you build responses based on the requests that come from Alexa.
Amazon has created the Alexa Skills Kit SDK with the idea that people are going to use AWS completely to build Skills in AWS. There are options to use other AWS services in conjunction with your Skill and this kit will make that process quite a bit easier than programming that from scratch. This appears to be Amazon’s recommended way of starting, or at least the toolkit that Amazon themselves is promoting the most.
Click here to access the Github page for the Alexa Skills Kit SDK.
With the Alexa Skills Kit SDK by itself, it can be a little difficult to build and test the Alexa Skills that you want to create. There isn’t really any good testing tool, and you will have to make a Lambda function for your Skill and connect a development Alexa Skill before you can begin any testing. Each time you do an update in the code you will have to update the Lambda function and retry the Skill using your voice and the Amazon Echo. This might not seem that bad considering you are developing a skill that will use a real voice, but the time it takes to update for a minute code change can be quite frustrating.
Alexa-App
Another option, is the Alexa-App framework created by Matt Kruse. This framework is not affiliated with Amazon, but is starting to get a good following, and now has multiple people working on it. Matt Kruse has also created a testing tool called Alexa-app-server that is used to test your Alexa skills in a web browser with immediate feedback. This can greatly increase the speed of development for your Alexa Skill. Other people have started to work on parallel projects based on Matt’s original work and have created some tools that you might want to use depending on what you want your Skill to do.
Click here to access the Github page where this project is maintained.
The Alexa Skills Kit SDK and Alexa-App are the two Alexa development framework options that are most used and, in my opinion, should be the starting point for developers new to Amazon Alexa development. The next few are options that Amazon lists on their Agencies and Frameworks page, but would take some initial research to determine whether they will work for you.
Bespoken Tools
Bespoken Tools have recently started promoting their Alexa Skill development tools. Their tools are command line/terminal based and give developers the option to develop in multiple programming languages (Java, Python or JavaScript) where most of the other frameworks only allow one programming language (typically JavaScript). They also provide a development environment and deployment tools. This looks like it could be promising framework for developing Alexa Skills, but since it is fairly new it is probably worth testing out before fully committing your project to their tool set.
PullString
Another Alexa Development Framework that has a more inclusive tool set is PullString. This looks like it would be great for developers that want a conversational app on multiple platforms. Pullstring can help to develop apps for Messenger, Skype, Slack, Alexa and possibly others. If you plan on making your skill or conversational application work across multiple platforms, it is definitely worth checking out PullString.
Conversable
Amazon lists Conversable as a framework for developing Alexa Skills on Amazon’s Agencies and Frameworks page, but after further inspection it doesn’t seem to be quite as open as some of the other Alexa development frameworks. They have a good looking website, but since they don’t seem to have open documentation it is difficult to tell how useful their tools are. This is another one where it might be worth considering if you are building a cross platform application, but you will probably have to talk to their sales team before you investigate their framework and tools further.
How To Decide On An Alexa Development Framework
With Alexa Skills becoming popular and developer demand growing it is worth taking some time to decide on a tool set before committing to developing a new project. Depending on your needs and development experience there are multiple options that might work for you.
With Google Home and other conversational app platforms also on the rise you might be tempted to try and use one of the cross-platform tools. This might work for you, but you should also decide if you want to be locked into a certain framework, especially with how new and rapidly advancing Alexa development is in general.
My advice for people totally new to Alexa Skill development is to start with either the plain Alexa Skills Kit SDK or start with the Alexa-App framework and if your needs expand beyond what those tools have to offer then change your tool set at the time you need to. If you are already a seasoned Alexa Skill developer, and are considering making more complex applications that would benefit from being cross-platform then it might be worth spending some time investigating the other frameworks.
How boberdoo Can Help
If you have an idea for an Alexa skill but you don't want to build it yourself, we would be happy to help. Our developers have experience in not only Amazon Alexa skill development, but also mobile app development. If you'd like to discuss your options or even just scope your initial idea, please feel free to give us a call at 800-776-5646 or fill out the form below.