GobbleRSS - PDA-friendly web-based RSS reader
After I finished reading my latest book, which is what I usually do during my daily commuting to and from work, I started looking for a way to read my RSS feeds on a Palm device during that time. First, a friend of mine lent me his Palm Zire 31 (thanks!). Next, I started looking for a way to get unread RSS items from Google Reader into the Palm device. I was pretty happy with Google Reader itself, since I could read news at home, or at work (and soon enough, between the two) and not have to deal with duplicates etc. Using a desktop client would have been much more complicated, especially since I use a Mac at home, and a Windows PC at work. So, after looking for a while for a Google Reader API, or some other ways to download unread RSS items from Google Reader, I gave up.
I then started to implement my own Google Reader, which I dubbed GRC - Google Reader Clone.
If you think a little, it’s quite simple to implement. You need to save subscriptions (RSS feeds’ URLs basically) in a DB table, and at regular intervals, download all of those URLs, parse it, and save the result in another DB table. I started with a simple PHP page which did just that, and used a cron job to call that PHP script every 6 hours. That way, all RSS articles will be saved in the DB, waiting to be read. I then added a couple of flags to each RSS article (starred, unread, new) to be able to sort them, show only one type of items, or star / keep unread specific articles; a-la Google Reader indeed. I then created a pretty simple PHP web page which listed unread articles title, and when I clicked one of them, used AJAX to download the article from the DB and show it in the right-hand panel. Again, very Googlesque! And finally, I created a PHP web page which would load a predetermined number of unread items, show all of them in a very simple layout, and mark all of them as read automatically. This is the web page I download when I sync my Palm. That way, I have RSS articles on the Palm which I can read whenever, and they are all marked as read in the DB already, so I won’t have to go over all of them when reading other articles at home or work.
All this left me with a very usable web-based RSS reader, missing a couple of details, all of which I added at some point:
- a subscriptions management page
- a RSS feed of my starred items to be able to share them with my friends
- a link to trigger the download of all RSS feeds manually from the reading page
- a search functionality (which was really missing from Google Reader! Not sure if the new version has it - I stopped using Google Reader just before they made their last big update)
- a way to lock down the application so that I would be the only one able to use it - I used htaccess IP address Allow rules, mixed with password authentication for when I’m not at home;
- keyboard shortcuts to allow easy reading with a minimum of efforts
- and a way to mark articles on the PDA for later reviewing I solved that last problem by writing the article numbers next to their title on the PDA page. This allowed me to note down article numbers on the PDA while I was travelling, and when I got home, I would enter those numbers on a special field on the reading page to review all of them. Easy enough.
So this is how I created GobbleRSS, which is now available under LGPL at http://gobblerss.pommepause.com