I decided this week that I wanted to add a few request types to the Social Notifier application I’ve been writing in Ruby for the past month or so. If you’ve been following along, it has previously supported following a twitter home feed, twitter list, or twitter search term.
This week, I decided to add functionality to check for new emails in my Gmail account and new text messages in my Google Voice account.
After a bit of research, I determined that the easiest way to add in functionality to check for new emails was probably going to be via Gmail’s Inbox RSS feed, so I went ahead and added RSS / Atom functionality as well. One benefit of this is that it’s easy, the application doesn’t need to store your password, and the application doesn’t need to get oAuth authorization (you do give it your password, at run time, but it doesn’t store it anywhere but in memory). A second benefit I found is that you can also check for new messages in various gmail labels (think: “work”, “family”, etc).
After both the new Gmail and new RSS request types were completed and working, I figured the next step would be to write a request type for Google Voice. While the Google Voice API isn’t exactly officially an API (or, not a very good one), there were a few projects out there that led me to believe it was possible. After about 6 hours of failing, I finally got it working. Now it can retrieve notifications for new SMS, new Voicemails, and new missed calls.
Here are a few screenshots:
And, as always, here’s the code: https://github.com/jaspr/social-notifier