More iTunes: itms

pudge on 2003-05-01T11:06:10

If you install iTunes 4, it adds several new schemes to your list in Internet Config.

[pudge@bourque pudge]$ perl -MMac::InternetConfig -le 'print join "|", GetICHelper($_) for qw(itms itmss daap)' hook|iTunes hook|iTunes hook|iTunes

(hook is the creator ID of iTunes.)

itms stands for "iTunes Music Store" and allows for links like the ones you see below. Click on the song title and iTunes opens to that song in the store; click on the artist or album and get that. Of course, small spelling differences can mess things up, and many songs/albums/artists are not in the store, but that's life in the big city.

I imagine that itmss is for secure transactions. daap is used for playlist sharing. Both itms and daap are being reverse-engineered; itmss is more difficult since you can't just peek at the TCP/IP traffic, seeing as how it is, you know, encrypted.

Now Playing: At The Zoo - Simon & Garfunkel (Old Friends)


itmss

ziggy on 2003-05-01T17:03:49

I doubt itmss is anything more than itms over SSL. And I doubt that itms/daap are anything more than HTTP over high numbered ports, with maybe some extra metadata lurking somewhere. It would be too expensive for Apple to invent a completely new protocal when HTTP can be beaten into submission for virtually any task (e.g. SOAP).

Any clues where they're using itmss vs. itms? Sending purchased tracks perhaps?

Re:itmss

pudge on 2003-05-01T17:08:12

I did s/itms/itmss/ and iTunes threw me an error. So something else is going on.

And yes, itms and daap (and most likely itmss) are just HTTP, but requests to send and what to do with the results, these need to be discovered. I didn't mean to say they weren't HTTP, just that there's another sort of protocol on top of HTTP.

Re:itmss

ziggy on 2003-05-01T17:34:41

Yep. A few people on xml-dev have poked around and determined that itms (at least) is a RESTful protocol. Replacing itms: with http: (and adding a port number perhaps) is sufficient for examining the XML documents that iTunes builds into an interface. At first glance, looks like a the presentation portion is an XMLified nib file of sorts. :-) (The data portion is a plist, of course.)

Re:itmss

extra88 on 2003-05-01T19:11:09

Any clues where they're using itmss vs. itms? Sending purchased tracks perhaps?

There's no need to encrypt the downloaded AAC files since the DRM is already in place before it's downloaded (that's an educated guess). The encryption is probably only for authentication (both the user and machine, for the sake of DRM) and accessing user account information (including the credit card number). Perhaps the authorization "key" which unlocks a file to play on a particular machine would be encrypted to prevent malicious manipulation as opposed to theft. The only reason to encrypt any other traffic would be to prevent monitoring of store browsing habits which seems like a low priority.

Re:itmss

ziggy on 2003-05-01T19:22:54

There's no need to encrypt the downloaded AAC files since the DRM is already in place before it's downloaded (that's an educated guess).
I don't think AppleMusic is using DRM. Didn't pudge demonstrate that all of the restrictions are done within iTunes? If they're not using DRM, then encrypting the AAC files in transit will cut down on stealing a track when someone else pays for it.

Re:itmss

pudge on 2003-05-01T19:28:09

No, the purchased AAC files have embedded DRM. They cannot play in other AAC players -- only iTunes 4, QuickTime 6.2 players, and iPod -- and cannot be played by unauthorized machines.

But, you can convert the AAC to AIFF with iMovie (and QT 6.2).

Re:itmss

ziggy on 2003-05-01T19:44:45

That doesn't sound like DRM. That sounds like using encryption keys to restrict where the files can be played. DRM is about enforcing your right to make no more than 10 copies of a file, making a file self-destruct after a month (if you don't pay your subscription fee on time), or restricting your right to play a file except on the computer you used to download it.

DRM is a complete mess. Apple's approach is a lot more sensible. Call it DRM if you want, but it's all picking nits at this point.

Re:itmss

pudge on 2003-05-01T19:47:50

Microsoft says DRM is:


DRM is a set of technologies content owners can use to protect their copyrights and stay in closer contact with their customers. In most instances, DRM is a system that encrypts digital media content and limits access to only those people who have acquired a proper license to play the content. That is, DRM is a technology that enables the secure distribution, promotion, and sale of digital media content on the Internet.


That sounds like what Apple is doing, to me. YMMV. :-)

Re:itmss

ziggy on 2003-05-01T20:09:32

It's exactly because of phrases like «limits access to only those people who have acquired a proper license to play the content» that I don't think AppleMusic qualifies as DRM.

Apple is emphatically letting you burn CDs of purchased tracks, and copy purchased tracks to any-and-all iPods, and even do limited streaming. Sounds to me like there are plenty of legal ways to use purchased tracks that don't involve acquiring a proper license. Or, at the very least, Apple's DRM implementation makes the acquisition of a proper license is ludicrously less restrictive than it is with Microsoft's current and proposed uses of DRM.

Re:itmss

pudge on 2003-05-01T20:18:57

It says "limits," not "prohibits." It does limit access; you must have the Apple ID authorization to play the original file. And they are limiting streaming. Those are "limits."

And yes, it is less restrictive, by a lot. I never pretended all DRM was created equal. I don't even have significant problems with the protection of the purchased files, except 1. I would rather buy CDs and have no such restrictions (not to mention a better format [for me] and higher quality) and 2. Apple said on the one hand we can do whatever we want with the music, but it isn't true.

Re:itmss

extra88 on 2003-05-02T13:14:42

Of course iTunes Music Store is using DRM! You can't play a purchased track on a computer until you use iTunes to authorize it (which involves communicating with an Apple server) and you can only have 3 computers at a time authorized to play a particular track.

What pudge demonstrated was iTunes playlist *sharing* (i.e. streaming) is basically HTTP and using a properly formed URL, you can download a track. This trick will not get you a DRM-free copy of a purchased AAC track, the client computer still has to be authorized to play it. Even when a purchased file is streamed to a client, it requires authorization of the client computer (which is lame, but there it is).