Steve ignores the cloud at his peril: Why I chose Google Apps over MobileMe as a server for my email, contact and calendar data

Keeping your data in the cloud, to use a current phrase that people don’t always clearly understand, actually means storing your data on a web-based server and accessing the data via the Internet using any combination of desktop and mobile clients. The point of cloud computing, if you use Apple hardware (a Mac at home, a laptop, an iPhone and maybe an iPad), is keeping your data in sync, seamlessly, without having to worry about where you edit your information. I’ve been doing this ever since I first set up my own Microsoft Exchange server—which at that time was the only way of doing it—in 2006. This worked very well with the Blackberry phone I was using at the time; but getting it to sync with my Mac required a series of tiresome compromises and hacks, including using Entourage as my desktop client.

MobileMe felt like deliverance from evil after tinkering with Microsoft Exchange—but it has irritating issues of its own that Apple, which isn’t interested in delivering a credible cloud package, has done nothing to redress

It’s now nearly two years since Apple brought out iPhone OS 2.0, which brought over-the-air synchronisation, via MobileMe, to its email, contacts and calendar items. I was able to ditch Microsoft’s ghastly, outdated proprietary products for ever and have been using Apple’s free desktop apps, Address Book and iCal, as clients for my contacts and calendar items. Since 2008, I have been syncing them over-the-air with their iPhone equivalents via MobileMe. As I explained at the time, I haven’t been using MobileMe for email, because it can’t be configured to run on your own domain and because of its grossly inadequate handling of spam. Instead, I’ve used Google Apps for email, which I chose to deploy on my own domain using Google’s $50/year Premier Edition.

My configuration after August 2008: using MobileMe (for contacts and calendar) and Google Apps (for email) as a cloud server to sync all my devices
My configuration after August 2008: using MobileMe (for contacts and calendar) and Google Apps (for email) as a cloud server to sync all my devices. The client applications (iCal on my Mac, Calendar on my iPhone) connect to the server over-the-air and every item remains in sync

I’ve been reasonably happy with this arrangement, although having perfect sync between my contacts and calendars using native Apple software, while preserving data perfectly, comes at a cost:

  • first, there’s a financial cost: MobileMe costs $99/year, which is outrageously expensive considering how bad its email is, meaning that, in effect, is what I pay every year, just to sync my contacts and calendar items;
  • second, there have been issues with MobileMe: although the service has steadily got more reliable, has shown reasonable uptime and I haven’t experienced data loss, my main gripe is the appalling slowness of the sync process on OSX: MobileMe appears to be perpetually in sync and consumes a vast amount of CPU.

I’ve also been rather annoyed that over the past two years, while Apple has been allocating resources massively to iPhone and iPad development, it has largely neglected its existing software portfolio. Apple’s mastery of servers has always been haphazard at best: its .Mac service which was MobileMe’s direct ancestor and which I had used since I switched in 2003, was a notorious underperformer. I suspect the root of these problems lies in a combination of outdated software, ported from previous system versions, and inadequate scaling. But I basically had to put up with this, because although MobileMe didn’t do the job very well, it did sync my contacts and calendars, and I could bypass its unusable mail feature by using Google Apps. And anyway, I was effectively locked in by the lack of any viable, equally reliable and efficient alternative.

Google Apps, which was only usable for email when I switched to MobileMe in 2008, has quietly improved the reliability and power of its data server systems and made them totally compliant with the Mac, iPhone and iPad

While Apple ignored the cloud and focused everything on creating newfangled, shiny pieces of hardware, however, Google was busy improving the compatibility of its server applications with Apple’s desktop and mobile clients. At the end of last year, Google introduced a number of improvements to its Gmail, Google Calendar and Contacts applications:

Address Book contacts can be synced with Google contacts
Address Book contacts can be synced with Google contacts: go to the Address Book menu, choose Preferences, and then check Synchronize with Google. It’ll ask for your Google account and password, then automatically update your contacts every time you sync your iPhone. Be sure to back up your address book before you sync.

