OK, so Thursday I got my spiffy new T-Mobile "myTouch" (I'm going to call this my G2 from now on, to keep from gagging). It looks pretty cool, but of course it's no good to me without my calendars and contacts, which are on my old Treo 650. For my calendars and contacts, I've used a program call Agendus from Iambic Software for a long time (I think it was called "Action Names" when I first started using it, and since then it's gotten upto Agendus 13, so we're talking a good stretch of time in dog years). Agendus has a Palm OS client and a Windows client, and it lets me link an appointment to a contact. Since most of my appointments are meetings with patients, most of my appointments consist of just the link, without any other description. Agendus uses the native Palm databases, and it just appends " [Doe, Jane]" to the appointment if that's the contact you chose. If I get hooked on this blogging thing I will rant on this at some length since it's related to why I decided not to get an iPhone.
I was hoping that when I migrated the data, I might be able to preserve this link to a contact (eg as a "guest" in Google Calendar), but no such luck... So now I have tons of appointments on my Google calendar with "What" fields like " [Bullock, Sandra]" (just kidding, I don't have any meetings with her, but that's the first name that came to mind for some reason that I probably really don't want to know). Well, I can live with that; my calendar is still reliably searchable, which is one thing I need.
My current computer set up is this: I have a MacBook Pro, and I run Windows XP under VMWare Fusion (I cannot say enough good things about Fusion, BTW, and you will notice this is not true of many pieces of software for me). I got the MacBook maybe two years ago, and thought about moving my contacts and calendar to the Mac, but there was no Mac version of Agendus. So I've been continuing to sync my Treo using the Windows software.
I've been using Palm OS since 1997 or so, and I have almost 2500 contacts and probably 3000 calendar items (many, many more if you count individual instances, since many of my appointments are weekly). So I need something pretty robust to upload all of this to gMail and Google Calendar.
What worked. To cut to the chase: after years of avoiding syncing my Mac with the Treo, I used "The Missing Sync," from Mark/Space Software, to load my events into iCal and my contacts into the Mac Address Book. I spent $40 for this program, I don't expect to use it ever again, and it seems to have been worth every penny (see my next blog entry for the many problems I had with other approaches). [I realized as I was proofing this that the number of people who use Agendus on a virtual Windows machine running on their Mac may be relatively small (like, if there is another one of you, drop me a line). But nothing in this is particular to Agendus, it all applies to the usual Palm DB. You may need to find a friend with a Mac (but if you do, they'll probably want to create a separate User account for you, so you don't get synced with their iCal and Address Book). Or if you are fortunate enough to have cash lying around, maybe this will convince you to buy a Mac.
1. For the contacts: Missing Sync loads your contacts into the Mac Address Book database. For each category, it creates a group whose members include every contact who was in that category. (If you have a lot of groups in your Mac address book, you may run into trouble here because there's a limit of 15. I only used the Mac address book for email addresses, so I didn't have a problem here. Missing Sync has way to tell it to sync particular groups only, but it doesn't have a way to tell it not to sync a particular group. I don't really understand the technicalities here because I didn't run into a problem). As a happy extra, Missing Sync merged the email addresses in the Mac database with the address/phone etc info in the Palm DB, rather than leaving me with duplicates to merge by hand. Missing Sync also warned me with each DB sync that was going to change more than 5% of the records in each DB. It meant that I needed to interact during the sync, but it's a good example of how well thought-out the software seems to be: I can see that this feature could prevent some disasters.
From there, all you do is click on the "All" group in the Mac Address Book app, and go to "File > Export > Export Group vCard...," to export the contacts to a file. In Gmail, click on "Contacts" on the left sidebar, and then on "Import" along the top. I had actually deleted all my contacts before, because of some of the less successful attempts describe in the other post, so I don't know whether it tries to do any automatic merging. But I discovered that if you check two or even three contacts, Gmail will offer to merge them, and if you click it will propose something reasonably intelligent. So merging contacts one-by-one becomes quite painless. Score another point for the big G.
It was straightforward and it seems to have done a good job.
2. For the calendar: Missing Sync takes each of your datebook categories, and turns it into a separate iCal calendar. In iCal, you do need to go through these calendars one-by-one: click on the calendar, go to "File > Export..." to save the calendar as a ".ics" file. In Google Calendar, create a Calendar for each category by clicking "Create" under "My Calendars." Then import the file for that calendar by clicking on "Add" under "Other Calendars" and selecting "Import Calendar" which will take you to a screen which will let you upload the file you exported from iCal.
It's worth mentioning that your "main" calendar uses your gmail address as its name, and there doesn't appear to be a way to change the name. So you may want to take one of your categories/iCal calendars (such as "Home") and import it into your main calendar rather than creating a Google calendar called "Home."
This seems to have worked pretty well except that gCal choked importing my "Unfiled" calendar. A number of times it gave me a "Server Error" message saying gCal was temporarily unavailable and I should try again later. It seemed to have brought over lots of events (at least the recent ones, which I care about the most). But it would have been nice to have it tell me it's successful. The last time I tried again it imported 8 (out of maybe 800) events, saying I didn't have sufficient access to my calendar to import the rest. So there was this one glitch but given everything I'd been through, I was pretty happy. So now I have all my categories showing up in different colors, on both gCal and on the G2.
I do have an obscure problems with repeated events: I have a lot of weekly appointments, but if someone's on vacation we cancel an appointment out. Calendar programs handle this internally by having "exceptions" to recurrent events. All of these exceptions seemed to upload fine to iCal and from there to gCal but for some reason they did not seem to make it over to the G2. Maddeningly, even when I delete the extra appointments that were supposed to not be there, they come back. I'm hoping that this is just a problem with the uploaded data, not a problem with appointments that are entered into gCal, and when I tested the situation with a new recurrent event created in gCal, the exception seemed to get to the G2 just fine. Stay tuned and I will definitely rant if this keeps happening with newly entered data.
But so far, so good!