The demise of google reader

Google have decided to kill Google Reader. This has annoyed me.

There are some open-source and cloud alternatives out there, such as newsblur. The internet is going bananas about what Google have done, it's just a matter of time before a standard replacement emerges. Some are cloning Google reader's API.

The way I use google reader is simply a filter, to star items from about 128 feeds – the items then end up at http://callanbryant.co.uk/#Starred

As part of DSONAR (a notification aggregator) I made an event based RSS feed watcher, which can check feeds as often as is required on average.

My Google Reader replacemment would be a simple NodeJS based replacement: give it the OPML list of feeds, and it will watch for new items. These items (as they happen) can be written to a circular queue (about 1000 articles long max.) pending read by a pager. Items can be discarded (removed from the queue) skipped (left on the queue) inspected (viewed on source website) or published, akin to Starring.

If I publish (star) an item, it will be added to a SQLite (or whatever) database. Another RSS (or JSONP) feed can be generated from this database, used to power my ‘Starred items’ on my website.

Internally, feeds are already converted from RSS to something that can be represented in JSON. As such, it would be possible to integrate from other sources.

The interface is for one user only, and could simply require a password or API key via a URL generated on first run.

It would include vim-style keyboard hot-keys and also gesture support so that it could easily be used from a smartphone. An app could also be released that uses the same codebase as the web client.

By default, the web app could display starred items if authentication is not done, possibly using the infinite scroller that powers this website.

Also, I'd like to make it in typescript because I miss inheritance and other nice object-oriented things from other languages. It can be used with nodejs using the native modules system. A vim syntax plugin also exists.