Alexa is a 'smart' personal assistant made available to the public by the Amazon Echo in 2015 offering voice-driven applications that can be enabled to provide a whole host of information and run a range of tasks.
Amazon offers plenty of skills (voice-enabled apps) ranging from news, travel planners and smart home skills to bedtime stories for children, fun facts and games.
Through the Echo, Alexa can perform various tasks such as play music, look up the weather, turn your heating up or down and even (if configured correctly) make you a cup of tea in the morning...well boil the kettle anyway.
Read next: 18 best browser add-ons for developers.
How to create an Amazon Alexa skill: What is an Alexa Skill?
Simply, an Alexa skills is a voice activated command that alerts Amazon's Alexa-enabled devices such as the Echo, Dot and the Amazon Fire TV remote (to name a few), prompting a response that depending on the request. This could mean that the device searches the internet for an answer or performs a tasks such as playing a playlist.
For example, a common Alexa command is "Alexa, set an alarm for 8.30am". This is possible through an alarm 'skill'. Similarly, you could ask, "Alexa, what will the weather be like tomorrow?", in which Alexa will search the internet for the information you need.
How to create an Amazon Alexa skill: Amazon's Alexa Skills Kit
Amazon offers a relatively easy way to create Alexa Skills via its free to use toolkit. Ultimately all Alexa skills have to go through Amazon to make it on to the store and become enabled on Alexa-devices so in most cases it will probably be easier to use Amazon's official toolkit, but of course for the adventurous there are other ways to create an Alexa skill.
The Alexa Skills Kit offers self-service APIs, tools and documentation to help developers create Alexa skills quickly.
Developers can build, test and publish Alexa skills to add to Alexa enabled devices, all from within this platform.
Amazon also provides its Smart Home Skill API platform for developers looking to create a skill such as smart lighting controls, heating management or more general smart home devices, all from within the cloud.
The documentation provided by Amazon is pretty extensive with a starter guide, checklist and case studies all available online. Amazon even claims that developers could build a skill in 60 minutes, as long as it's a trivia or fact-based skill.
For those just dipping their toe in the water, Amazon provides templates for quick skills such as 'fact of the day' or flash cards.
Beyond that, developers can split their skill creation into three steps (although really it's more like eight). Developers must design the voice interface, create the framework to manage user requests, then provide sample phrases for Alexa to respond to requests with.
Next, you must code and set up the skills in the AWS Lambda cloud and review the code. Amazon will actually let you set up the skill in another cloud-based hosting platform, which is ideal for those running a non-AWS shop.
Finally, you'll need to submit your skill to the developer portal, test it and wait for Amazon to provide certification.
How to create an Amazon Alexa skill: Third-party sites
For aspiring developers or for those lacking experienced programming knowledge there are programmes offering a code-light way to create an Alexa skill. And while there isn't yet a flurry of third-party tools, some sites work with Amazon to make the whole process easier.
Losant provides a workflow dashboard that claims to be able to produce Alexa skills without any coding.
By using Losant's visual workflow engine, you can create a 'webhook' to trigger workflow applications via HTTP requests and add query and path parameters.
You can create a workflow with Losant by dragging and dropping the responses you'd like Alexa to use and the flow the task will take, from question to option to response.
For a detailed step-by-step guide, see here.