For all the endless (endless, endless) stink that has been raised about syndication protocols, very little mention has been made of the applications that actually use them. Which is too bad, because each and every feed reader currently available sucks. While you nincompoops have been arguing about diesel versus gasoline, the car has been put up on blocks and is shot through with rust. Maybe next you can fight about aerobic versus anaerobic glycolysis during the production of pornography, instead of just watching the movie like the rest of us.
Feed readers — for those of you who still think that Web browsers are a good way to browse the Web — are programs that eat data produced in syndication formats like RSS and Atom and excrete that information in a way that’s easy for human beings to deal with. More sensibly thought of as malnourished micro-content clients, feed readers manage such handy tasks as only retrieving new information and presenting it all via a standard interface. They, essentially, remove a lot of the tedium from trying to stay up-to-date on the Web.
But the problem with feed readers has nothing to do with their basic functionality or their underlying protocols. It has everything to do with their author’s utter failure of imagination. The only thing that feed readers have managed to this point is put a pretty face on the raw data they receive. Golly. Thanks. Tell that 1973 green-screen sitting next to you I said hello.
Feed readers have at their disposal near infinite processing power, well-differentiated and -defined data and… do nothing with them. You can sort your feed items by date. Exciting!
Where are the extrapolations, based on the data? Where is Bayesian filtering? Why isn’t there auto-correlation between like items? Why isn’t there sorting by link popularity? Or inter-linking between feeds? Why can’t I rank feeds or categories higher than others? Why can’t I rate items and let the cumulative ratings over time determine feed rankings? Why isn’t there some statistical combination of each of the above to put what I’m actually going to care about at the top of the list and the discussions about which syndication protocol is best at the bottom? Why isn’t there an archive, to throw useful-but-read items somewhere other than the to-do list and trash? Why can’t I synchronize state information to a server, so I can read feeds at home without having to re-read them the next morning at work? (Dear BlogLines users: shut up. Web apps suck.) Why can’t I automatically delete any item which references the same links as the current item? Why is the desire for any of this a surprise?
Why? Because so far only programmers have written feed readers. Actual humans are no where to be found.
The linear programmer mindset has invaded the user model — something that never happens — and as a result feed readers haven’t evolved beyond a way to more efficiently plow through all available information. Of course you can’t skip anything! That would be non-linear!
But unless you’re some anal-retentive Asperger’s Syndrome poster child, you’re only going to care about a sub-set of the endless sea of crap out there, and the software should help you filter it down to manageable, crunchy chunks. Google has an order of magnitude less information about their data than feed readers, and manage to do an order of magnitude more with it. But they had the brains to apply a little creativity to the problem. And where did that get them?
Until feed readers — and the programmers who write feed readers — actually start to live in the same world as people who have better things to do, they will forever remain niche software, existing just to allow info-gluttons to endlessly gorge themselves without regard to quality, taste or what the final, messy result is going to be.
[As a half-assed postscript to this rant, I’m as surprised as anyone to find that there is working being done. 0xdecafbad, for instance, has not only anticipated many of the above complaints, but adds the idea of feed trail periods and actual code.]