Sunday, December 16, 2007

Apple iPhone / iPod Touch as SlimServer clients

There's almost a consensus about what's missing on the iPhone: support for 3G (or better), a GPS, a video capture feature, support for third-party applications, etc. These are the most obvious features, because we're used (or almost used) to having them on other phones.

The other day, I was playing with my father's brand new 16-GB iPod Touch. Just like the iPhone, you can use it to browse the Web using Safari. The difference with the iPhone is that you necessarily have to connect to a Wi-Fi network. You cannot connect to an EDGE network (i.e. to a mobile phone network). Anyway, I'm a fan of SlimServer. It's not the greatest piece of software I've ever seen, but I use it to listen to my music collection remotely, via the Internet, from at least four different locations. The rest of the time (maybe 5-10% of the time), I use my old first-generation iPod. So, quite naturally, I tried to connect to my PC, using the iPod Touch. Of course, it worked: I was able to browse my music collection, launch search queries, and so on. The only thing I couldn't do was actually listen to my music!

This is the number one feature I'd like to see on the iPhone and/or iPod Touch: support for music streaming via HTTP. After all, they have everything that's needed to do it. This shouldn't be too hard to implement...

6 comments:

Joerg said...

Hi!
It's a SlimServer problem, not an iTouch Problem. The iPod can use streaming media, but SlimServer does not support the necessary Http 1.1 features.
BTW, If you control your SlimServer with the iPod, try www.penguinlovesmusic.com.

Cheers

Joerg

Olivier Bruchez said...

> It's a SlimServer problem, not an iTouch Problem.

I'm not sure I understand what you mean. I use SlimServer with Winamp and all I have to do is specify a URL starting by "http://" (in Winamp). The iPod Touch (and I guess the iPhone) offers absolutely no way to specify a URL anywhere.

joerg said...

Of course it does. In the browser ;-)
Try it. With some streaming servers (all that support byte range requests, that is: modern ones) it works. You get a quicktime screen that plays your music (same as video screen). Will work with TwonkyMusic, for example, but that one is not really streaming but just presenting the whole file.

Cheers

Joerg

Olivier Bruchez said...

> Of course it does. In the browser ;-)

Of course. :-)

I'm still confused. "Byte range requests" only make sense when you're trying to download a file, doesn't it? SlimServer potentially streams transcoded data, so it's not always serving actual files.

Anyway, it shouldn't be too hard to support SlimServer streams.

joerg said...

That confuses me as well. I suspect they use it for power management, that is: loading part of the stream and buffering it or something. I am also not sure, whether that is the problem, fact is: it doesn't work and Apple's compatibility test complains that the server doesn't support byte range requests.
I put up a bug on Slimdevices' bugzilla (#6022) and they put the target release to "future". So maybe you want to vote for it.

Olivier Bruchez said...

> So maybe you want to vote for it.

Done! This is the bug page (bug #6266):

http://bugs.slimdevices.com/show_bug.cgi?id=6266