Universal Playlist Format (UPL)

Languages and libraries

playlist file format

SHOW HN2017

144points
101comments
#268of 2,242 in 2017
Top 12%of 2017 by points

How HN took it

CuriousMostly questions and neutral comments

6 positive, 60 neutral or asking, 1 mixed, 21 critical, out of 88 comments about the project. Thread score -0.26.

Idea: 6 for, 15 againstDesign: 0 for, 4 againstExecution: 0 for, 1 againstPerformance: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Good idea that could reduce duplicated effort for playlist transfer tools

    From 1 comment
    • This is such a good idea. If nothing else, third party tools that people make to transfer playlists between platforms could standardize on this and, in doing so, would reduce…
      ianwalter on HN
  • Useful for consolidating playlists across music services

    From 1 comment
    • This is such a good idea. If nothing else, third party tools that people make to transfer playlists between platforms could standardize on this and, in doing so, would reduce…
      ianwalter on HN

Objections

  • XKCD 927: yet another standard adds to the mess

    From 3 comments
    • My own format = https://xkcd.com/927/
      qntmfred on HN
    • XKCD predicted this. https://xkcd.com/927/
      partycoder on HN
    • Title: "Tired of the non-portability of my playlists, I wrote my own format." Subtitle: "The Universal Playlist Format" Analysis: https://xkcd.com/927/
      lutusp on HN
  • XSPF already exists and could be extended instead

    From 2 comments
    • What's wrong with xspf? Couldn't you just extend that with more attributes (which legacy apps could ignore)? https://en.m.wikipedia.org/wiki/XML_Shareable_Playlist_Format
      discreditable on HN
    • Yes, please! We have enough playlists formats to support already (and most of them are half-baked/half-broken already). There is no good reason to not reuse and extend xspf.…
      jbk on HN
  • YAML is too complex and causes interoperability problems

    From 2 comments
    • > I don't think there are many languages that don't support YAML these days YAML is a big and complex format though, libyaml's header is bigger than the entirety of libtoml. I…
      masklinn on HN
    • Another consideration is that yaml's sheer complexity creates more possibilities for interoperability issues. No two parsers for JSON behave identically, let alone for something…
      TazeTSchnitzel on HN
  • Music players and services have no incentive to support it

    From 1 comment
    • I'd love something like this, but I don't see any upside for iTunes or Spotify to support it. Anything that makes it easier for a customer to switch to a competitor is something…
      a2tech on HN

Requests

  • Use JSON instead of YAML

    From 2 comments
    • Are relative paths supported? Probably in this day and age it would have better chance at adoption if it would be a JSON file. It's just network effects.
      hawski on HN
    • > Probably in this day and age it would have better chance at adoption if it would be a JSON file. It's just network effects. And here I was feeling badly for thinking that it'd…
      zeveb on HN
  • Support multiple tracks in one file such as DJ mixes

    From 1 comment
    • One of the key things I've looked for in a playlist format for many years is the ability to handle files that contain multiple tracks. My main example of this is continuous DJ…
      joshka on HN
  • Add converters from other playlist formats

    From 1 comment
    • This looks interesting. Do you have any plans to create converters to convert to UPL from other formats?
      supermdguy on HN
  • Support relative paths

    From 1 comment
    • Are relative paths supported? Probably in this day and age it would have better chance at adoption if it would be a JSON file. It's just network effects.
      hawski on HN

Questions

  • Why MD5 and SHA1 in the example

    From 1 comment
  • Why not standardize on an audio fingerprint

    From 2 comments
    • That sounds like a noble goal, but in a "modern" format designed for the same thing, I'd expect the role of the "identification key" for the files to be played by a…
      derefr on HN
    • I think a few people have open-sourced various audio fingerprinting algorithms. Perhaps we should standardize around one and enable real UUID for audio files? That seems to be…
      TTPrograms on HN

Alternatives named

  • XSPF

    From 2 comments
    • What's wrong with xspf? Couldn't you just extend that with more attributes (which legacy apps could ignore)? https://en.m.wikipedia.org/wiki/XML_Shareable_Playlist_Format
      discreditable on HN
    • Nothing's wrong per se (and it has roughly the same goals as mine), it's just that it's pretty much the XML equivalent of M3U, and doesn't have any provisions for stronger…
      StavrosK on HN
  • M3U

    From 1 comment
    • Nothing's wrong per se (and it has roughly the same goals as mine), it's just that it's pretty much the XML equivalent of M3U, and doesn't have any provisions for stronger…
      StavrosK on HN
  • Cue sheets

    From 1 comment
    • One of the key things I've looked for in a playlist format for many years is the ability to handle files that contain multiple tracks. My main example of this is continuous DJ…
      joshka on HN
  • m-Tags

    From 1 comment
    • It's not trying to solve the exact same problem, but m-Tags is also using metatags stored in a seperate file. http://www.m-tags.org/
      MobesMobes on HN
  • Magnet URI

    From 1 comment
    • Do you know about magnet uri[1]? magnet:?dn=Anciients%2FFollowing%20the%20Voice&xt.1=urn:sha1:…
      geocar on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/13764173)