Working in an emerging technologies team has a lot of perks. One of them is to kick the tires of technologies that are about to become mainstream. It also has the somewhat fun privilege to gain interwebz bragging rights or the equivalent of the emblematic/annoying “first” comment that plagued the web forums just a few years ago. Today I have another “first”, a Google Home Notifier to send push notifications.
Among my list of “first”* (afaik) are the following:
- Discovered hidden/internal Dropcam API (now known as Google Nest Cam) which we ended up using for our famous Flying Monkey Target.
- Created unofficial Amazon Echo API and therefore controlled my Christmas tree with my voice!
- Created one of the first working examples using the ESP8266 Wifi chip as an Arduino modem. The comments section got a life of its own. The community keeps answering each other. I don’t need to intervene. 🙂
- Google Glass + Beacon demo
- Created a ridiculously simple internet and IFTTT button that cost less than $10.
- Created a Google Home Push notification server: Google Home Notifier.
Ok, ok. I know. It looks like a sad bragging list. It is, but nevertheless I’m proud of it. This brings me to the latest “first,” but let me back up before I dig into how and why I built this Google Home Notifier.
Two years ago I was lucky enough to be in the first batch of Amazon Echo buyers. That led me to be one of the first to “hack” (here and here) with it, which in turn got me some notoriety with the Amazon Echo team. So I was asked under NDA to review their Alpha SDK. I happily agreed. After playing with it for a few weeks, I had some feedback. One of my main requests was exactly this: I wanted to be able to send a push notification to the device. Why? Here are some use cases:
- Alert me before my next meeting.
- Give me my Daily Briefing as soon as I walk in the office (using beacons for proximity).
- Notify me of some messages that I considered to be of high relevance (important email, breaking news, etc.).
The list can grow with more compelling use cases, but when I spoke with the Amazon Echo team they had their very valid concerns. What if this feature got abused by marketers or otherwise? Alexa would become a marketing/PR nightmare with stories of constant blabbing, un-opportunistic announcements, etc. So far it seems they don’t have a roadmap for this feature.
Fair enough. So two years ago at the AT&T Developer Summit Hackathon our team used the Amazon Echo. We wanted to send a notification to it, so our half baked solution was to use the Echo as a bluetooth speaker connected to a mac and use the “say” command. The voice didn’t quite match the Echo’s sultry voice. This was far from ideal from many technical standpoints.
Now Amazon Echo has finally a worthwhile competitor: The Google Home. So while we wait and see if Google will implement push notifications, I created my own and it’s available for anyone. I tested with IFTTT and it works like a charm.
A few drawbacks with my implementation is that you have to run it as a server/service inside your house. It can run on a Raspberry Pi, your pc or a mac. Finally I want to acknowledge that the reason I found out this was possible to do was due to this article that describes how to send a notification using Android. The reason I’m still claiming a “first” with my solution is because it accepts external call events from sites like IFTTT or any other server what can POST a notification.
*I’m happy to stand corrected on all my “first” claims! So if you happen to read this and know of someone or yourself that did it first. Please let me know so I can take a humble pill.
Running on a Mac, the basic usage identifies my Home but doesn’t cast anything to it; using the listener I get “Cannot GET /google-home-notifier” Can you help?
Hey Nat, the listener is expecting a POST to /google-home-notifier not a GET. That is why you are getting the error.
Just got to say, this is awesome!