Saturday, April 11, 2009

Goodbye RSS Bandit

I've been using RSS Bandit as my RSS feed aggregator and reader for a couple of years now, but today was the day i finally got annoyed enough to ditch it and switch to a new feed aggregator. I chose FeedBurner.

What annoyed me the most about Bandit?
- it kept losing blog posts. Whenever the app started, the latest blog posts were from 10th Dec 2008 (i'm not sure what happened on that date or what is special about it). If i right clicked on the feed and selected Update, the missing posts from the last 4 months would appear again, along with any new posts. This only affected some feeds, there was no pattern to which ones (the feeds affected had anywhere from 10 to 1000+ posts in them), but it was the same feeds each time. This smells like a data store issue to me.

- the delete functionality was incredibly slow. If the deletes folder had maybe a couple of hundred posts in it, and i deleted one post from another feed, then the speed was ok. But if i select ten posts and delete them then it takes ages. And it gets worse the more posts you have sitting in the deletes folder. Taking 30sec to delete 10 posts is IMHO suboptimal.

- it wouldn't shut down correctly. If i started it up and then closed it down in the next hour or so, then it terminated properly. But if i left it running overnight and then shut it down the next morning, the main process would continue to run. Sometimes an app will do this when it is doing a bit of shutdown processing, like maybe tidying up its data store and rebuilding indexes, so i gave Bandit the benefit of the doubt at the start and just let that process run. In fact at one stage i let it go several days, and the process just kept on running in the background. This means it is buggy, and the trouble is that in cases like this if you terminate the process forceably, you risk corruption of its data store if it was in the middle of doing something when you terminated. This might actually be what caused problem #1 above.

-it was also an enormous memory hog. When running Bandit under XP or Vista i would get regular out of memory errors (a termination because of this could also cause problem #1). I should mention that i've got 4GB RAM, and i was running a 64bit version of Vista. I'm now running a 64 bit version of Windows7, and the memory consumption is a lot more stable. While some might blame the OS for the memory management problems, i blame Bandit, as it must have been doing something in a way that triggered the memory issue (when i shut down Bandit the memory got freed up again). They were probably loading the entire database into memory, which would not be particularly efficient on most desktop machines.

Now, i am a software engineer, so i could have just grabbed the source and debugged and fixed the problem instead of whining about it, but i really can't be bothered for a number of reasons. First, i am too busy already. And i hate debugging other people's shit, it can be incredibly tedious. Once i found the problem, it might be a quick fix, or it could be a major rewrite depending on how the app is written. And in any case, there is no guarantee that they would accept my fix, as is their right. It is just simpler to find and install a new aggregator.

So i installed FeedDemon, and in my first 5mins with it i had already started to like it more than RSS Bandit. My only complaint is that when i went to import my RSS Bandit feeds/posts, it threw an error saying i needed to reinstall Bandit, and didn't give me any more details than that. Once again it was probably an issue with Bandit, not FeedDemon. But apart from that little glitch i am happy - FeedDemon is massively faster, it deletes fast, uses considerably less memory, and it shuts down when i tell it to shut down :)

To anyone considering installing RSS Bandit: don't, give it another evolution or two before you try it. Bandit is not very scalable, and doesn't handle feeds with large numbers of posts very well (i have around 130 feeds containing approx 23100 posts). The data store (database) is slow and possibly inefficient. Some improvements need to be made; i need to be able to crunch the database and rebuild indexes, and i need to be able to specify where it should cache its feed data without having to alter the config file directly. Filtering functionality would also be super, so i could automatically delete unwanted posts on high volume feeds.

I might revisit Bandit it in a year and see what progress has been made. Until then, c'est la vie.

Keywords: rss bandit, losing posts, feeddemon, rss