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: snehilchouhan@gmail.com 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.