relative paths in playlists

There is a new version of libSpiff, the XSPF library, with support for relative paths using the xml:base attribute. Up until now relative paths have never worked in playlists as far as I know, so whereas in an HTML document you could do…

<a href="my.mp3">my song</a>

In a playlist you always had to spell it out, like:

<a href="http://example.com/my.mp3">my song</a>

The long-term story here is about the maturation of playlists as an internet media type. They have rarely gotten enough respect to be implemented well, according to the same high standards as other media types, and as a result they could rarely be shared across different systems. Any application that did bother to support relative paths in M3U had to guess at how that should work, so no two apps would support it the same way and a different M3U file would have to be created for each app. That’s like having one kind of HTML for Internet Explorer and another for Firefox, which is how we did do things in the bad old days before internet developers aggressively moved to web standards.

A plug for libSpiff: it has this kind of sophistication in many other ways as well. Unlike most playlist implementations it does a stellar job with the little details (like character sets outside of US-ASCII) that tell a user whether or not to trust your software. If you’re making an app that uses playlists, you can have that quality level just by using libSpiff.

I know that many developers consider playlisting too trivial to even have this kind of detail. But then again, most app developers don’t do a competitive job on playlist support. Playlists are one of the three atomic multimedia types, along with audio and video. Considering playlists less important is like giving red and green more respect than blue: Light blue and dark blue are finicky colors. Sky blue is pretty much all you need.

Relative paths are a baseline part of the web. If playlists are web documents, they need to support relative paths. This release of libSpiff makes it so.


foo_xspf is a plugin for the foobar2000 audio software that adds XSPF support. XSPF is an open, XML based playlist format developed by the Xiph.Org Foundation. It uses the open library libspiff to parse the files.

Checking in

I suppose I ought to blog once in a while, so this post is to check in. Since last time I posted here the big news is that the software I have been working on in stealth mode for the last three years finally went public under the name of Yahoo! Media Player. It has gotten great reactions, been picked up on a bunch of notable pages, and been covered by well known sites like Tech Crunch. This software was originally going to be Webjay 2.0, but wasn’t released before the Yahoo! acquisition and ended up becoming the nucleus of a new Yahoo! project.

It’s not much like Webjay the site, which was a combination playlist editor, portal, generator, and social networking site. But philosophically it is still about media with URLs, openness, sharing, and interoperability.

It is also still about playlists. But it is a major twist on the concept. The player accepts all sorts of traditional playlists, like XSPF and M3U, as well as feed formats like RSS and Atom; it even has an integrated screen scraper which can use a remote web page as a playlist. But primarily the web page in which the player is embedded is the playlist.

Web pages are a very good playlist format. They are visually customizable, semantically rich, standardized, documented, open, flexible, decentralized and implemented world-wide. To the extent that they didn’t have syntax for everything playlist-oriented, we were able to use semantic HTML with a light sprinkling of extensions.

However I can’t use the player on my blog here, which is the reason why I haven’t been writing on this blog. This blog is hosted by wordpress.com, which blocks out Javascript. I need to move my blog to another host.

The code name for the player project, by the way, was “goose.”

squashed on standard layout of playlist blogs

In the comments on my blog entry about the standard layout of playlist blogs, squashed from Motel deMoka stopped by:


Kahlo is posting for MdM and feedmegoodtune is MdM friend as well. (ie. the format you talk is distinct of a tight group of people)

There are few more playlist blogs. But overall a regular playlist blog is fairly rare. Almost every big players post at MdM. eg. Music is art is another site. The rest is DJ’s site.

standard layout of playlist blogs

Playlist blogs are emerging as a distinct subgenre of MP3 blogs. As part of this they are taking on a common layout.

This blog entry catalogs layout patterns in these four playlists:

  1. I love the java jive and it loves me
  2. Robot+Proud
  3. Remix Sunday 58
  4. Ternura porno

For example:Ternuro Porno

The following is the standard form of these playlists, in order from top to bottom:

  1. Date and time the post was created.
  2. An image related to the mood or theme of the playlist.
  3. Song list, with each song formatted like this:
    1. Direct links to mp3s.
    2. Link text usually formatted as “artist – title”
    3. Sometimes (2/4 cases) with “(release information)” appended.
  4. A paragraph or two of prose.
  5. The traditional footer of a blog post. This usually includes a permalink to the post and the date and time that the post was created.
  6. Comments on the playlist.

In all cases the blog home page incorporates the full text of the playlist inline rather than linking off to a separate document.