As a side project, I’ve been helping NJ out with his Snackr AIR application. Way back when he first started building Snackr, he sent me a build and I started using it. It was exactly what I needed to get back into reading my RSS feeds again, but I still liked to read some feeds (like my friends’ blogs and others that I always wanted to be up-to-date with) in a regular feed reader client. It annoyed me that I had to maintain two clients, add new feeds to both, mark items read in both, etc. Then I thought “Hey, Google Reader has an API. Maybe we could use it to automatically keep the two clients in sync!” I badgered NJ to implement this feature but he doesn’t use a normal feed reader so it wasn’t the first thing on his priority list. Then I thought “Wait a minute, I know how to code! And I’ve always wanted to learn a little more Flex…” So I sat down to do it myself.
Now it’s four months later and I finally have something to show for it. NJ released a new test build, 0.38 TEST, which includes my Google Reader integration feature. After backing up your Snackr database and your Google Reader feed list, download the test build and let me know what you think.
To enable the syncing with Google Reader:
- Click on the Options icon to bring up the Options popup.
- Click on the “Google Reader” tab.
- Check the “Enable Google Reader synchronization” checkbox.
- Enter your Google Accounts user name and password in the text inputs below.
- Click “Connect”.
If all goes well Snackr will ask you how you want to initially sync up your Snackr and Google Reader feed lists. Pick the appropriate option (be careful – if you say to use only Google Reader’s or only Snackr’s, the other feed list will be deleted) and press “Ok”. Snackr will hold a lengthy conversation with Google Reader to figure out what the new feed list should be, but soon you should be synced up and ready to go. From then on, all operations you perform in Snackr (adding and removing feeds, marking items as read) will be reflected in Google Reader and vice-versa.
Send NJ and I feedback via email or log a bug if something isn’t working. However, keep these things in mind about the test build:
- At the moment, all feed add and removes and item reads are synced automatically between Snackr and Google Reader. It’s kind of like your iPod and iTunes in their default mode – both clients must match each other exactly. I’m curious if this is how people expect this feature to work – shoot me an email and let me know. If it isn’t what you expect, write me with what you’re trying to accomplish and if you have any thoughts on how Snackr ought to work.
- When you initially set up Google Reader integration, you may see some items scroll by in Snackr that you had marked read in Google Reader. For technical reasons Snackr currently may miss some items on its initial sync, but don’t worry – if you let Snackr run for 10 or 20 minutes it should eventually sort itself out. If you are still seeing items you’d marked as read, please log a bug and include the url of the feed that isn’t syncing.
- If you add a feed or mark an item as read in Google Reader, this will not be immediately synced with Snackr. This is because the Google Reader API doesn’t allow us to register Snackr to receive updates as they happen, so we have to poll it and right now we’re only doing that on Snackr startup and every 10 minutes thereafter. If you wait awhile you should find that the sync has gone through.
- There are some minor performance issues with the sync and item read operations. I’m working on ironing them out.
Keep that feedback coming!