Summary
RSS feeds are great for news feeds. They're ALMOST great for online support forums and other ongoing dialogs. This post presents a wishlist of needed features, and points to recent developments in that space.
Advertisement
I'm noticing a serious need for threaded RSS feeds.
I recently started using CityDesk to generate news feeds (a blog, to technocrats) at my politics-and-health site, Citizens' Advisory. Being me, I needed a fair amount of help, and I generated a ton of feedback. After a while, the folks at the other end of the email connection began suggesting I use the forum.
That was a good idea, of course, because it meant that the information we were generating in our message exchanges became available to all. But I've always disliked forums, because I never know when an answer has been given to a question I asked -- so I have to continually remember to check back--and I suspect that the answer sometimes arrives long after I've given up.
So I was really glad when I found that the CityDesk forums were generating an RSS feed. (They did that by implementing the forum using FogBugz, a bug-tracking system created by the same company.)
Having an RSS feed on the forum would make things really easy to track, I thought.
But:
When replies are posted, they don't affect the news feed.
There is nothing to show the number of replies.
There is therefore no indication when the number of replies has changed.
For a slashdot forum, of course, that's mostly fine. You're only interested in what's there when you visit. But there might be some issues you want to follow. In that case, it would be nice to be informed when a reply arrives.
Similarly, when you post a question to a support forum, you're interested in knowing when new comments arrive. And when I post a message in a blog like this, I'd sure like my RSS aggregator to monitor the feed for comments, instead of having to do it manually!
That's one issue. The other is that when I post a message in a forum, I can't edit it to fix typos and the like. For example, I wrote "that's helpful" in one, when I meant "that's not helpful". That doesn't help!
So it seems to me that a forum-aggregator needs to be an authoring tool, as well. And it should be able to log on to a forum in way that establishes a two-way communication.
Then:
New forum topics always show up in the aggregator.
If you elect to "watch" a topic, replies are broken out as separate,
threaded messages in the topic tree. (If not, replies remain hidden,
as they are now, until you visit the topic.)
When you edit a post you've made, either you still have
a copy locally, with an identifier the server sent
you upon receipt, or you get it back from forum server.
Either way, when you send it to the forum, your updated
version replaces the original, in the same way that an
updated blog post replaces the original blog entry.
Interestingly, there does appear to be some work in this area. I found out about the Atom project from a Blue Oxen post by Danny Ayers. It turns out that Tim Bray is involved in that project, as well. Here are his comments, in The Atom End-Game.
I'm using Invision Power Board as forum software and set up a simple RSS script with the freely available IPBSDK, which exports all topics from my forums including Member Name, Date/Time, Number of Reply and the message itself.
This is not optimal, but I'm already using this as new post notifier and as todo list with the labeling feature of the RSS reader I'm using.
I've been thinking about a lot of these issues as well. One problem I have had with providing an RSS feed for messages in a forum is that forum threads tend to die out after a while. If someone subscribes to an RSS feed for messages in a thread, then their aggregator will most likely keep pinging the server long after the thread has gone quiet. Because of that, I think it is better to notify people of new messages, rather than have people poll for them.
On Artima right now you can "watch" a topic, and can enable email notification for the watch. If you click "Watch this Topic" at the top of the page. Then click "Your Watches" and select "Enable Email Notification." Then you'll get an email for each message to that topic. That way you don't have to remember check back, you'll be notified of new messages, but the server isn't being pinged for all eternity for an RSS feed for the thread.
We have started a rewrite of Artima, and will be redesigning and rewriting the forums. I have a lot of things planned for the rewrite that should address your needs.
Thanks for letting me know about the email-notification feature. Very nice. I've enabled it. (I'm looking forward to the improvements that you come up with.)
As for the pinging problem, I confess I hadn't thought much about it. But I think the change is confined to the aggregator, with only a little additional information provided by the server.
So the forum would continue generating a single XML file, as before. The aggregator pings for updates to that, following its usual practice.
Inside the XML file, the forum uses the ATOM format (which you looked up, thanks). That adds an "in-reply-to" identifier to an entry.
What I want to happen now is that your aggregator setting (split this post or don't) determines how the post appears. When I put a thread on my watchlist, it causes in-reply-to posts to appear individually, in the tree under the original post.
(I'd like to see items on the watchlist disappear gracefully after a period of inactivity--say, 3 months--the same way I have unread messages disappearing after a week, so I don't have to worry about a watchlist growing enormous.)
The interesting question is what happens when a reply arrives for a thread that no longer appears in the aggregator (in my case, because its more than a week old).
What *should* happen is this: When you visit a post, the highlighting that says it hasn't been read disappears. It's watchlist identifier is also cleared. In other words, the watchlist has just become a tree of identifiers that includes the original post and all replies.
When a new response comes in, that tree is reconstructed in the aggregator, showing the threads I've read and highlighting the new ones.
Whether there's too much of a performance burden on the aggregator with that strategy, I don't know for sure. But I do know that the user interface would be *perfect* for a support forum.