Like a lot of suckers, I tend to get sucked in during Black Friday and buy lots of useless things that I probably don't need.  This year I saw the Amazon Echo Dot on sale for $39.99 and decided to buy it.  Before I bought it, I really thought of it as some cheap gimmicky gadget I'd probably use a few times, get bored of it and then watch it gather dust in a corner.  After all, voice activated apps, like Siri and Cortana have been out for a while.  Personally I've never used any of them, or wanted to.

After setting up the Echo and using it for an hour, it seems obvious to me that the Echo will take over our lives in a similar fashion mobiles did when the iPhone 3 came out.  Let me explain why; currently, the things you can do with the Echo is fairly basic, if you have Spotify Premium you can ask it to play songs, it can play any Radio channel you want, it can add things to your calendar.  I work from a home office 2 days a week and being able to turn off the music by voice when a phone call comes in, without having to worry about finding my phone and opening Spotify on my PC at the same time, is something which is actually useful.

The main reason that the Echo is something you should take note of though, are 'Skills'.  Like the App store, the Echo has a 'Skills' store where you can download third-party apps built by developers that add new 'Skills' to your Dot.  At the minute, the 'Skills' store has about 75 apps in the store, some useful, some not so much.  

My favourite so far is the 'call my phone feature'.  You can install the phone finder app on your phone, install the matching skill on your Echo and with some quick configuration, your Echo is paired to your phone.  I tend to misplace my phone in my home a lot, now instead of turning over cushions and throwing everything on the floor in a rage, I can ask Alexa to call my phone and it starts ringing. This feature isn't exactly groundbreaking, writing the code for it could be done in a day or so, however, it's so useful and it works so smoothly, you kind of think, how did I live before this?  

The Dot's voice recognition is excellent, it can hear your voice from the other side of the room with the TV on.  Everything I've tested so far works really well. The point of this post isn't a plug to go out and buy one, it is however, a nudge to potentially help you make money. I think there's a real opportunity here for developers who are quick to get in on the ground floor and start writing Echo applications.  When the iPhone App store came out, stay at home developers made millions by creating simple apps, like the Farting App, or the Bubble Wrap app.  

It wasn't until proper companies came in and started making killer apps that the gimmicky ones died off. The dot will provide a similar opportunity for people who are quick to market now.  The 'Skills' store definitely has the same gimmicky apps that the iPhone had when it started. There are endless ideas for new apps to integrate with the Echo.  

The evening I brought the Echo I came up with about 20 'Skill' ideas.   Some of the more useful skills would require hardware integrations and would be more suited to big organizations that currently manufacture things.  One app I could see being useful is for cooking.  If you've ever had to cook a large meal for several people, you often have several things cooking away at the same time.  Being able to control your oven hob by talking to it when your hands are full would make life easier.  

Another useful skill would be to completely replace my TV remote control.  Just like my phone, I seem to misplace the remote.. a lot.  Being able to ask Alexa what's on the TV and changing channels would save me hours of searching for the remote. Obviously, not all apps would need hardware interaction.  I live in London and I often need to get to somewhere I've never been to before. Asking Alexa to find the quickest way to get somewhere from my flat would be quicker than typing it into my phone and I could do it while I was getting ready.  You could even tie in the Echo with Visual studio so you could get Visual Studio to debug your code when you've got up to make a coffee.

Creating a custom skill in Alexa can be done in two main ways.  The first involves using AWS Lambda.  I've yet to use Lambda but it's a service that allows you to run code in the cloud.  It works with Java, Node.js or Python.  As I don't specialize in any of these, the second option is the one that is more appealing to me... a web service option.  

If you host a service in Azure that takes any necessary actions and sends back the correct response then you can use any flavor of .NET.  If you are like me, when iPhone Apps came out, I couldn't spare the time to learn a new language.  Being able to use C# means that any developer who can write a web service and has a bit of imagination can start writing Skills for Alexa quickly and easily. The number of possible Skills is definitely a lot more than 75 apps, so now's the perfect time to get in ahead of the curb.