Previously, I posted about using ScheduleWorld for synchronizing my calendar to my Windows Mobile phone. Due to some problems I experienced, I withdrew my recommendation, but I’ve got something that’s working pretty well for me now.
I’m using the free version of GooSync, and in my testing it’s been very reliable. The free version is limited in three ways that matter to me. First, it only synchronizes seven days into the past and thirty days into the future. Secondly, it doesn’t automatically synchronize – you have to manually run the process. Third, the free version is only supposed to synchronize two-way (from server to phone and phone to server).
For me, these limitations haven’t proven too painful. My calendar doesn’t change often, so when I plug it in at home I just hit the sync button. No big deal. Also, I really don’t find myself checking my distant calendar when away from the computer. It’s usually more a question of “what’s going on this weekend?” Finally, I’m mitigating the risks of the two-way sync wrecking my Google Calendar with a bunch of testing and backups.
Before starting the calendar syncing process, I added a scheduled task on my PC to back up my Google Calendar to a file each day. In case you’re interested, I’m using wget to grab the .ics file for my calendar each day and saving it to a unique file name with the date. If you want to know more just ask and I’ll post about it.
Additionally, I ran several tests with test appointments to make sure that the sliding synchronization window worked as it should. What I tested is listed below.
- Create a new appointment on phone in the current date range
- Create a new appointment on phone before the current date range
- Create a new appointment on phone after the current date range
- Create a new appointment on Google Calendar in the current date range
- Create a new appointment on Google Calendar before the current date range
- Create a new appointment on Google Calendar after the current date range
- Rename an appointment on phone when the appointment originated on phone
- Rename an appointment on phone when the appointment originated in Google Calendar
- Rename an appointment in Google Calendar when the appointment originated on phone
- Rename an appointment in Google Calendar when the appointment originated in Google Calendar
- Delete an appointment on phone when the appointment originated on phone
- Delete an appointment on phone when the appointment originated in Google Calendar
- Delete an appointment in Google Calendar when the appointment originated on phone
- Delete an appointment in Google Calendar when the appointment originated in Google Calendar
- Create an all-day event on phone
- Create an all-day event in Google Calendar
- Create a repeating appointment on phone – yearly
- Create a repeating appointment on phone – 15th of the month
- Create a repeating appointment on phone – 2nd friday of the month
- Create an all-day appointment on phone
- Create a multiday event on phone
- Create a repeating appointment in Google Calendar – yearly
- Create a repeating appointment in Google Calendar – 15th of the month
- Create a repeating appointment in Google Calendar – 2nd friday of the month
- Create an all-day appointment in Google Calendar
- Create a multiday event in Google Calendar
- See if events created on phone are deleted as window moves
- See if appointments created on phone are added as window moves
- See if appointments created in Google Calendar are deleted as window moves
- See if appointments created in Google Calendar are added as window moves
Everything propagates from phone to server and vice versa in a predictable way, so I’m happy with the results. In short, any change within the 7 day past to 30 day future window gets synchronized. The only items that get “deleted” are old appointments that you create in Google Calendar or on the phone – they are no longer synced to the opposite calendar when they are 8 days or more in the past. Likewise, if you create an appointment on the phone more that thirty days into the future, it will get synced to Google Calendar when the window slides forward to that date. Also, if a repeating appointment is synced to the phone, ALL instances of the appointment are synced on the phone. All-in-all, it seems like a good implementation, given the understandable limitations they’ve put on the free version.
Since I kind of use my main calendar (Google Calendar) as a historical record, it’s important to me that nothing ever gets removed from it. If I create an appointment on my phone, it won’t stay on Google Calendar after the sliding window of synchronization passes it. There are two choices for me to work around this: never create an appointment on the phone, or upgrade to the paid version of GooSync. Since I don’t create that many appointments, especially from the phone, I’m going with the first option for now. If I’m away from the computer and need to schedule an appointment, I just send myself an email. For now that’s working out OK. If GooSync would lower their rates, though, I’d revisit that decision.