XML.com: XML From the Inside Out
oreilly.comSafari Bookshelf.Conferences.

advertisement

Putting RSS to Work: Immediate Action Feeds
by Mark Woodman | Pages: 1, 2

Remember The Milk, Immediately

To show how the Immediate Action principle could turn a simple feed into a really useful feed, let's consider a popular website: Remember The Milk. This nifty AJAX-driven website allows you to make and manage lists of tasks with due dates, priorities, etc. When logged in, you can do a number of things to each task, as shown in Figure 2:

Managing a task at Remember The Milk
Figure 2. Managing a task at Remember The Milk

The site also offers reminders of your tasks via an Atom feed. Each task becomes a feed item, so the fit is quite natural. Unfortunately, the feed items are purely informational, like so:

Actual task from Remember The Milk feed
Figure 3. Actual task from Remember The Milk feed

You get to see the task, but you have no immediate way to act on it. Want to mark it off your list or postpone it? Sorry, you'll have to head back to the website. This is a great opportunity lost by the RTM team. If they were to follow the Immediate Action pattern, they would add controls for some common actions, right there in the feed. Here is what that could look like:

Theoretical task from Remember The Milk feed
Figure 4. Theoretical task from Remember The Milk feed

In this theoretical example, the feed contains both form elements and personalized URLs, similar to what already exists on the website. The great news for the RTM developers is that they have already done the hard part. The server logic to handle the form request already exists on the website. The feeds are already personalized, authenticated, and secured over HTTPS. The remaining steps to implement Immediate Action would involve adding the form HTML to the feed and some server-side refactoring to allow the off-site request.

Speak Your Mind, Immediately

A typical blog feed provides entries with a link back to the website. Some feeds offer a link to the comments area as well. If you want to comment on an entry, you follow the link to the website, locate the comments form, then leave your thoughts. Standard stuff.

Far from standard, however, is an Immediate Action experiment that some bloggers have been playing with over the last few months: They have put a comment form directly into their RSS feeds. Some of the more notable examples have come from Danny Ayers, Christopher Schmidt, and Russell Beattie.

The results of these experiments have been mixed, largely due to two factors:

  1. Some aggregators can't or won't handle HTML <form/> tags.
  2. Many readers prefer to opine in the context of other comments, rather than posting "blindly." (Unfortunately, including comments directly in the feed is impractical; the frequent updates and bloat to the same feed item would irritate just about everyone.)

The second issue raises a good question: "Where does Immediate Action fit?" Only time will provide the real answer, but I believe there are some reasonable guidelines to shape your decision process . . .

Design Considerations for Immediate Action Feeds

When using the Immediate Action pattern in your feeds, here are some guidelines to keep in mind:

  1. Use it where it makes sense. Does Slashdot need to add action points in their news feed? Probably not. This is largely because their content--"News for Nerds"--isn't coming from an application that requires immediate user interaction. The feeds from bug-tracking software packages like Bugzilla or Atlassian Jira, however, could really benefit from having common actions (Close, Comment, Prioritize) readily available.
  2. Know your audience, especially when it comes to their favored feed readers. Some aggregators can't handle forms. A list of comments on Russell Beattie's blog reveals a few aggregators that choked (in May 2005) when he put a comment form in his feed. Take the time to analyze your web server logs to make sure your implementation won't cut out a significant portion of the users you are trying to help. You may even decide to provide two formats: A informational feed for everyone and an Immediate Action feed for those who can use it.
  3. Protect your feeds. As with the Remember The Milk example above, your Immediate Action feeds may require some degree of personalization and thus authentication. Make sure that sensitive information in your feed can't be snooped, and that sensitive actions can't be spoofed. (Gmail does this with Inbox feeds by using HTTPS and Basic authentication.)

    Patrick Chanezon of the ROME project also has this advice: Some authentication mechanisms, like HTTP + Basic, rely on browser cookies. Aggregators which don't properly share cookies with their embedded browser components can cause authentication headaches. Some careful testing may be needed to ensure the major desktop aggregators perform as desired. Hopefully, as Immediate Action feeds become more common, new aggregator versions will come out to make up for current shortcomings.

  4. Keep it simple. To protect readers from XSS (Cross-Site Scripting), most online feed aggregators will (or should) strip out JavaScript, IFrames, Flash, and the like. (Mark Pilgrim has a good list of dangerous HTML tags that should be stripped from RSS feeds.) As cool as it would be to have AJAX-driven forms in your feed, it is a security risk that no online aggregators will allow. This means your Immediate Action feeds must likely rely on a good old-fashioned GET or POST back to your server.

Looking Ahead

I believe we're entering a new era of truly useful RSS and Atom feeds, many of which will be following the Immediate Action pattern. My hope is that by identifying this pattern we can inspire developers across the net to look at their syndicated feeds and start thinking about usability. If you know of a feed using Immediate Action, or if you improve a feed by applying the pattern, I would love to hear about it.

Happy feeding!



1 to 4 of 4
  1. TechCrunch Demos BunchBall
    2006-02-06 07:20:16 mwoodman
  2. Using RSS feed for tracking and logging long running processes.
    2005-12-16 18:58:17 expeditebiz
  3. Feedburner's new FeedFlare service is a great illustration of this pattern
    2005-12-14 21:33:19 patrick chanezon
  4. malicious actions
    2005-12-14 20:07:26 Daniel_Kang
1 to 4 of 4