Notes on the XSPF playlist format
Abstract

This document is an informal explanation of the XSPF playlist format. It is intended to explain what we did and why we did it. See xspf.org for formal documentation.

Administrative notes

This document is maintained by Lucas Gonze.

Creation date of this document is Sunday, July 18, 2004.

The home of this document on the web is http://gonze.com/xspf/xspfdesign.html

What is XSPF?

XSPF is an XML playlist format. It is an acronym which stands for XML Shareable Playlist Format. The acronym may be pronounced "spiff" or "spliff".

Why XSPF?

Assuming -- arrogantly, as I have to -- that XSPF is good enough, before XSPF there was no SGML-like format for playlists that could measure up to the standards of the SGML-like formats for web pages (HTML), weblogs (RSS), and web graphs (RDF).

It was evident that there was a need for an XML format. XML is the preferred data description language of the moment. The tools and skills to use it are ubiquitous. New XML playlist formats pop up on a regular basis.

It was also evident that existing playlist formats fell short. ASX (for Windows Media Player) and the iTunes library format are proprietary. M3U, RAM, and QuickTime are not SGML-like. Gnomoradio RDF is a one-man project without the resources to go all the way. SMIL is too hard to implement. The timing model of RSS doesn't fit audio and video. Forcing timing models into HTML, as HTML+Time does, creates an unintelligible feature set. Few of these formats are well documented. Few make simple features easy and hard features possible. Only one is an open standard. Not a single one offers interoperability across major vendors. Not a single one attempts to solve these problems.

Who is involved?

There are representatives from two major technology vendors who needed a well-made XML playlist format for commercial reasons. There is one person from the W3C whose motivation was, I think, to offer the benefit of experience in the standards process. There are three hackers from the free and open source community whose motivation is to fix something which is broken. The hackers -- myself, Robert Kaye, and Matthias Freidrich -- have done the bulk of work.