Palm vs Apple

I have been watching this back and forth between apple and palm and I just can't figure out what palm thinks they are up to. In case you haven't been paying attention here's the quick history. The Palm Pre has a media sync mode where it pretends to be an iPod to the USB bus thereby fooling iTunes into syncing it as if it was an iPod. Of course it can't play encrypted media content like older music purchases or movies, but will play anything else. But in pretending to be an ipod they had to reverse engineer the communications and hack it all together. This simply cannot be fool proof as anytime Apple updates anything it's likely to break. They definitely did not have apples permission to do this, nor do they have any documentation on the protocol or any ability to keep up with changes except after the fact by continuing to hack out any changes.

So of course with the next iTunes update Apple broke their implementation, and with the next Pre update Palm hacked the new one and got it working again. So they can go back and forth until Apple breaks down and encrypts the whole thing or something that they cannot hack.

Why would they do this? This seems really bone headed to me. Doubly so given how simple it would be to do a separate background sync app that just read iTunes configuration files and copied the files to the device in a way that wasn't hacking the low level protocols. An iPod is not just a mass storage device that you copy files to.

There are API's on the Mac that give you access to all the iTunes information. A separate app could provide you with a list of all the iTunes playlists and media files you could select from in a window exactly the same as the one that iTunes uses to select them. Heck, it wouldn't be hard to do this BETTER than iTunes does in say it's horrible movie selection list for the iPhone where you dont even get to choose playlists but must scroll through all the individual movies. If you dont want to use the API's on the mac then there are apple events. All the data is available for any app that wants to ask it for the links to the files and the ID numbers of every track in the playlists. If you don't want to do that you can directly parse the plist files that it stores it's configuration data in. This is a little more hacky as they will certainly change those over time, but changing how you parse what is basically an XML file is a heck of a lot easier and more reliable to keep up with than changes to a low level USB protocol. Apple events do not exist on windows and I don't know if there is an official API for asking iTunes about it's content for use in other apps, but there are still the xml preferences files that could be loaded.

So those methods would add a single step to the sync process, basically you'd plug in your pre and a separate sync app would launch with all your iTunes data in it. But it would be a proper way of doing it that would be unlikely to make Apple mad at you since these are ways that they endorse for getting access to the iTunes data.

But instead they decide to play a game of chicken with Apple for no gain other than the fun of thumbing their noses at Apple for stealing their market? I can't think of any other reason to do what they have done. I honestly never had much interest in the pre except in learning what they did right and hoping that Apple benefits from a little competition. But given this really stupid move I have less than no interest in the pre. Only their users who expect to be able to sync with iTunes are going to be hurt as this continues to go back and forth and they continue to waste limited resources on fighting a battle that they didn't need to fight to offer exactly the same features. Just stupid palm.