Alexa, the intelligent assistant which powers the Amazon Echo, Dot, Tap, FireTV, and Fire HD tablet, has the awesome ability to be extended. Large companies have already created custom skills, including Fidelity Investments, Lyft, Campbell's Soup and Dominos Pizza. It is through the Alexa Skills Kit (ASK) announced in June 2015 where third party developers can extend Alexa -- and it has changed the way all intelligent assistants must operate.
You create these skills as a web service, which is capable of taking a JSON payload and also of returning a JSON payload. You are responsible for hosting the web service you develop in the cloud. You can use Amazon Web Services (and Amazon has a free trial!), or you can use Microsoft Azure, and of course your own server will always work. You need to use a secure (https) connection, so take that into account when considering where to host your skill. AWS Lambda functions do not need a security certificate, but all other endpoints do.
There are three extension points or ways you can add to Alexa's capabilities.
The FIRST and number ONE is the creation of a #custom Skill. You create a special web service (one way is using AWS) which is called upon demand of your skill by the user, being routed through Amazons data center in the process. In developing a skill, you provide the voice commands and the logic to respond to those commands. It is up your web service to provide the appropriate functionality.
A custom skill is the most likely type of skill you will want to try when you are just staring out.
When you want a skill to become available to others, it must be submitted and approved by Amazon to become available publicly. Amazon ensures that skills follows appropriate guidelines. It usually only take a couple of days to have a skill approved (or not). Amazon wants to make sure there is a certain consistency in how skills are used and how those skills interact with users.
The SECOND way you can extend Alexa is by creating #smart Home Skills. This is where you go if you want to integrate a home automation product with Alexa Voice Control. This will let you interface your hardware to Alexa voice commands. You probably won't be writing this type of skill unless you work for a company which has cloud connected devices for sale. You will probably be responsible for writing the voice phrases and interfacing it into your own companies system.
The THIRD way you can boost Alexa is to provide daily content to customers with a #flash Briefing. A Flash Briefing is a feature of Alexa, in which the user can say "Alexa What's New?", and it responds with providing the latest news. You can stream audio or use text to speech to read a short message, all coming from RSS. This is the newest developer extension which has given Alexa new uses. Initially this daily briefing had choices of news sources like NPR or CNN. However, now third party developers can also be part of the daily news briefing.
You use the Flash Briefing Skill API to add this capability. You can provide content through streaming audio and you can also provide text content, which is converted to voice with text-to-speech and spoken by Alexa during the briefing. This is pretty exciting! In order to add to a daily briefing, you probably want to make sure you have enough fresh content to be updated daily.
The user must first opt-in to your flash daily briefing, and this is accomplished through the Alexa Companion App.
Your special daily briefing could provide news related to your site, it could play a podcast, or it could also provide the status of your users cloud content.
Here is a #BONUS fourth way to extend Alexa. That is by allowing your Skill to access the shopping and TO-DO list capabilities. Alexa comes with a built-in todo list and shopping list. The new List Skill API lets your App gain access to these items that the user has added to their lists. This is still in beta, and as a result requires one to submit an application. This could be an area that a new developer could create an amazing new App, and it could also be one where an App developer on mobile could now let Alexa be used to add information to a users list.
Background On Alexa Skill Development
The range of enhancements is just incredible. Although Alexa has over 7,000 skills developed for it, be forewarned that, like an App Store, there are many there that you are probably not interested in. For a while, Amazon had contests which would ask users to create a Quiz style skill. It was a template that developers could take and add their own questions and answers to. Because developers like free clothing, and because Amazon has offered free shits to developers who create skills, there resulted in a number of skills that might be interesting using them once, and that was it. However, there is a lot of different examples and there is obviously serious interest by developers to get involved in this technology.
Skills are opt-in, so a user must first enable your skill. Some skills require manually linking accounts which is a manual process and can be done in the Alexa Companion App (iOS, Android, or Web). Most skills don't need account linking, and can be carried out verbally with the command "Alexa, enable ThisNewSkill". To see the entire list of over 5000 skills which have been developed, you use the companion App.
Once your user has enabled your skill, they start by saying "Alexa, open ThisSkill", and (depending on the skill) can pass additional requests off at the same time, such as "Alexa, ask ThisSkill, What is the right color." Of course, whatever the user asks, is specific to the context of your skill.
For example, if you have a FitBit activity tracker, and track your steps, you can say "Alexa, ask FitBit, How Many Steps do I have?". She will tell your the number of steps, along with the time those steps were last updated.
However, that just means that now the opportunities are great for voice interaction. The technology is getting better daily, and some of these enhancements, like the daily briefing and the ability to add streaming audio have just shown up in the past couple of months. Now is the time how you can provide more value to your customers by adding an Alexa experience that ties into the back-end of your amazing product.