So I bought an iPhone earlier this week. With some perl scripting I got all the contacts from my old phone in via Multisync as vCards, and manually entered the information that wasn't already in my previous PDA (fortunately not much, as I'd been mostly keeping them in sync by hand for years). From there I was able to use JPilot (1.6; older versions were broken) to export all the contacts as vCards, and then drag'n'drop them into Apple AddressBook and sync them to the phone. From what I can tell once I got all the information together in my old PDA and sync'd into JPilot (and JPilot upgraded to 1.6) the process "just worked", so long as the exported files had a ".vcf" extension (they were ignored otherwise). (At least it worked enough to be useful immediately; there's quite a bit of manual cleanup that could be done since Apple AddressBook -- and the iPhone -- can record quite a bit more detail than my old PDA could, including multiple home/work addresses.)

Calendar information could similarly be imported by syncing it into JPilot, exporting it in iCalendar format, and then importing it into Apple iCal. This also "just worked", providing the exported file had an ".ics" extension (it was ignored otherwise). For ease of reference I imported the Palm events into a "Palm" calendar, separate from the Home/Work ones.

Mostly for posterity, here's a list of iPhone related tips discovered while randomly searching for things:

And some suggestions for iPhone apps to use:

ETA: Screenshots can be transferred using iPhoto or Image Capture on OS X. They are not automatically sync'd by iTunes. (See also Photo Importing.)

ETA, 2010-03-06: Hint (above) on jumping to top of page by tapping on status bar

ETA, 2010-03-07: iTunes appears to store the iPhone backup in ~/Library/Application Support/MobileSync/Backup, with a series of files named after the sha1 hash of the path on the iPhone. They are SQLite databases, and it appears binary encoded property lists (which can be decoded with plutil -convert xml1). iPhone Backup Extractor (GUI, donationware, no source) can be used to (AFAICT) rename the sha1 hash versions to useful filenames (based loosely on the older and now unmaintained Python script, iphone-backup-decoder (MIT license)); it appears that the filename is somehow included inside the .mdinfo part of the data. mdhelper is an ObjectiveC program on GitHub to decode these files, and appears to build a command line tool (prebuilt binary also available). There's also PhoneView (US$20) which allows viewing various things from the iPhone directly, including decoding various databases. It appears none of this works if you choose to encrypt your iPhone backup (Manifest.xml has a tag which indicates if it is encrypted or not).

Possibly also of use, Disk for iPhone which is a MacFUSE file system to access (parts of) the iPhone file system (only the parts exported, jail breaking required for full access; may not support SnowLeopard at this stage).

ETA 2010-07-03: Activate Field Test application: from Phone application dial:

*3001#12345#*

(ie, enter that string of DTMF digits and then press call), and it will start. (Via Anadtech iPhone 4 antenna issue; apparently not available on iPhone 4, but is available with iOS 4 on iPhone 3G(S).) (Details on Field test App; more codes (old, some may not work now, some are standard GSM features).)