Compass Rose logo for the Compass DeRose guidesMoving your PalmOS data to your iPhone

This page was written by Steven J. DeRose on 2008-09-03, and was last updated on 2008-09-03.

If you have a PalmOS device and get an iPhone, you'll have a lot of data to move over. The Calendar and Address List are pretty easy, but iPhone doesn't have a built-in Task List or Memo/Notepad application. This page gives a solution.

Note: If you find any errors here, or parts that are unclear, please let me know!



If you have a PalmOS device, and you get an iPhone, you need to move everything over. At least if you're on a Mac, here's how you do it (remember to sync your Palm to your Mac first!!!):

Date Book / Calendar
Go into Palm Desktop, and choose File/Export....
Then choose Module:Date Book and Format:vCal.
Choose a place to save it (let's say, "PalmDateBook" on the Desktop), and click Export.
Then start up iCal, choose File/Import....
Select Import a vCal file, click Import, and choose that file. Done.
Contacts / Address List
Go into Palm Desktop, and choose File/Export....
Choose Module:Addresses and Format:vCard.
Choose a place to save it (let's say, "PalmAddress" on the Desktop), and click Export.
Start up the Apple Address Book application, choose File/Import/vCards..., and choose that file. Done.

Unfortunately, the iPhone has no built-in Task List or Memos applications, so you need some third party Palm (and Mac) application for this. A tool called OmniFocus is the best application I've found for both purposes. It costs $20, but is much better than the Palm Apps (for example, you can arrange your tasks and notes in hierarchies, like folders on your disk, instead of only into one level of categories). It also syncs well (via MobileMe or WebDav, with Bonjour sync coming shortly), has a Mac version too, and has been around a while. But perhaps the biggest advantage, is that you can get Palm data across to it fairly easily.

So, how do you get your Palm items into OmniFocus? OmniFocus unfortunately doesn't have direct import for Palm files; but it's not too hard to accomplish:

Task List / To-do list
Go into Palm Desktop, where you'll do a similar Export to those described above. However, you may not want to export all your completed items, so use Palm Desktop to hide those: Choose View/To Do List. In the To Do List window at the upper right is a button labeled "Show All". Click it. Do not use "View all Tasks" in the pop-up menu for "View" at the upper left (at least for me, this often crashes). Now click on the arrow over the column of checkboxes, and select "Unchecked". This will hide the completed tasks.

OmniFocus doesn't have a notion of priority or category. The easiest thing is to make a folder for each priority or category (I prefer category), and then copy all the items for a given category into the right folder. If you sort by category before you export from Palm Desktop, all items with the same priority will be together, and you can do this in one step. To sort by category in Palm Desktop, just click the heading over the "Priority" column. Note: this way you lose the priority settings; if you prefer to keep them and lose categories, just sort by priority instead. I haven't found an easy way to keep both, but I may write an AppleScript to help with that eventually.

Now choose File/Export.... Then choose Module:To Dos and Format:Tab and Return. The "Items" menu should display how many (uncompleted) tasks you have visible. Click the "Columns" button, and uncheck everything but Task, Priority, and Category 1 (if you leave other items checked, they will show up after the name of the task when you paste into OmniFocus -- you might perhaps like that for priority). Choose a place to save it (let's say, "PalmToDo" on the Desktop), and click Export.

Here it gets a little trickier than for Calender and Address List. First, start up a text editor (such as Apple's TextEdit), and open that file. You'll see one task on each line. Do these next steps for each category (or priority):

  1. Go over to your text editor and drag to select all the lines for items to go in one category, and select Copy.
  2. In OmniFocus, make sure you're in "Planning" mode (a little button near the top-left of the window), then create a new "Project" for the category (click on the "+" at the bottom of the left pane), and name it appropriately.
  3. Click on "Inbox" in the left pane.
  4. Scroll the right pane to the top, and click on the "Inbox" line at the top (if you don't do this, the next step won't work).
  5. Paste. Each line you selected in the text editor, will become a new Project in the Inbox.
  6. Select all the Projects you just created (click on the little "project" icon that's second from the left of the first item, then shift-click on that icon on the last item).
  7. Pick up the selected items by clicking on the arrow to the left of any of them, and drag them all to "Inbox" in the left pane. This will change them all from projects into actions, which makes more sense. Note: There's probably a way to get them to paste directly as items, or to directly convert projects into actions, but I haven't found it.
  8. Select all those new action items, and drag them to the folder you made.

After you've repeated this process for each category (hopefully, you don't have an enormous number of categories!), you should be in good shape on the task list. Of course, don't throw away your original Palm Desktop file, or the file you exported from it; you neven know when you may want that data again!

Memos / Notes
Memos aren't so bad, since I ended up writing an AppleScript to do most of it automatically. It may take a second or so per item, but you should only have to do it once, so just start it up and go get some coffee while it finishes. Here's the process:
  1. Download palmMemos2omniFocus.scpt (control-click and select "Save Linked File As...", and specify a name ending with ".scpt"). It's an uncompiled AppleScript, so if you're nervous you can read it yourself and make sure it doesn't do anything it shouldn't. I'm working on an improved version that will let you choose which of tasks/events/memos/addresses to move, and whether to move to iCal etc., or to OmniFocus. Check back here for that.
  2. Go into Palm Desktop and choose View/Memo List.
  3. Choose which notes to export. You probably don't want to export notes that were attached to Calendar and Task items (if you do, I don't have an automatic way to re-attach them to the right items, so you'll need a fancier solution; an AppleScript could no doubt be written to move them to iCal or add them to the Tasks you already imported, but I'm not likely to write it myself). So, In the Memo List window at the upper left, select "Desktop Memos" from the pop-up menu for "View".
  4. As with the Task List, click on the header of the "Categories" column to sort.
  5. Choose File/Export.... Then choose Module:Memos and Format:Tab and Return. Click "Columns" and uncheck everything except Title and Body. Choose a place to save it (let's say, "PalmMemos" on the Desktop), and click Export.
  6. Start up the palmMemos2omniFocus.scpt AppleScript (just double-click it in the Finder). If the Script Editor opens for you, you'll also need to click the "Run" button to actually run it. If OmniFocus isn't already open, the script will open it for you.
  7. A file chooser dialog box appears. Choose the file you just exported. As the script runs, the count of items in the OmniFocus Inbox will rise.
  8. Create an OmniFocus folder for each Memo category. Especially if you have some Memo categories with the same name as Task categories, you may want to include "Tasks" and "Memos" in the folder names to keep them straight.
  9. For each category, select the appropriate items in the Inbox, and drag them to the corresponding folder.

Congratulations, your primary Palm data is now in Mac apps that can sync to your iPhone. Follow the directions for OmniFocus to set up syncing (for the moment, it's set up separately than regular iTunes sync!).

If anyone knows a practical way to have AppleScript control Palm Desktop, please let me know (System Event control works for some things, but how do you get at things like clicking on column headers?)

Other key apps you should have (IMHO):