Given that Apple has basically done nothing to improve its partly deficient cloud apps, it made sense, two years after I started using MobileMe, to see whether I should switch my contacts and calendar to Google.

I’ve decided to switch my calendar server to Google, using my Apple apps on my Macs and my iPhone as servers. It makes sense to keep my email and my calendar on the same server anyway. Configuring iCal to do this is childishly simple:

Enabling Google Calendar on Apple iCal
Enabling Google Calendar on Apple iCal: Open Apple iCal, go to Preferences and then the Accounts tab. Click on the + button to add an account.

It’s easy to set up Calendar on your iPhone as a mobile over-the-air client for your Google Calendar. On your iPhone, go to Settings > Mail, Contacts, Calendars > Add Account > Other > Add CalDAV Account. For the CalDAV settings, enter the following information:

Entering your CalDAV information in the iPhone Calendar app
Note that your username should be the email address you use to access your Google calendar as well as the password.

Now every time you add an event to your iPhone calendar, it will sync with your calendar on Google’s servers and with iCal on all your Macs, and vice versa. You obviously need to have Internet access from your iPad or iPhone for the data to sync.

Google Calendar today is far superior to Apple’s Calendar:

  • it can be set to send SMS reminders to my phone from the server, which is much better than having them unleashed by the calendar client, meaning alarms will sound—and have to be set off—on all your devices at once [iii];
  • it handles invitations natively at server level too, and because of the large number of people using Google it does so much better than Apple;
Google Calendar can be set to send reminders by SMS to your iPhone
Google Calendar can be set to send reminders by SMS to your iPhone
  • Google Calendar works seamlessly with Google Maps, meaning when you open a calendar item in the web interface, it will automatically link to your event’s location;
Google Calendar's web interface will display a link to your event's chosen location
Google Calendar's web interface will display a clickable link to your event's chosen location. This useful feature is not available on MobileMe.
  • more generally, the web interface for Google Apps has considerably improved in the past two years, while MobileMe's has stood still. A number of Gmail Labs features have been made permanent and customization options are now practically endless.

So I’ve now switched my calendar server to Google—accessing it, as before, via the iPhone and Mac clients—leaving only my contacts to sync on MobileMe: the reason I haven’t switched contacts to Google is because Google’s contacts feature, which syncs very well with Address Book, is still buggy with the iPhone; some data gets lost and the number of phone numbers you can associate with each contact is limited.

I chose to leave my email to sync from the iPhone with Google via IMAP: I find Microsoft Exchange slower and less reliable: it doesn’t properly sync labels, for instance. For the same reason, I sync the iPhone’s Calendar app with Google using the CalDAV Account option.

I've now switched to Google Apps servers for everything except for contacts
I've now switched to Google Apps servers for everything, except for contacts, for the time being, because they're still in beta and can only be synced with the iPhone via Microsoft Exchange, which produces rather haphazard results. Email uses IMAP and calendar event sync via CalDAV.

Eventually, once Google’s sync with iPhone contacts goes out of beta, I’ll be able to dispense with MobileMe altogether. I have no use for its storage feature, since Dropbox does a better job at for a much cheaper price; and MobileMe’s residual sync services [iv] are either dispensable or available more cheaply elsewhere. I’m about as loyal an Apple fanboi as you can get. But MobileMe’s performance relative to the competition, meaning mainly to Google, has been such a combination of complacency and mediocrity that I now can’t wait to finally pull the plug on our seven-year relationship.

  1. As TechCrunch pointed out, Apple didn't do a thing to make this happen, which is why it's basically a bit of a hack.
  2. Make sure you don't edit your contacts in Google if you use MobileMe, though, otherwise you will end up with duplicate contacts. If you choose this setup you should always edit contacts in Address Book on your Mac and in the Contacts app on your iPhone or iPad.
  3. Apple sends reminders not from the server but from the application, which means it has to be running for the feature to work, and involves a far less straightforward manipulation.
  4. MobileMe syncs Safari bookmarks, Calendars, Contacts, DashBoard widgets, Dock Items, Keychains, Mail Accounts, Mail Rules, SIgnatures and Smart Mailbox, Notes and Preferences.