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.