Development of a feedreader

Everyone else seems to be blogging about their project presentations, so I shall leap onto the bandwagon and also use this as an opportunity to pretend that this counts as a proper progress update.

I’ve uploaded my PDF slides which are rather brief, but give the general gist of the main features. What amazed me when I was creating them was the number of smaller features in Ephemera that I find really useful, but which didn’t warrant being mentioned in the presentation.

I really need to get organised enough to switch my subscriptions over from Gregarius to Ephemera and start using it properly - I’m really looking forward to it :-)

March 15th, 2007 at 7:24 pm | Comments & Trackbacks (2) | Permalink


I’ve made a fair bit of progress since the last update (as I should, since that was 6 weeks ago). The first milestone after having a basically functional application was that of having a usable (and functional) application, and since then I’ve been adding features and tweaking code to broaden the scope a little.

One of the features I like, and the lack of which in other feedreaders is one reason I wanted to do this project, is demonstrated in this (large) screenshot of three entries that originate from aggregated feeds (i.e. a feed which republishes items from a number of other feeds, making a group feed). (Linked to is a screenshot of the whole screen for context; below are just the relevant portions if you prefer.)

One of the aggregated feeds I subscribe to is Planet Intertwingly. It’s interesting, but because it averages over 50 items every day I tend to skim a lot of the items, and thus am also subscribed to some of the individual feeds within which are deserving of more of my attention and whose entries I might skip over if I only had the aggregated feed. Because I read everything one feed at a time, with aggregated feeds coming last, when I get to Planet Intertwingly I always have to skip over a bunch of duplicated entries that I’ve just read.

So, Ephemera has the general principle that you should never have to see an unread entry more than once. If it comes across a feed item with a guid that it’s already seen in a different feed, it recognises that fact and doesn’t store a duplicate entry.

Related to this is checking Atom and RSS feeds for an Atom or RSS source element to see where the item has come from. You don’t even have to be subscribed to the second feed:

(Or the third.)

In the above example, the user was subscribed to Planet Intertwingly and Planet Perl, and the original source of the entry was found from the source element in Planet Intertwingly’s feed.

Below you can see that the article “More Progress?” was found in the subscribed-to aggregated feeds Warwick Blogs and Planet 3YP, but since neither feed identifies the source of the entry we cannot tell that it comes from Transport Tycoon 3D. (Incidentally, the entry has a different title in each of those two feeds and in the original RSS feed. I don’t intend to support that, except insofar as whichever feed gets there first wins.)

January 15th, 2007 at 10:48 pm | Comments & Trackbacks (2) | Permalink