Background
I recently mentioned why I like feeds as a developer:
I know RSS has been dead since 1982, but I'm still finding it very useful for powering status updates on my homepage (http://mahemoff.com). Whether Twitter, WordPress, Posterous, Lanyrd, Plancast, I know I can always scrape the most recent item with a one-liner.
It’s not clear if and when Google will release RSS feeds for Plus, though the comments there certainly indicate they’ve given it a lot of thought. There’s really too many variables to make speculation anything more than a fun discussion in the pub.
Fortunately, Russell Beattie has stepped up to make a third-party feed service, PlusFeed. but it seems to have been hammered in 2 waves: first, by an army of hungry feed bots; and second, by an increase in App Engine pricing. Even at this early stage, it’s costing $35/day, though there are probably optimisations possible as referenced in the comments. (UPDATE: Russell’s service is now offline due to the price whack, but the open-source project lives on. Follow the instructions here to roll your own for free.)
In any event, since I’m using PlusFeed for my homepage, I want to be sure it’s running, so I wondered about writing my own feed service. But in a second stroke of awesome, I don’t have to, as Plus Feed is actually open source.
Install A Feed Server on Google App Engine
It’s very easy to fork and deploy PlusFeed, even if you’ve not used App Engine before …
- Sign up for an App Engine account if you don’t already have one, and install the Python SDK. I recommend running the GUI for ease of use.
- From your App Engine dashboard, hit “Create Application” and give your feed a unique name. Let’s say “whataplusfeed”.
- Download Russell’s project: git clone https://github.com/russellbeattie/plusfeed.git. (You may wish to fork it on GitHub so you can maintain your updates.)
- You only need to make two changes - here you can see what I did. Specifically, change the project name in app.yaml to “whataplusfeed”. Then in plusfeed.py, replace the “idurls” regular expression with your own plus ID (the big number you see in your profile URL, e.g. https://plus.google.com/106413090159067280619/posts).
- Import your project into the GUI, test it locally, and deploy it! Now your personal Plus feed is running at http://whataplusfeed.appspot.com/<your-plus-id>
You could easily whitelist a handful of IDs too, e.g. for all the staff in a company or a group of friends. Or you could just use the original project as is; it would make a nice public service, but unless a lot of others step up too, you’re going to be liable for big bucks once the feed bots find your server. In any event, you can choose which feeds are offered by providing an appropriate regular expression in plusfeed.py (step 3).