From the first day I got the Amazon Echo in December 2014 I looked for more interesting ways to interact with it. Before the Alexa team released an official API, I came up with a rather creative way to control things . It was not perfect since I had to add things to the “todo” list and then poll private APIs for changes. A few months later the official API came and things have been much smoother since, but there is one feature that some people like me would really like: True push voice notifications.
The Alexa team announced push notifications this year (2017). There are a few select skills out there (i.e. The Washington Post, AccuWeather) that have implemented push notifications as beta releases. I have also (privately) played with the push notification API, but the execution and experience in my opinion is rather underwhelming. It seems apparent that the Alexa team (or perhaps some other powerful voices) are highly opposed to a true “you’ve got mail” style notification. Instead the current Alexa push notification consists of an “answering machine” model: the ring turns yellow with a subtle chime then you ask Alexa if you miss anything.
There have been some great geeky attempts to do real voice push notifications. Guillermo Amaral hacked the Echo’s remote control with a Raspberry Pi emulating the push of the talk button. Then using cron jobs and eSpeak commands (linux version of ‘say’ macOS command) he triggers Alexa by sending, “Alexa, Simon says: You have a meeting.” The results are pretty good. Another great hack was done by friend of the Lab and colleague John Graves. He uses speech synthesis as well, but using Alexa’s own Voice Service. Then using a Bluetooth paired computer (or Raspberry Pi) he plays the text-to-speech results.
Now, three years after my first Amazon Echo hack, I came up with another one! This time I also use the private APIs that the Echo uses to create reminders which in turn will play a spoken notification. The result is not quite perfect since every notification begins with: “This is a reminder.” You can schedule reminders or notifications for future times or you can deliver them immediately.
I insist that there are great use cases for true voice push notifications. For this reason last year I created another hacked solution for push notifications with Google Home. I believe that the user should decide if they want such notifications or not for each of their installed skills.
This model is already followed by the current notification model in the Amazon Echo. I can decide if I want notifications or not, and now all I need is another switch to decide if I want “you’ve got mail” style notification or plain ol’ “answering machine” style. Which do you prefer?
Checkout my Github repo for the code and start hacking away!