Hey Alexa, ask gem dealer to update me about gold rates for today!
Either you call ‘necessity is the mother of invention’ or ‘if there’s a will, there’s a way’ — you need to get things done the right way. It has been almost a month I received my Alexa Echo Dot (which I bought for $29 from Amazon) just to play around and see how (and why) it has become a buzz word in the technological paradigm of voice assistants.
As I was pretty much optimistic about its features and functionality, I kicked off my conversation by asking ‘What’s the weather here’ and it ended up telling me the weather about WestLake, US (while I was in Bahrain). After hearing this, I straight away came to one conclusion and that is, Alexa is not localized at all.
This is not a negative aspect but a limitation. Limitation in this case that it doesn’t support all the countries around the globe. It is best for those locations which are supported esp. United States and United Kingdom.
However, with this limitation, comes a lot of good opportunities for the local developers. You can build up some coolest stuff by globalizing the scope of your skill. For instance, you need to find out the Movie Timings, Local Food Promotions and so on.
As I introduced Alexa to my wife as a cool, intelligent and smart device, she straightaway asked some of the basic questions from Alexa and it wasn’t able to answer a few of them. I would classify them into 3 different categories;
- Not understood what she meant – it means Alexa could not detect the correct words (accent problem, I assume)
- No information about the said topic – when asked about poems to play for our 11 months old
- Responded well – when Alexa has enough knowledge on this
I can’t do much to make point 1 better so I thought to dig into the 2nd one. Out of so many questions, one of the them which Alexa could not answer was about the gold price (or gold rates) therefore, I thought to develop a skill myself so everybody else could also use it.
I have been using Language Understanding Intelligent Service (LUIS) and a little bit of IBM Watson Conversation service, I am aware of the basic technicalities involved in such conversational APIs.
As my skill is a simple one and I am quite new to this platform therefore, if you think I am wrong at some point about Alexa, please highlight and give me a chance to say thank you
This week I spent my spare time working with Alexa and I have found out below;
- You can create an Alexa skill using C# (and Node.js too) as it supports .NET Core 1.0
- Easy way to integrate with AWS Cloud
- No external IDE / Console required (Visual Studio works very well)
- No way to debug the skill, this is something extremely important when you want to test your skill
- No way to test your interaction model — this is a much required feature
- No support for .NET Core 1.1 / .NET Standard > 1.6 (which is why you can’t use a lot of latest C# libraries)
Just to make it more simpler, I have compared Alexa’s interaction model with LUIS below;
|Language Understanding Intelligent Service (LUIS)||Alexa|
|Ability to test even without the service (code)||Not able to test without an actual code|
|No need to mention explicitly in the utterances about ‘Intent Name’||It is always recommended to enter IntentName at the start of the utterance|
|If an intent is not identified, it goes to NONE intent||There is no NONE intent, if your app has only 1 intent, everything will fall into the same|
|Lack of required entities (slots)||Required slots (entities) exist here|
|Lack of confirmation prompt||Confirmation prompt for intents involving critical information|
|Staging deployment is present||No staging deployment|
Every platform has some merits and demerits. I can’t recommend one on the other as it totally depends upon your use-cases. In short, my word is, if you’re looking forward to voice assistants, then of course Alexa takes the lead however, if you’re looking for something for enterprise level (bots and other services) then of course, LUIS should be your choice!