I've been reading a "For Dummies" book about design patterns, which are tried- and-true ways to solve software development problems. Unfortunately, it has triggered a sleepless state that I haven't experienced in a long time, in which I'm unable to quiet my mind because I'm thinking about software development. It's 3:30a now, and sleep is far from my mind.
For the longest time I used a desktop application called Liferea to manage and read my feeds. Not bad, but it had some shortcomings: it was slow, it was buggy, and the developer was making changes that didn't sit well with me. I switched to the web-based Google Reader and have been relatively happy, but there are long-standing limitations with Google Reader. For instance, I can't read my friend Tiffany's feed because Reader doesn't support authenticated feeds (i.e. feeds that require a username and password). Further, it's impossible to do interesting things with Reader. As an example, I'd like to have a Bayesian filter that I can train to separate interesting posts from uninteresting posts; perhaps I like Miguel de Icaza's posts about software, but would rather ignore his political posts.
So what can I do to improve the situation? I could switch from Google Reader to another service, but I still won't have extensibility. I could switch to web-based software that I run myself, such as FoFRedux, but extensibility could very well come at a high price: I don't think FoFRedux is in active development, and my changes will be almost useless when I upgrade to the next version (whenever that may come out). Or, perhaps I could take a lesson from Phillip van Hoof, who used design patterns to create TinyMail (the design of which has impressed me for almost a year now).
Now you're all caught up with what's been going through my mind: I've ideas for writing my own web-based feed reader. Maybe the idea will pass and nothing will come to fruition...but maybe I'll have a pleasant project that I can learn from and enjoy and share with others. Either way, it's 3:50a, and I need to get back to lying in bed.