Putting RSS to Work: Immediate Action Feeds

December 14, 2005

Mark Woodman

In the course of working on the design for several RSS/Atom-enabled applications, I have become increasingly dissatisfied with the typical form of syndicated feeds. These feeds are so easy to generate that we can readily squirt out all sorts of information from applications without any regard to usability. I believe that such feeds shouldn't just be informational, they should actually be usable.

My justification for this is simple: we RSS/Atom users are lazy. Visit 15 websites every day? Not a chance. Subscribe to 200 full-content feeds which I can read in one spot? Sign me up!

Even so, most syndicated feeds from applications contain read-only information: events, state changes, etc. Yet if I want to act on the information, I almost always have to follow a link to the website where I can actually do something. Remember, I'm lazy. Yeah, I read the RSS notice about the impending core meltdown. But I now have to click through to a website, then authenticate, then find a button to retract the plutonium rods? What a hassle.

Fortunately, I believe there is an important new pattern emerging in RSS and Atom feeds, one that is focused on improving the user experience. I call this pattern Immediate Action. It is a simple philosophy that can make the difference between a typical feed and a really useful feed. Here is the essence of it:

The Immediate Action Credo
A link from information to action is not good enough. I will provide an immediate point of action to the user directly in my feed whenever possible.

You have probably already seen the Immediate Action pattern, not in feeds, but in your email inbox: "Click this link to activate your account." Or how about this old standby: "Click here to unsubscribe." The URLs provided in these emails have unique information to be received by a web-based application. The approach used to create a personalized email can just as easily be used in an RSS or Atom feed.

Immediate Action is a simple idea, really. But when applied, it moves your feed from being merely informational to being interactive. It is also a proven idea; good webmasters are constantly evaluating how to reduce the number of clicks between first impression and purchase. In the same spirit, do whatever you can for your users to reduce the number of clicks from your feed to the desired outcome.

Watch This Item, Immediately

Let's consider a well-publicized example of an Immediate Action Feed. Auction giant eBay recently generated a good deal of buzz with the announcement that eBay Stores can now provide RSS feeds of their items for sale. What has gone mostly unsung is a nice Immediate Action feature built right into those feeds: Each item contains an "Add to watch list" link. The URL goes to the eBay website and adds the item to your watch list, provided you are logged in. This is a great example of an easy way to implement Immediate Action by using REST-ful links in your feeds.

An eBay Store RSS feed
Figure 1. An eBay Store RSS feed

Disappointingly, the more important "Buy it now" link is not an Immediate Action. It should take you directly to a purchase confirmation page. Instead, the link takes you to the item's auction page where you must redundantly click the "Buy it now" button, which then takes you to the purchase confirmation page. The repeated step is unnecessary since even the confirmation page allows you to change your mind. Hopefully the eBay folks will get this fixed in short order.

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!