This was (for me) the holy grail of syncing. I wanted all the possible syncing to work in all the possible directions–so if I added an event (or changed or deleted one) on the calendar on my iPhone, it would be reflected on the other calendars, too–and vice versa and versa vice. On Mac and on PC. (probably not necessary to explain why this complicated syncing was necessary–but I know, from much googling, that others would like to be able to do it, too.)

At first it was looking like it really would not be possible. But then two new developments made it all work.

IPhone 2.0 included true Exchange integration, and Google Calendar released their Calendar Sync (PC only, damn it, but that was workable).

So here’s how it all works now…

On the iPhone, set up to sync mail, calendar, and contacts with Exchange. That’s easy one-step, and syncs almost instantly.

Then the Exchange server handles syncing all that info with Entourage (on Mac) and Outlook (on PC).

The Google Calendar Sync handles syncing Outlook with Google Calendar (I keep that running in a VMWare Fusion virtual Windows XP machine on a desktop Mac).

And Spanning Sync (on the Mac) handles the syncing between Google Calendar and iCal.

Believe it or not, the whole thing works. There is (at most) a 10-minute lag for any event to sync, but they all do reflect all the same changes, and the best part is that it works for the iPhone without connecting the cable to sync.

Of course, an open calendaring standard, shared by everyone, would make all these gymnastics unnecessary. But as long as there’s Microsoft Exchange around, I don’t hold out much hope for that actually coming.