An RSS/Atom newsreader that sucks less

Canto | Details

Updated for 0.7.x. Older versions here
HOMENEWSFAQSCREENSHOTSDOWNLOADGETTING STARTEDCONFIGGITWEBBUG TRACKERCONTACT
Progress.
2009-05-01 15:19:00

Canto

The ongoing efforts towards 0.7.0 have been fruitful. In the experimental branch of git, the client is now threaded in such a way that even with 225 feeds at no point does it become unresponsive. This also leads to a sort of neat effect as the feeds appear in the interface as their threads become ready, rather than right off the bat. It's almost like animation =).

Quick note: the new threaded client spawns a thread per feed, so with 225 feeds comes 225 threads (+1 for the main thread). I'm undecided if the memory benefit of pooling a lower number of threads and using each one for multiple feeds is worth the added complexity. Suffice it to say, on my home computers there doesn't seem to be much of an issue. I am going to check it out on some "lesser" hardware to check in the future.

Another improvement is that there is no longer a master list of items, everything is done in partial lists of added and evicted items (can you tell I've done some cache programming =P), so even without threads, performance would've increased substantially given the smaller subset of work to do. However, off-loading the processing into threads is still used because the partial list improvements just increases the number of feeds it can handle at a time without choking, rather than practically eliminating it.

Lastly, the codebase has undergone some significant simplification in other areas. In particular, infrastructure that was used to control multiple gui objects in the main class has been done away with and the reader / main list are now sharing some code.

As a side-effect of these changes together, there is virtually no flicker left in the interface. Also, as part of the cleanups, the annoying bottom right corner empty character has been worked around, so the interface looks pretty sharp all around.

Site

I finally removed all traces of Django from the site's code and it's all static generated HTML now as well. The most important change is that there's now a copy of the canto site containing the current state of experimental docs, etc. available here. You'll note that you're on the experimental branch by the garish pink header saying "Experimental Branch" at the top.

The source for generation is still available for the curious.

Remaining

So with performance and graphical improvements (the core of 0.7.0) almost done, there is still a lot of things to do.

At this point I know better than to even hazard a guess at how long this will take, but everything is progressing nicely.

If you're git capable and interested, give the experimental branch a try and report any trouble or nitpicks you've got. Maybe even... gasp... write a patch =)

Have fun! Submit bugs!


Send all bug reports to canto-reader [at] codezen [dot] org
Or come to discuss in #canto on irc.freenode.net