Saturday, February 23, 2008

Merged feeds

As I've mentioned, I started three blogs at once. Yeah, crazy. Although a blog has a home on a web site (mine are on Blogger), a lot of readers use RSS or Atom feeds. For those readers who want to read all three blogs, I figured it would be useful to provide a single feed for all three blogs.

I was surprised to learn that Blogger doesn't provide this feature and that Feedburner and other feed packagers don't either. Fortunately, there's a solution. Yahoo! Pipes is "a powerful composition tool to aggregate, manipulate, and mashup content from around the web." That's a mouthful. But, in short, Pipes is a web service that lets you build a data manipulator, that takes input from one or more web services and produces its output as a new web service. Pipes supports a number of web services as inputs (though I've read some reports of problems with non-RSS inputs). But, the only one I need right now is feeds.

Although the complex features can be downright confusing and the user interface leaves a bit to be desired, it doesn't take much to build a pipe.

  1. Go to http://pipes.yahoo.com
  2. Log in with your Yahoo! ID (you'll have to create one if you don't have one yet).
  3. Click the big Create a Pipe button at the top.
  4. In the create a pipe window, drag in a Fetch Feed module from the Sources section and a Sort module from the Operators section.
  5. Type in the feed URLs, and configure the Sort operator as shown. Use the + icon to add additional feeds. Connect the modules to each other by clicking on the output circles and dragging to the input circles.
  6. Save
  7. You can test the pipe immediately using the Run Pipe... link at the top.
That's it. Now you have a working merged feed, with a URL that will look something like this:
http://pipes.yahoo.com/0BrqS5Tf3BGylqJG2h2EvQ
You can edit that so that it looks nicer, but that won't give you statistics. So, I recommend you head on over to Feedburner and burn it. Then, give that URL out to people.

The Yahoo! Pipes URL for this pipe is http://pipes.yahoo.com/this/mixture
The Feedburner URL is http://feeds.feedburner.com/thismix


Note: If you provide feeds from Feedburner or another feed packager, it's important to not use those feeds in your pipe as it will mess up your reader statistics. Use the original feeds from your blogging service. When you want to know your overall readership statistics, just add up the totals from the base feeds and the merged feed.

Bonus: Creating a Summary Feed

Some people use blog readers to keep up to date on what people are writing, but they like visiting the actual blog sites to read what interests them. To accommodate these people, I also created a Summary pipe which shortens the blog entries to about 250 characters. Here's what it looks like:
The Regular Expression operator in the middle does two things:
  • It truncates the description after 250 characters, always breaking at a space. The 500 character limit is large in case there is a long URL at the 250-character point.
  • If we truncated in the middle of a tag, remove it.
Update: I removed the links to my summary feed and I've deprecated it. It looks like everybody subscribed to the full feed rather than the summary (not too surprising, I suppose). I'm leaving the information here because it might still be useful to somebody.

1 comments:

sblom said...

Great tip, Roy! I've been looking for a way to do exactly this. I _wanted_ to be able to make the claim "you could also do this with Microsoft's Popfly (http://www.popfly.com)", but it appears that Popfly is more about in-browser mashups than in-the-sky data pre-processing, and I couldn't find a way to do this in the 15 minutes that I spent looking into it.

Post a Comment