The Artima Developer Community
Sponsored Link

Computing Thoughts
I Need Smart RSS
by Bruce Eckel
April 6, 2007
I've come to rely on other people rather than RSS feeds to point out the really important stuff to me.


I stopped watching TV news and reading newspapers years ago, and am much happier for it. And I don't feel terribly uninformed. If some non-infotanment thing happens, someone always seems to tell me about it, so I find out. Or I'll occasionally watch John Stewart and he brings me up to speed without being too awfully serious about it.

I tried RSS from both ends and found it a necessary idea but a bad implementation. Necessary because it's helpful to know that something useful has appeared on the internet. Notice I say "that" something has appeared, rather than "when" it has appeared, and the "when" is part of the reason I turned off the RSS feeds. It became another form of noise, interrupting my thought process and throwing me out of the flow. Yes, there are all kinds of adjustments you can make so your RSS reader isn't popping things up all the time. I know that, but the general problem is noise. Having something that goes out and collects everything is like subscribing to the New Yorker. They just pile up and give you yet another task to accomplish, most of which is wading through yet more accumulated cruft trying to figure out what's important so you can read that. And as much as we try to say "it's not that hard to skim," in my experience it takes a remarkeable amount of mental energy to do the wading, and I seem to have a lot more in reserve to focus on the real thing when my informal network of filter-people (usually folks who have come to conferences and workshops) do it for me.

The other reason RSS is a bad implementation -- but in the current world, the only type of implementation that is practical -- is that what we really want is a "publish-subscribe" mechanism. You only really need to be told once that a new article is posted. But you don't want to give me your identity, because I might abuse it. So instead of a simple publish-subscribe, RSS is a constant-checking mechanism, which is so inefficient that it might be second only to porn in sucking down bandwidth on the Internet. That's just conjecture, but my experience of writing my own RSS feeder was that it rapidly hammered my web site so much that my ISP started charging me significantly more money. This is why intermediate feed services appeared, but of course those feed services must then handle the traffic. If RSS had been given any serious thought when it was designed, the feed provider would have been given control over the number of visits the reader could have. Maybe I can't know your information, but I should be able to throttle the amount of hammering you're doing on my site.

It all comes down to noise. RSS gives me as a consumer way too much noise, and it inflicts the provider with too much noise.It might be considered a kind of agile solution because of the way that it was created -- quick and simple -- but that's not all there is to agility. Agility is also, and possibly most importantly, about improving the implementation as new information is acquired. To me, agility means you are always in the midst of an ongoing experiment.

Because of its static nature, RSS is really a Web 1.0 technology. There's no way for the community at large to add information. Because of this, RSS pours more noise into your world. What I need is something that only gives me the right information, for me. This is something I would be more than happy to pay for; enthusiastic, even. I'm not sure that I would need to pay for it, or if that would be the right solution -- especially because it might end up being payment per good article and whoever was being paid would then have incentive to push more articles at me in hopes of getting more money.

A better solution might be something that combines the approach of with a friend list. Pandora allows you to select music you like from general categories, and when they play songs you do or don't like, you give feedback and the mechanism theoretically gets better and better at predicting what you want to hear. Things like Digg have touched on this but they are producing a mass vote, not a customized preference. I don't really want to read what gets the highest votes. I want to read what is important to me, not to the largest number of people that happen to be interested in voting on articles.

So we need an inversion of control, where it's not about "most popular" but rather about "most appropriate." And it constantly improves the way it defines what this means.

That, of course, continually narrows the selection, which is desirable but can become too narrow. That's where the "friends" mechanism comes in. If I have a pool of friends and we can throw suggestions into that pool, this will help discover new potential interesting material. If one friend tends to throw in things that are too noisy, I can quietly block that person out without them knowing about it. They might still be making valuable contributions to others in the pool but if those contributions don't work for me then I can tune them out.

This design could be the next newspaper, the one that the futurists have been promising for awhile: the customized newspaper where you only have articles that are good for you. Of course, most of the futurists couldn't see how this was going to happen and so they assumed the current newspaper organizations would build these papers for you. In general I think this is still unlikely, mostly because newspapers are too stuck in the way they do things right now. However, I could still imagine a design like the one I describe above being the thing that saves newspapers, precisely because I would be willing to pay for it. It provides a valuable enough service for me. And if there were traditional newspaper columnists that I felt were valuable and informative, I think I'd be willing to pay for those as well -- of course, that would probably inevitably extend to "regular" bloggers, especially when micropayment systems finally get sorted out.

Talk Back!

Have an opinion? Readers have already posted 14 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Bruce Eckel adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Bruce Eckel ( provides development assistance in Python with user interfaces in Flex. He is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM (available on the Web site), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences.

This weblog entry is Copyright © 2007 Bruce Eckel. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use