Passion * Technology * Ruthless Competence

Tuesday, February 14, 2006

Reinventing the List

Marc Canter seems pretty excited that Songbird is going to support XSPF. While Marc has written about it many times, I had no idea what it was. It's the XML Shareable Playlist Format (pronounced "spiff"). It's designed to be simple and open and built on XML. Typically, that's coolness but while reading the spec, I had a strong sense of deja-vu. XSPF defines a list of songs for a playlist, much the same way that RSS defines a list of blog entries.

So that begs the question, why didn't XSPF just use RSS instead of starting from scratch? RSS is simple, open, built on XML and is massively popular? Remember when Adam Bosworth that pointed out that RSS and Atom are "both support a base schema that provides a model for sets". I'm all for a simple, open and extensible playlist format, but I'm not excited that XSPF has gone of an reinvented the concept of "list" in order to do it.

Posted By Harry Pierson at 11:50 AM Pacific Standard Time
Tuesday, February 14, 2006 1:22:07 PM (Pacific Standard Time, UTC-08:00)
Along with a study of existing playlist formats (at http://gonze.com/playlists/playlist-format-survey.html), there was a preliminary study on RSS for this purpose:
http://gonze.com/rss_plus_time.html .

RSS didn't make sense for a lot of reasons. We were paving cowpaths, and RSS for playlists was very much not a cowpath. Playlists are about sequence, while RSS has no concept of sequence except reverse chronological order. We needed abstractions to deal with the fact that music and movies frequently don't have URLs, and RSS didn't have them. If not starting from scratch was critical, HTML preceded RSS and would be the default to work from.

That said, I would have liked for XSPF to be a lot closer to feed formats, even though it didn't work out that way. Maybe in the long run that's the direction it will go.
Thursday, March 09, 2006 7:26:04 AM (Pacific Standard Time, UTC-08:00)
Along with a study of existing playlist formats (at http://gonze.com/playlists/playlist-format-survey.html), there was a preliminary study on RSS for this purpose:
http://gonze.com/rss_plus_time.html .
Thursday, March 09, 2006 7:27:11 AM (Pacific Standard Time, UTC-08:00)
RSS didn't make sense for a lot of reasons. We were paving cowpaths, and RSS for playlists was very much not a cowpath. Playlists are about sequence, while RSS has no concept of sequence except reverse chronological order. We needed abstractions to deal with the fact that music and movies frequently don't have URLs, and RSS didn't have them. If not starting from scratch was critical, HTML preceded RSS and would be the default to work from.
Comments are closed.

PDC08

patterns & practices
Summit 2008

Øredev

Change Congress
Recent Bookmarks
Tags .NET Framework (2) ADO.NET (5) Agile (7) AJAX (3) Architecture (284) Guidance (6) Interop (2) Modelling (61) Patterns (7) Process (4) SOA (93) Web Services (5) ASP.NET (24) Battlestar Galactica (3) BI (2) BizTalk (4) Blogging (115) dasBlog (11) Podcasting (4) BPM (1) C# (10) C++ (4) Capitals (5) CardSpace (3) CLR (2) College Football (10) Comedy Central (1) Community (81) Concurrency (6) Consumer Electronics (1) Database (13) Dependency Injection (2) Development (117) C Plus Plus (1) Embedded (5) Lanugages (37) Media (2) P2P (11) Rotor (1) SharePoint (6) SOP (3) DIY (1) DLR (14) Domain Specific Languages (13) Durable Messaging (5) Dynamic Languages (10) Dynamic Silverlight (1) Education (3) Enterprise 2.0 (1) Entertainment (14) ETech (15) F# (51) Functional Programming (17) Game Development (2) Guidance Automation (3) Hardware (8) HawkEye (3) Hockey (29) Home Electronics (1) Home Network (5) Humor (5) IASA (1) Idempotence (3) infrastructure (5) Instrumentation (4) Integration (2) IronPython (27) IronRuby (11) Java (2) Job (3) LINQ (19) Live Mesh (2) Lost (1) Master Data Management (1) Media 2.0 (6) Microsoft (29) MIX06 (2) Mobile Phone (1) Monads (5) Morning Coffee (172) Object Oriented (4) Office (5) Open Source (5) Open Space (2) Operations (3) Other (135) Art (1) Books (1) Family (31) Games (18) General Geekery (26) Home Theater (1) Movies (23) Music (20) Politics (3) Society (1) Sports (37) Working at MSFT (15) Parsing Expression Grammar (16) patterns & practices (2) PDC08 (2) Politics (42) PowerPoint (2) PowerShell (33) Presentation (5) Projects (1) HawkWiki (1) Python (4) Quote of the Day (4) Refactoring (1) Research (2) REST (18) Reuse (5) Robotics (2) Rome (5) Ruby (23) Ruby on Rails (1) Sci-Fi (2) Scripting (4) Security (3) Service Broker (14) SharePoint (2) Silverlight (18) Social Software (1) Software + Services (2) Software Design (1) Software Factories (11) Software Industry (1) Spark (1) SQL Server (2) Stephen Colbert (1) TechEd (7) TechEd06 (1) TechRec League (1) Television (6) Travel (6) Unified Client (1) Unit Testing (4) UX (1) Virtual PC (2) Visual Basic (1) Visual Studio (20) Volta (2) Washington Capitals (34) WCF (31) Web 2.0 (65) Web Services (5) WF (21) Windows Live (23) Xbox (1) Xbox 360 (53) XML (7) XNA (14)
Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion.