Palm Pre USB hack confirmed

A little birdie provided me with the following:
Palm Pre Video

As I speculated in my previous blog post on Palm Pre Sync and now confirmed by the image above, when the Pre is in “Media Sync” mode it identifies itself as an Apple iPod. However, it’s only the Mass Storage interface that identifies itself as an iPod. The root USB node (IOUSBDevice) still identifies the device as a Palm Pre (not visible in the image above). This means that Apple can very easily update iTunes to block the Pre.

Follow me on Twitter.

Update: that the Pre still works with the new iTunes 8.2 release is not surprising and doesn’t mean much. The news about the Pre’s iTunes support came out on Friday. iTunes 8.2 was released on Monday. Software has release cycles that include QA. There’s simply no way Apple could have made changes to how iTunes identifies an iPod and passed the new build through QA in such a short amount of time.

Syncing music and video to the Palm Pre

Palm Pre video converter
Palm today announced that the Pre will sync seamlessly with iTunes. From the press release on Palm Pre iTunes sync:

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”.

Oh, and when that happens, be sure to download doubleTwist to sync your music and video to the Palm Pre 🙂

Follow me on Twitter.

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

Looking for a Cocoa developer

We are looking for a Cocoa developer (either full-time in San Francisco or contract based from any location) to work on the MacOS X version of doubleTwist. I’m currently working on the MacOS X version and I need an additional developer. Unlike the Windows version of doubleTwist, the MacOS X version has a native look and feel 🙂 If you’re interested, please get in touch. We’re also looking for a Mac designer/artist to do some graphics+icon work on a contract basis.

doubleTwist bugfix release

We just pushed out another doubleTwist release. It fixes the following issues:

  • Fixed the exception that was occurring if you had http entries in your iTunes library (e.g. streaming radio)
  • doubleTwist now displays properly if you are running Windows at 120dpi
  • Allows + sign in e-mail addresses

You should be getting a notification in the application that there is an update available. If you don’t want to wait for the notification, right click on the doubleTwist tray bar icon and select “Check for update”.

To report bugs, please use our contact form or send them directly to me if you’d prefer that.

Issues that are still not fixed include:

  • iTunes is not detected if your iTunes library is in a non-standard location.
  • If you are behind a corporate proxy server, the installer and/or login to doubleTwist may fail.

Ideas on the next doubleTwist UI

Here is one of the concepts we came up with for the share section of doubleTwist. What do you think? We’d like to make it as easy as possible to share the content you’ve created, whether it’s stored on your computer or a connected device, with your friends. When you connect a device such as a Nokia N95, it shows up under My Devices and you are able to share media directly from your device just like in the current UI. The area in the bottom right corner is a mini player that lets you preview videos before you share.

dT UI concept

doubleTwist desktop has launched

After a lot of hard work, we’ve finally released doubleTwist desktop. The goal of doubleTwist is to simplify the flow of media across devices and social networks. To give an example: say you shot a video with your Nokia N95 cellphone. How do you send that video to your friend and make sure he’ll be able to play it on his iPod or Sony PSP? Yesterday, the easiest solution was to give up. As of today, the answer is doubleTwist. With doubleTwist, you’ll be able to share and sync digital media without worrying about codecs and bitrates.

Download doubleTwist and send us your feedback! If you are a developer and want to add support for a new device, check out our developers page.