Lesson learned from Amazon Echo: Don't turn customers into developers

Don't depend on your user community to bring in core functionality for your IoT device.

Image: ZDNet

Yesterday, I was trying to do something with my Amazon Echo that I thought was core functionality -- have it play white noise/music tracks on a continuous loop.

You would think that a smart speaker that accepted voice commands would do something like this natively, not with a playlist and loop command workaround like I used.

Yeah, it works, but it isn't ideal.

Amazon releases Smart Home API for Alexa: Developers, get ready to add 'skills'

Amazon's Alexa line of products will soon get new home automation skills thanks to the release of an API by the company.

Read More

Ideally, you should be able to say something along the lines of "Alexa, bedtime" and it should loop a designated playlist or white noise track that you can pick from a pre-populated list within the Amazon Alexa smartphone app or preview using a voice command.

Even better it should be a predefined drag-and-drop visual macro in the Alexa app itself that triggers different actions, such as bringing the lights down in your bedroom if you have connected devices (like Hue or WeMo) and takes additional actions if necessary, such as arming your alarm system and setting your NEST to a cooler temperature.

I looked at the Alexa Skills in the official Alexa app to see if anyone had published something that did something like this. Nothing.

I contemplated writing an Alexa skill myself that would do this. After spending an hour poring through the documentation/sample apps and realizing that I didn't feel like spending a weekend or more writing code in Node.js I said to heck with it.

I'll just live with my crummy playlist and loop hack. I consider myself a reasonably smart guy with heavy systems integration background but I'm no coder.

Most of the skills in that Alexa Skills Library are written by other IoT device manufacturers or companies that run web services they want to promote. There's also currently no way to directly monetize an Alexa skill.

So you either do it for fame and glory or you've got something else you want to integrate with the Echo that you can sell.

That's not only a crummy way to build an application ecosystem but it's also an excellent way to piss off your end-users.

There seems to be a trend with IoT to want to make your end-users into your core developer ecosystem. I think this is a very geek-oriented and arrogant Silicon Valley-gestated mindset that flies in the face of how traditional consumers interact with products.

This is not to say that services like IFTTT, for example, aren't useful. They are incredibly useful, and IFTTT is an example of a web service that does a great job of bringing complex task integration to devices in ways human beings can easily understand, without having to write actual code.

But having to set up an AWS account and host JavaScript apps on Lambda (which costs money) to do simple end-user stuff is just dumb.

Amazon Alexa clearly needs some kind of click-and-choose macro interface similar to IFTTT that allows similar types of function recipes, such as my "Bedtime" command to be executed.

Consumers are Consumers, and Developers are Developers. I think you can expect a very small subset of your consumers to become developers, but crowd-sourcing key functionality and then expecting your consumers to go Captain Codebuster to fill major usability gaps is idiocy.

Does Amazon Alexa need an IFTTT-like macro interface? Talk Back and Let Me Know.