2009-06-12 13:46:12
Since the last update, the merging of the validating config code, there have been a number of improvements to the experimental source. Mostly bug fixes. A lot of things that have been broken for awhile have been updated to use the new data structures.
- Sorts are fixed
- Tag filters are fixed
- tags should now be totally implicit
- Sluggish reader scrolling fixed
- More canto.extra sugar for adding content to the interface
The most work has been done on code documentation though. At this point, basically every file has a large header explaining its purpose and highlighting important blocks of code, in addition to the typical as-you-go interpretation comments. I know I'm the only real developer on Canto at the moment, but I've added hundreds of comments to explain design decisions and give a good overview about the internal functioning of the project.
I'm excited to say that I think that the majority of the goals for 0.7.0 have been reached and are working in the code. I hope to put a major dent in the remaining areas this weekend, particularly in getting the new site / configuration / styling documentation up to speed. It's going to be a full rewrite to fix a lot of documentation deficiencies.
What remains
- Minor amounts of code documentation (there are a few files left)
- Website documentation rewrite
- Style opt-out flag / option
- Feed error reporting (will also keep Canto from trying to update 404'd or otherwise unfetchable feeds every time it starts)
- More complete config validation (i.e. validate filters/sorts that aren't put into typical places)
- Various canto.extra improvements for ease of use
Some of these are reflected in the bug tracker.
I can also say that there are still some performance problems with atypical
usage. For example, if you open canto and immediately switch to another global
filter, it lags because it's trying to update from disk and refilter all of the
previously updated items. This can easily be resolved by setting your default
global filter correctly in the config so you don't have to immediately switch
and if you have to switch for some other reason (i.e. to find a read item when
your default filter is show_unread), the penalty is only a couple of seconds.
I am actively looking into making this work better ( have no fear =) ), but none
of the poor performance cases are significant enough to keep me from releasing.
Anyway, keep watching for a release some time in the nearish future, I'll probably update here with a link to the experimental page with a beta before I actually put out 0.7.0 for the distros to pick up.
In the meantime, have fun and submit bugs!