I presume lots of other people have got to pondering how it seems quite inefficent for RSS clients to be polling RSS feed sites all the time. Various alternative designs come easily to mind. For example clients could register their interest and ask to have the updates pushed to them, sadly that’s a loser for various reasons.
Another idea is a hub scheme where clients go to some central authority that aggregates feeds. The clients could then do a single poll to update to all their subscriptions. This idea is workable. It does involve some protocol design to sketch out how clients query the server and how the returning update is pieced together. But the solution is unattractive. Hubs are problematic in what ought to be a peer to peer architecture. Introducing an intermediary just to save bandwidth is too high a price to pay.
That leads one to toward ideas that distribute the hub. Something that allows anybody to volunteer to do part of the work of the hub. Today I got to thinking that might be done reasonable easily if the volunteers were the existing RSS feed providers. This might well be overlaid on the current design much as color TV was overlaid on black and white.
Domain Name System queries do a trick. If you ask the server a question it may along with the answer to the question you’ve asked throw in the answer to a few other questions that it suspects you might need to ask in a moment. I suspect something similar might work for RSS feeds. If I ask blog X for it’s current feed it could reply “Well no changes to that, but you know I happen to have the feeds for A, B, and C here if you want ’em.”
Similarly when the client asks for the current feed it could enumerate other blogs it would like to have the feeds for, if they happen to be available.
A complete solution in this space would probably get complex fast. At minimum it would have much of the plumbing of the hub solution. In addition there are privacy challenges. You would like to conspire to keep the random client’s subscription list as secret as possible. It really isn’t blogger X’s business that I subscribe to blogger Y. But if I’m going to get blogger Y’s feed via blogger X then he’s sure to find out. That may make this entire scheme a nonstarter. It seems possible to keep X from finding out about my taste of Y when he doesn’t happen to cache Y’s feed; a couple double hashes will keep that secret.
I suspect things are going to proceed as is for quite while. Popular blogs will just have to live with all that random polling.