Synchronizing iSync enabled devices

Mac OS X 10.4 "Tiger", among other new features and "under the hood" improvements, has also introduced the new iSync engine, named Synchronization Services. Altough Apple says that they bring "faster performance, a simpler interface, and an extensible architecture" I have not seen any noticeable improvement in the iSync synchronizations respect to the "old" Panther's iSync: for example, modifying an event on my Palm Tungsten I often end up with duplicate events in my calendars and other times some contacts are duplicated in my Address Book with no valid reason (while iSync claims that such contacts have been modified on my cell phone); as an opposite effect, sometimes I really change the start date/time in a calendar's event or a contact's phone number on my cell phone but such changes are not brought to my Mac by iSync.

Running Tiger and iCal 2 you may have noticed that using first iSynCal to sync your calendars with other Macs/users and then iSync to sync your Palm or cell phone, it may happen that the new events created on other calendars don't sync to the iSync devices, meaning that anything created with iCal on the computer where you also run iSync syncs fine, but none of the calendar items synched by iSynCal do.

Since I guess that you are probably experiencing similar iSync/Sync Services-related issues too (either you will in a near future, unless Apple fixes them), you may find useful the following hints.

After some testing and headaches I have indeed found this workaround: on the Mac where you run iSynCal and iSync, launch iCal at least once after the synchronization with iSynCal and before synchronizing your devices with iSync: doing so the new and modified iCal items acquired via iSynCal from other calendars are brought to the Sync Services database (it's the main database where all of your Address Book contacts, iCal events/todos, Safari bookmarks, etc. are stored and retrieved by all applications which need to access to such items, like Address Book, iCal and iSync) so that iSync will be aware of such modifications on the next synchronization. This is a small "rule" that you should always observe to avoid the issues above.

Because of another Sync Services issue, after synchronizing your iCal 2/Tiger calendars with versions of iSynCal up to 5.2.2 you also had to manually delete the file syncState.plist, located in the ~/Library/Application Support/iCal folder. Now you no longer need to delete this file because iSynCal v5.3 (and later) will automatically delete it after a synchronization.