I used Palm Desktop from 1999 until December 2005. In 2004, I migrated my address book information to Apple's Address Book for its greater flexibility and integration with the OS. I hesitated migrating my calendar information because I was concerned that I would lose some functionality. This year (2005), I decided to migrate to iCal. I do miss some features of Palm Desktop, but iCal does offer features that are not in Palm Desktop.
I was using Palm Desktop (version 2.6.3) under Mac OS 9 and migrated to iCal under Mac OS X by way of Palm Desktop (version 4.2.1) under Mac OS X. (In retrospect, I don't think it was helpful to migrate through version 4.2.1. When I was having problems, I did that migration hoping that the newer version would offer more flexibility in exporting.) My migration was not painless. As I was not quick to migrate, I expected to find instructions and advice from others that had already done it. All I could find was a shareware application that never worked for me. The rest of this page are my notes on how I migrated. I hope someone trying to migrate from Palm Desktop to iCal will find this helpful.
Addendum (Feb 2009): Within a year of my migration, there was almost nothing about Palm Desktop that I missed. My migration to iCal did not offer the dramatic improvements of my migration to Address Book, but I find iCal far less dysfunctional than Palm Desktop.
Migrate from Palm Desktop 4.2.1 to iCal 2.0.3 (1055)/Address Book 4.0.3 (483)
This approach is tailored to my situation and may completely mangle your data. It would be wise to read this entire document (including the "Known issues" section) before using. Examples:
I did not use alarms in Palm Desktop, so there is no provision for migrating alarms
Many of my TO DO items had category 2 set but not category 1 (this is a historical problem so remote that I don't recall the cause); these are accommodated
I rarely used multiple categories, so this issue is not handled
These instructions and the accompanying Perl scripts are distributed under the terms of the new BSD license (license explained). Previously, this was distributed under the Perl artistic license. As the new BSD license is less restrictive than the Perl artistic license, this should not create any issues.
By using the software, you agree that you alone are responsible for any consequence of the use of the software and that your sole remedy is to delete it from your computer.
While it worked well for me, it will probably erase your hard drive, cause your network performance to suffer, break some of the pixels on your monitor, and may make your cat spontaneously combust. Plan accordingly. Back up your data regularly and keep a fire extinguisher handy. Do NOT run the script as root or with administrator privileges; it doesn't need them, it doesn't want them, and it wasn't tested with them.
I strongly recommend doing at least one dry run before committing to the migration. Some things may be easier to fix in Palm Desktop.
delete or schedule all unscheduled events
remove multiple categories manually from all records
delete completed TO DO items and events that are no longer of interest
Put these files in the same folder (directory) with the program files. You don't have to use these filenames, but the rest of the instructions assume you do.
Date Book data (vCal format) in exp-date-book.vcal
To Do data (Palm format) in exp-to-do.palm
Address data (vCard format) in addresses.vcf
Memo data (any format) - this will be an issue to address later
This can be done through the Import menu item or dragging the file into Address Book. A limitation is that notes, custom fields, and categories all end up in Address Book's note field. A program could probably massage the file into a better form, but I didn't write one. I fixed the records manually as I used them.
In Terminal.app, run mkical-events.pl and mkical-todos.pl:
$ cd ~/where/you/put/the/perl/scripts
$ chmod 700 ical-events.pl ical-todos.pl
$ mkdir ical-import
$ ./mkical-events.pl exp-date-book.vcal
$ ./mkical-todos.pl exp-to-do.palm
Use whatever tool you like to set the file type for all files in ical-import to "vCal". I used "iLikeYouMore.app", though I don't know that it is still available for download.
Import each file in the ical-import directory into iCal. This can be facilitated by telling the Finder to open the files with iCal. For each file, tell iCal to put it in its own calendar. It is relatively easy to move large numbers of items from one calendar to another (with multiple items selected in the search results pane [see View menu], control-click to bring up a choice of calendars). Expect to do further clean up later.
Some of these should be notes for a particular Event or TO DO. Others may belong in a note keeping application (e.g., sidenote, VoodooPad Lite, viJournal Lite) or plain text files. With memos, you're on your own.
Some of these can ruin your day if you are not prepared. I've used red for the ones with the greatest potential for a loss of data.
clicking on imported unscheduled TO DO items crashes iCal (this is a limitation of ical-todos.pl; this should be fixable if you are willing to work on the code)
information on recurring TO DO items is lost (by removing a "#" on line 50 of mkical-todos.pl, all uncompleted TO DO items can be flagged with "may recur")
event items with multiple categories produce separate calendars for each permutation (not combination)
to do items with multiple categories ignore a second category (but will use category 2 if there is no category 1)
iCal will only import a file TYPEd as "vCal"; CREATOR is not important
multi-day events (RRULE:D1) get created as a recurring event (one each day)
all recurring events get the string "(recurs)" appended to their description - this is intended to make it easier to fix multi-day events and redundant birthday events
for TO DO items, alarm, priority, and privacy are not preserved
links (attachments) between Palm records are not preserved
data in memos is not handled
when exporting in vcal format, Palm Desktop escapes semicolons, but iCal does not seem to realize these are escaped