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:
- Copy and paste by holding finger on word or space to get popup menu
- Enable silent mode with switch above volume buttons
- Internet tethering in Settings->General->Internet Tethering (via cable or bluetooth)
- Open link in new tab in Safari by holding finger on link until menu appears (previously required Javascript at link) (see also tabulate bookmarklet which offers a menu)
- Rearrange icons by holding finger on icon until they start shaking
- Save battery power by changing settings (particularly keep Bluetooth and Wifi (or at least "ask to join networks") off except when needed; and exit application back to menu before locking to avoid app staying running)
- Scroll straight to the top of the page in Safari by clicking on the status bar (signal strength, time, etc) (scrolling quickly to the bottom requires a jail broken iPhone and QuickScroll); you can also "page down" by double tapping near the bottom of the screen (but not on a link!)
- Take a screen shot by holding home button and pressing power button
- Turn off by holding power button, force quit an application by holding the home button, and forcably restart by holding power button and home button
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).)