Zune playlists consumable as usable RSS feeds with Yahoo Pipes

Online playlists in the Zune ecosystem, such as “Favorites”, can be consumed as Atom feeds via URLs such as http://socialapi.zune.net/members/98772405-3286-4e64-b78b-f7512f3804fe/playlists/BuiltIn-FavoriteTracks. That’s a great way to merge multiple “socials” into one big fat “social,” or to keep tab on what your friends are listening to.

Unfortunately there a couple usability problems with the Atom feeds:

  1. According to feedvalidator.org, the Atom namespace qualifier used on the <feed> element will cause interoperability problems. It’s perfectly valid XML and Atom 1.0 but some consumption code, including some I saw written at work the other day, is looking for <feed>, not <a:feed>. I suspect this is what throws off FriendFeed’s blog importer, as well as the importers for Yahoo Pipes and Microsoft Popfly.
  2. <entry><link> has an empty href attribute. Hey Zune team, remember that social I mentioned earlier? If you don’t link to it, customers ain’t joinin’ it.
  3. <entry><updated> is the feed-generated date/time, not the date/time the track was added to the playlist. Time is an important dimension! (*waded favorites a curmudgeonly song at 3:54PM.)

So I thought, hey, let me try a little Yahoo Pipe grease:

  1. Fix the interoperability problems by sourcing the Atom feed in Pipes as raw XML, then spitting certain elements back out as RSS.
  2. Use the Zune Social XML namespace track information to make a useful <item><link> to get users to http://social.zune.net album info.
  3. Nothing much to be done about the date problem that I could see… that’s for the Zune folks to fix.

The result is at http://pipes.yahoo.com/waded/zunefavorites. The RSS rendering, with parameters in bold, is at  http://pipes.yahoo.com/pipes/pipe.run?_id=4va_WrpV3RG7AfwEiXrL0A&_render=rss&mid=98772405-3286-4e64-b78b-f7512f3804fe&playlist=BuiltIn-FavoriteTracks

July 19, 2008