Want to find out what the Amazon (NASDAQ: AMZN) Alexa Voice Service is all about? Now, Amazon is empowering developers to give Alexa a try thanks to its Echoism.io Alexa skill testing tool.
Echoism.io enables any developer with an Amazon account to start asking Alexa questions any time they choice.
Thus, Echoism.io may help developers better understand how Alexa works and lead new developers to create Alexa-powered apps.
What does Alexa offer developers?
Imagine what it would be like to add voice capabilities to an app, making it quick and simple for users to control the app hands-free at any time. With Alexa, developers can move one step closer to transforming this dream into a reality, especially if they understand how the voice service operates.
Alexa is a cloud-based service that is designed to "get better over time," according to Amazon.
It currently operates as the brain behind Echo, a.k.a. Amazon's voice-controlled, hands-free speaker, and helps Echo adapt to a user's speech patterns, vocabulary and personal preferences.
Thanks to Echoism.io, developers can test voice apps using Alexa capabilities. Therefore, they could move closer to creating innovative apps that leverage Alexa technology.
But even though Echoism.io represents a viable option for developers to test voice apps, it may pale in comparison to using Echo or other Alexa-powered devices to optimize their offerings.
"While Amazon has made some simulations available to test your applications, it's best to have an actual device," William Klos, senior engineer and cloud services lead at technology consulting and solutions provider Centric Consulting, told FierceDeveloper. "Just like developing mobile applications using the software simulator, there's just some things you can't grasp and refine without the actual hardware in hand."
Should developers explore Alexa development?
Alexa development provides a new opportunity for developers, one that could generate significant interest for years to come.
Fortunately, Amazon has provided many tools to help developers utilize Alexa as well.
In addition to Echoism.io, Amazon offers an Alexa Skills Kit that allows developers to teach Alexa new skills.
The skills kit enables developers to "create a cloud-based service that handles the requests for the skill type and host it in the cloud," Amazon noted.
Brian Anderson, senior technical consultant at digital engineering firm Solstice, noted Alexa offers two different skill types: custom and smart home.
He suggested developers become familiar with both skill types to "take full advantage of the context in which you'd like a skill to operate."
"When working with a connected 'smart home' device, identifying the difference between these skills allows a user to generically say, 'Alexa, turn off my living room light,' to turn off their Philips Hue light bulb versus having to provide a custom invocation name which would force a user to say something like, 'Alexa, ask Philips Hue to turn off my living room light.' The difference here is subtle but is just a small example of how important it is to get the right customer experience when dealing with voice platforms," Anderson told FierceDeveloper.
What does it take to develop for Alexa?
There are many ways that developers can simplify the Alexa app development process, including:
1. Understand the ins and outs of Alexa
Sample Alexa use with Echo device. (Source: Alexa Skills Kit)
Amazon offers documentation designed to help developers learn the ins and outs of Alexa, and those who take advantage of this content will be better equipped to maximize the value of Alexa.
Furthermore, developers should recognize how Alexa interprets voice commands and tailor their apps accordingly.
"Understand how Alexa interprets words and how she pronounces them," Klos said. "Your applications will need to spend a lot of cycles matching what was said by your users with the data you have stored. You will be keeping a dictionary of Soundex, Metaphone or similar phonetic libraries and performing lookups on your data based on how words sound versus how they're spelled. Likewise, you will need to coerce proper pronunciation from Alexa especially if you're using a lot of acronyms and industry or technical jargon."
2. Try to avoid one-dimensional apps
Voice capabilities represent an added component that will help developers transform an ordinary app into an exceptional one.
However, developers should remain focused on overall app functionality and user experience to ensure their apps continue to meet users' needs.
"The most useful voice apps will likely have other components to round out the functionality," Klos said. "Like a mobile app with no back-end or stage capabilities is essentially solitaire – a voice app with no other interaction avenues is essentially a monologue. So when planning an application with a voice component, realize that there will be other activities and tasks that need to be considered as well."
3. Take advantage of Amazon Web Services Lambda
AWS Lambda allows users to run code without provisioning or managing servers and pay only for the compute time they use, making it exceedingly valuable for Alexa developers.
Anderson noted Lambda serves as the most common way of implementing an Alexa skill. As such, he recommended developers learn how to use Lambda so they can optimize its value.
"Lambda skills can be developed in Java, Python or Node and uploaded via a zip file (or some other automated process) to Lambda so that developers can use all of their favorite packages, get the advantage of working with a versioning control system, create modular code for reuse and, overall, just be in a familiar development environment," Anderson pointed out.
Top image of Alexa-capable devices, including Fire TV and Echo, courtesy of Amazon.com.