Week 6: Playing with Alexa and Google Home

Code Repo


Overview: This week I decided to play with Amazon Alexa and Google Home. Mostly just looking at tools and possible frameworks that you can use it with. There’s a good site called echosim.io that is a web version of Alexa, and which allows you to test out some of your skills. Google Home allows you to test right in its api console api.ai.

Comparisons: In Alexa’s case tho I wanted to try some bot to bot chatting. So I made a small app for Alexa that can ask Siri some questions, which works surprisingly well, as long as your phone is next to the speaker. You can, indeed get a bot chat going if you so desire.

My hope with Alexa was to get it responding to wild card utterences. But to do this you really need to be able to set a default response, which oddly, you can not do in Alexa. There’s a lot of chatter on the forums about wanting a default response, but also wanting Amazon to expose Alexa’s confidence rating which can influence which response Alexa gives. Whether the devs will do it, remains to be seen. Amazon does want Alexa to be able to chat, but its pretty early, and the limitations are noticable.

Google Home, meanwhile feels more setup to do random conversations. Not only does it have some built in items for small talk, but I found the work flow using Flask-Assistant better than Flask-Ask, even though they are very similar in their use of decorators. The big thing: Flask-Assistant has an auto-scehma generator for making JSON, which is great. Because for small things its fine to manually make JSON, but when you start getting into larger things, having something auto-gen and format your stuff is very helpful. I also seemed to be able to jump into templates faster with Flask-Assistant. Google’s web sim isn’t as good as Amazon’s. But it does have the option of being able to just type things in, which is nice if you’re working in public and don’t want to be talking to your computer.

It is good to note, that both these bots are effective in their own ways, depending on the access they have to your various accounts. Which is pretty deep. So the worries around surveillance are quite legitimate. I don’t know if I would keep one active in my home if I weren’t specifically using it for a project. But then again, we did get used to phones pretty quickly.

Conclusions: Its too early to tell who’s going to come out on top of the bot race. I think that if you’re into doing weird stuff, or want to play around with strange contexts right now, Google Home is your best bet. But that could change depending on what Alexa comes out with over the next year. I would also suggest picking up the physical speaker, as it does add to the “experience”. Seeing as we’re so used to phones, extending that behaviour to a speaker isn’t that far fetched.

Of Note: The decorator setup in Python was interesting. Its the same setup that my friend Jon came up with when we were developing txtr in 2014. Which allows you to do choose your own adventure via SMS.

Future Iterations: I’d really like to get a Siri / Home thing going. Or make something that only chatters errors. I think having a bot that only tells you things in cryptic error speech would be pretty funny.

Also! I helped troubleshoot something w/ Flask-Assistant and Virtualenv.