The Ultimate Guide on How to Build Alexa Skills
Voice assistants provides a lot more than we think, whether it is setting up quick reminder or ordering food, users can get things done a lot faster and easily than a mobile app, and hence Voice technology is going to be next big thing. Amazon Alexa lead it and have 73% market share in 2018. There is lot more you can do with Alexa, here is list of Top 10 things you can try with your Alexa device. In various predictions we see that by 2020 50% of all searches will be Voice Search. Each year Alexa is setting high selling records on Amazon. It also becomes #1 Top Free app on Google Play and Apple App Store, as it requires mobile app to setup Alexa first time. Not only echo devices but various other smart home devices that are in top selling list are Alexa enabled devices.6 reasons why voice will be next big thing :
1] It has capability to do almost everything and anything that can be done using Mobile app: As it has capability to develop custom skills, we can develop skills and can connect it to our existing database and with code we can perform almost any operation that can be done with website or mobile app.
2] Quickest way of choosing any internal option for example: if user wants to check his next day’s meetings schedule, he will not need to go through any options/tap one by one. Instead user can directly access by single voice command.
3] Handsfree experience and multitasking: User can get things done while doing other task like operating something, cooking, reading, exercising, cleaning, driving car etc.
4] It gives user option to perform task and be away from screen, it is beneficial for eyes, eyes conscious people prefer voice assistants over screen based devices..
5] Most natural way of communicating with computers: old age people who find it difficult to learn to use smart phone, voice command prove to be easiest thing, as it is most natural way communicating.
6] The best choice over smartphone for Blind and Hand disabled people: As we are discussing voice assistants can perform any task that smartphone does and hence it is best for blind and hand disabled people they do not need to struggle or try for using screen based device for getting any info and various other tasks.
Going to build Alexa Skill? Work on your idea: So you have an amazing idea and want to build Alexa Skill for it. Now time is to start work on it. Most important thing to take first step and move ahead step by step. First we need to identify need of skill. and start creating document to list out major points. Check out your competitors: Go through Amazon Alexa Skill Store on web or on Mobile and check skills related to your idea, and figure out how can your idea be better? or which special feature can you provide to users? Target Audience: As voice is most natural way of communication, there are almost all age of users, from young to old. we can figure out our audience, some skills are completely designed for kids like learning game and some skills to provide help to elders. General skill can have large audience, skills which can be used by anyone. Choose right team: Now you have Idea and you have checked market. Its time to start building it. Choosing right team is most crucial part. Alexa Skill development being quite new field, there are not so many developers and agencies like we see in Web or Mobile app development. While developing any application there are so many important factors that we need to focus on, apart from technical expertise, we need to check if team really cares about providing us best solution with proper support. Here is my answer to one question important points to focus on while hiring for development project its general points fits everywhere. Want to generate money from your Skill: Amazon provide In-Skill purchase feature and now there is Consumable using which we can provide repetitive payment option, some digital service/product which user can buy, use and buy again. Things to focus on while building Alexa Skill: Focusing on below points will ensure great VUI (Voice User Interface). Skill should have great VUI, it depends on various factors, users should not be forced to listen long content, users should get right help at right time, skill should be able to provide proper data suitable to user, skill’s flow should feel like real conversation not like any old customer service phone call.
1] Invocation Name: Invocation name is used for invoking skill (to start our Alexa skill/app). This must be very clear and meaningful, and something that user can remember, as user needs to call skill’s name to open it. Ideally skill name should be of two words and matching with complete invocation sentence for eg. Alexa, Open Peace World. Here “Peace World” is invocation name. There can be few different words that can be used in place of “Open” like Ask [which is widely used], Begin, Do, Launch, Load etc.
2] Intent: Your technical team may use this word, here Intents we can say like each function that our skill will perform. So users can call different Intents to perform different functions. For eg. if any skill does Turn on/off light. So it can have one Intent for Turn on/off light and one Intent for Adding new user.
3] Utterances: Utterances are synonyms of sentence which we have for calling different Intents. While building Alexa Skill there is option to write utterance manually, these utterance are sentence which user can tell to go to particular intent, or to open particular stage inside our skill. We should write as many utterance as possible. We can take example of one skill, I am developing for hotel, there we have various option that user can ask, if user have to ask for breakfast hours, utterances can be:
What are the breakfast hours?
What time does the breakfast service start?
When is breakfast?
What time does the breakfast service end?
Please let me know the hours of breakfast
What are breakfast hours each morning?
Although Alexa automatically understands similar or matching sentences but it is good to provide many utterances.
4] Music: This part is most important in Alexa skill and unlike mobile app Alexa is based on voice and hence music plays important role. Starting skill with nice music and playing appropriate music on different stage makes skill more compelling and nice to hear. You can find free music files or you can hire someone to create custom music for you.
5] Technical Aspects: Check details below Photo by James McDonald on Unsplash While Publishing your Alexa Skill:
a) Beta Test: Amazon Developer console now has new option Beta Test which allows us to share our skill with other before publishing and we can keep editing our skill while beta test. To Enable beta test Go to Distribution option on your In Development skill
b) Be Clear with What Skill can do, so users can set correct expectations
c) Skill should encourage users to leave review so you can know what users are expecting from skill
d) Stay up to date with latest Voice technology and implement skill in best possible way and keep improving it, Voice technology is still emerging and will emerge rapidly over the next years, skill will need to keep update as well.
TECHNICAL ASPECTS: Designing for Voice is very different than designing for screen. We should not think its flow, interaction with user like we think while developing mobile app or website. Instead the best way to design for Alexa skill is to just to practice real conversation like Alexa Skill will initiate when user will tell “this” invocation sentence then what will be response of Alexa and so on. Here is one example diagram, for flow we can design any kind of similar diagram: Rough Alexa Skill flow designed by Optimum Technical Labs LLP Designing a initial rough flow like above helps a lot in making whole scenario clear. One good thing with Alexa Skills is that users never have to download any skill as it runs completely on cloud, users only need to enable skill. Now comes the actual development part, Amazon provides ASK(Alexa Skill Kit) using which we can develop Skills for Alexa, for developing any custom Alexa Skill there are majorly two sections:
1] Amazon Developer Console: Amazon Developer Console has Alexa Skills section and it has good GUI. It is required to publish any Alexa Skill and it contains information about Invocation name, Intents, Utterances, Endpoint. From here we can Distribute skill and can also set Beta test, can invite team members or anyone to do Beta test.
2] Backend: Backend/Endpoint of Alexa Skill, as complete Alexa Skill always runs on Cloud, each and every Alexa Skill requires Endpoint. For this we have two options, we can either create endpoint on AWS Lambda or on Own Server.
a) AWS Lambda provides ready to go setup and hence it can be faster. We do not need to create SSL secured server.
b) Own Server: In this case, we require to have https SSL enable server running on port 443 only, and we can use Flask or any other framework to act as server. Server will have to handle JSON requests from Alexa and will have to provide JSON response. Both AWS and Own server will do same work internally.
Functions & Features : In this part each skill will differ. It depends on features you want in your skill.
It can be: Normal question and answer or if we want to implement some conversation capability or if we want to connect it to our existing system to our database to provide valuable information to user. or if it is a game it will include story telling, conversation, music on proper steps etc. or if the skill is for internal use of Business then we will need to use Alexa for business
Pricing & Budget: It will almost fully depend on Function & Features we want, as mentioned above. Another major factor on which Pricing depends is to whom you hire, whether they are big agency or team or single developer.
A good Alexa Skill Development team should have : Voice User Interface designer Developer (Python/Node.js etc) Quality Assurance Engineer Project Manager Now that you saw all those details about Alexa Skill Development, you may want to hire professional or team to build your Alexa Skill. I would like to help in providing solution, you can drop enquiry and we can discuss details and suggestions to create better Alexa Skill. We have proper process and team to develop Alexa Skill with great standards. I hope that I have covered almost everything you need to know to start building your own Alexa Skill. If you have any doubts/queries/suggestions, please let me know in comments, I will surely reply. and don’t forget to Clap, if you like this article :) — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — - I am Snehil, CEO of Optimum Technical Labs LLP, feel free to reach out to me via Skype: snehilchouhan, Email: firstname.lastname@example.org or LinkedIn Optimum Technical Labs LLP team works on Mobile app and Alexa Skills development, we have number of happy Clients and nice portfolio, Please reach out for any project enquiry. We would love to help you and will provide suggestions.
Get in touch with us.