husk.org / blog. chaff. occasional witterings.

2005-03-16

Streaming vs Sharing

computing 21:03:46

In the last post, I referred to the fact that I don't like it when people call iTunes music sharing "streaming". There's a good reason for this.

Many MP3 applications allow other users to tune into a copy of what you're listening to. It's the basic Icecast/ Shoutcast radio model. It's fine, unless you have some New Order deep in your collection that you don't like, but that I want to listen to. I'll never know it's there, and you'll never play it.

No, what you really want is the ability to look at all of your music. I can look and see the list of artists, and find that New Order 12" b-side from 1986. You may have forgotten it was even there, but that doesn't stop me listening to it.

Until iTunes, the only place I'd seen that attempted was in web software like Apache::MP3 and Andromeda. They're hamstrung by two things:

  • the crap UI for searching through hundreds (let alone thousands) of tunes
  • the reliance on m3u or pls files to hand off to the mp3 player

On the second point, I'll admit that I'm probably more paranoid than most people about not opening downloads until I double click on them, but then perhaps there'd be less malware around if that were the case. A psuedo-URL scheme (like the feed: protocol that's grown around RSS/Atom) would solve it, but it'd take a long time to get established.

The real problem is that searching through lots of tracks through a glorified directory listing is really hard. When you do find the tracks, do you want to stream one or stream all or stream shuffle? Or did you actually want to download them? Or stream everything in the subdirectories underneath you recursively? Confused yet?

No, if you can use your familiar local music library GUI to scan, then play, tracks from a remote library, switching on or off modifiers like shuffle and repeat as if it was local, then you've got a much better experience. The only place I've seen that is iTunes.

While technically, yes, library sharing uses streaming (as opposed to download; the file you're listening to is never fully on your computer, and you can't take a copy, unless you're a little naughty), to me, streaming is being forced to endure songs that someone else has put into a playlist.

So, why doesn't anyone else do music sharing like this? Well, to be honest, DAAP, the Apple protocol underlying it, is horrible. It's well understood, now, but flinging around binary encoded data is a pain. There's talk on the mt-daapd project of allowing the server to also send out XML, which might make writing new clients a bit easier.

Still, nobody else seems to have taken on the idea (as opposed to the protocol), which is a shame, because it's a bloody good one. Possibly too good. I suspect the reason Apple are continually tightening the usage terms of library sharing (from allowing any IP to connect to limiting to Rendezvous shares, with an initial five-user limit, and now a five-users-a-day cap) is because someone at the RIAA continually tells them that they're walking a damned fine line with this feature. Last.FM are a bit too close to allowing you to request a track you want, and I know people who worry about their long-term legality as well.

Perhaps it's an idea that will take a good, open, free implementation to really work.

navigation.