[Update: Now that we have iOS 4, none of this is necessary any more because I can sync two activesync accounts – my work Exchange and my personal Google Mail. That gives me synced contacts and calendars as well as email. To setup your Google account for activesync: choose the Exchange option when adding the account on the iPhone and enter complete all the details on the form; when you save, you will be prompted to enter the server name – m.google.com. That’s all there is to it, much easier than the solution below!]

For the past year or so I’ve been using MobileMe to store my contacts and several calendars. I couldn’t find any other way at the time to sync both my NHS Mail Exchange account and my personal calendars and contacts to my iPhone and Outlook. But I’ve now given up on MM for the following reasons. Firstly, the MM applet which runs on my PC is buggy and doesn’t run properly if you don’t have Outlook set as the default mail client. Secondly, it’s too expensive – I really don’t want to pay £60/year for the service. Finally, it’s much more difficult & expensive to share stuff in your MM account with other people than it is with e.g. Google calendars. So I decided to look for an alternative.

The solution I’ve settled on is (so far) very reliable and doesn’t cost me an arm and a leg. It is admittedly less convenient, but at least I don’t have to put up with the MM applet any more. [Of course, none of this would be necessary if we could have two activesync accounts on the iphone! A feature which has turned up in Android 2, I notice.]

  1. Get a Google Mail/Calendar account. I decided to get a Google Apps domain of my own.
  2. Import the calendars from Mobile Me to Google Calendar (GCal). MM doesn’t provide any way that I could find to export the calendars, so I had to export from Outlook.
  3. Create a new Outlook profile on the PC to host the GCal stuff, then add ical subscriptions for the calendars. [It’s important to do this in a separate profile – if you do it in your Exchange profile, the calendars will be synced to Exchange and you end up with the same calendars twice on the iphone.] [Update 2009-12-03: Adding ical subscriptions can be a bit tricky. The best method appears to be to copy the private ical address from your calendar settings in Google, paste the url into the address bar in Internet Explorer, replace the https with webcals and then Go. It should offer to open the file in Outlook. For some bizarre reason, you can’t just paste that address into Outlook, otherwise you get an “invalid url” error.]
  4. Open Outlook with your Exchange profile and then add the new Gcal-connected .pst as an additional data file to be opened. I use Outlook 2007, so I can then have my Exchange calendar overlaid with my personal calendars.
  5. There’s no equivalent of ical for contacts unfortunately, so I’ve had to make do with dumping contacts out of Outlook, importing them into Gmail and then using sync tools to keep everything up to date on PC and iphone. (More of that in a minute.)
  6. On the iphone, get rid of the MobileMe account. This is pretty scary of course, but you can always add the account back if things go awry!
  7. Add a new account – choose Caldav and follow Google’s instructions here. Note that by default you only get one calendar, but at the bottom of those instructions it gives you the URLs for changing which calendars are synced. So that’s the calendars sorted!
  8. I use SyncInABlink to sync my contacts from Gmail to iphone. This is not convenient of course, since you have to remember to do it, it’s not automatic and doesn’t have the push facility of Mobile Me. But my contacts don’t change much over time and the SyncInABlink app is very good at helping you keep your contacts organised and duplicate-free. I also really like the fact that I can now share my contacts list with my family via Google’s sharing feature, something which would have cost a fortune on MM.
  9. As a final tweak, use Tungle to allow people to check your free/busy times against all your calendars.

So that’s it. Not great, I know, but it’s possible to live with it. I only ever used the Calendar and Contacts in MM, so I don’t miss the disk storage or url syncing. I don’t get the “where’s my phone” facility or push syncing any more either, and I do miss those a little bit. I doubt I would go back to MM unless it became a lot cheaper and more open. I think the big improvements we need to see in this field are: sync two activesync accounts on the iphone; Google Apps syncing should allow more than one calendar over activesync; there really needs to be some sort of Caldav-like standard for Contacts syncing. I hope this info is helpful – please let me know if I’ve got anything wrong or if you can suggest better methods for keeping everything in sync.