Palm media sync is a feature of webOS that synchronizes seamlessly with iTunes, giving you a simple and easy way to transfer DRM-free music, photos and videos to your Palm Pre.(2) Simply connect Pre to your PC or Mac via the USB cable, select “media sync” on the phone, and iTunes will launch on your computer desktop. You can then choose which DRM-free media files to transfer.
Reading about this on blogs I’ve seen two clueless arguments being repeated:
Palm must be doing this in co-operation with Apple.
That must be why in Palm’s demo iTunes says “Syncing iPod” instead of “Syncing Pre” and Palm investor Roger McNamee called Apple a monopolist when Walt Mossberg asked how Apple is going to feel about this.
This is nothing new. RIM and Nokia have been doing iTunes sync for a while.
No, RIM and Nokia have offered their own software which reads the iTunes XML library file and syncs to their devices. That’s nothing like the Palm Pre which identifies itself to a PC as an iPod and syncs with iTunes directly instead of 3rd party software.
The following is worth noting in Palm’s press release:
(2) Compatible with iTunes 8.1.1 on Windows XP/Vista and Mac OS X version 10.3.9-10.5.7
That’s called covering your rear Translated from PR-speak we get: “Don’t expect this to necessarily work with iTunes 8.1.2”.
So how is Palm doing this? It’s pretty simple, really. We’ll start with the most basic question that doesn’t even involve the Pre: To a PC, what’s the difference between an iPod and a Kingston memory stick? The iPod has a specific USB Vendor Id that identifies it as being an Apple product and a USB Product Id that identifies it as being a specific iPod model. In addition, the iPod’s filesystem has a specific folder and file structure. Modern iPods also respond to a custom USB command that returns an XML file with information about the device.
So how has Palm most likely enabled the Pre to sync directly with iTunes? By doing the following:
- When you select “Media Sync” on the Pre, it will switch its USB interface to use Apple’s Vendor Id and the Product Id for a specific iPod model
- The Pre exposes a filesystem through Mass Storage Class that mimics the structure of an iPod
- The Pre responds to Apple’s custom USB command and returns XML info about the device
What can Apple do about this? When two parties implement an open standard, there’s usually some differences. In this case, there’s two implementations of a proprietary standard and it’s almost guaranteed that there will be differences. Apple will analyze the Pre and find out what those are. They will then be able to update iTunes to tell a real iPod apart from the “PrePod”.
Update: some people are linking to this Apple support article, claiming that’s how the Pre is able to sync with iTunes (of course, these people don’t actually explain the “how” since that would require them to know something about the subject). I didn’t even bother linking to that originally since I thought nobody would be technologically inept enough to use that as an argument: 1) That article has been archived and is no longer updated by Apple, 2) It applies to Mac OS X only, 3) The listed players are over half a decade old, 4) The reason those players were supported was because iTunes included CUSTOM CODE to support those players, 5) The Palm Pre’s iTunes sync capability works without installing any Palm software/plugins, 6) If the Palm Pre was using an iTunes API for 3rd party devices, then iTunes would be identifying the Palm Pre as a Pre, not as an iPod