exchange – Stay N Alive

How to Push Sync Calendars and Contacts to Your iPhone Using Gmail

iphone.jpgMy friend, Phil Burns, recently wrote a very rare blog post citing a discussion this morning at the monthly Utah CTO breakfast, hosted by another friend of mine, Phil Windley (former CTO of Utah).  Burns stated his concerns with the “anti-Microsoft people” (which I am not, nor am I anti-Apple or anti-Linux) and the fact that they were complaining about how hard it was to automatically sync all your contacts, calendar, and mail on their phones from services such as Gmail and other 3rd-party services.  Burns’ (I’ll call him by his last name here so as not to confuse him with Phil Windley) point was that he already gets this service on his Windows-based phone and laptop through Exchange.  Valid point.  However, I think those at the breakfast were uneducated on the matter that Gmail now supports Exchange sync and push services to the iPhone.  Push sync of all contacts and calendar events are completely possible using Google services on the iPhone.  I don’t blame those complaining though, since the documents explaining how to do it are extremely hard to find via Google’s own search.  I thought I’d explain how to set that up here:

What you’ll need

First of all, the only things you’ll need are a Gmail account, a Google Calendar account, and an iPhone.  That’s it.  You’ll also need to have the 2.2.1 or above iPhone firmware since that is when they started supporting Exchange (at least I believe that’s the reason).  For push e-mail, a Mobile Me account will be needed, but Google is set to enable that in the future as well.

Calendar and Contacts Set up

  1. To set up push sync of your Google contacts and calendar events to your phone, simply go to your iPhone settings, select “Mail, Contacts and Calendars”, and then select “Add Account”.  Here’s the trick though – instead of selecting “Gmail”, you’ll need to select “Exchange”.
  2. On the following screen you’ll be asked for several fields – enter your gmail e-mail address in the “e-mail” field.  Leave “domain” blank.  Your “username” is your gmail e-mail address – the full address with @gmail.com or @googlemail.com, prefixed by your username.  Then enter your Google account password in the “password” field.
    img_0099
  3. On the following screen you’ll be asked to verify the certificate – choose “Accept”.
    img_0100
  4. Then, on the next screen you’ll see the same screen again, but there will be a “Server” field.  Enter “m.google.com” for the domain and select “Next.
    img_0101
  5. On the following screen you’ll have the option to turn on mail, contacts, and/or calendars.  Turn contacts and calendars on, leave mail off.  As you select each option you’ll have the opportunity to delete your current iPhone contacts and just start fresh with your Google contacts and calendars or leave them there and add your Google contacts/calendar on top of it all.  Hit “Done” when you’re ready.
    img_0095
  6. You’re done!  Now when you go to your Calendar app you can update the calendar, it auto-updates Google calendars, and you get updates immediately as they come from Google calendar itself.  Your Gmail contacts work the same way.  Now you can sync all your contacts’ phone numbers, addresses, and other data from your computer to your iPhone, and have those immediately update Google with the new data, giving you a complete Google address book (and no need for Plaxo!).  Add to that Google Voice, which just started handing out invites to new users today, you’ve got a pretty powerful, real-time contact and calendaring system right on your phone!

What about e-mail?

E-mail currently does not work via push yet for Gmail and the iPhone.  However, I’ve found the IMAP-based setup that the Gmail options in the phone give are quite fast and pretty close to real-time.  Be sure to set that up, and turn off the contacts and calendar for Gmail on that particular setting when you do, since you’re already retrieving those through the Exchange connector.

One other option you could always do is to get a Mobile Me account just for the e-mail and iPhone location services (Apple will notify you where your iPhone is at all times, let you send a message to the phone, or even completely erase it if you tell them to).  Then you could forward all your Gmail mail to Mobile Me through your Gmail forward settings, and retrieve it that way.  With the proper set up and filters, your mail will continue to archive in Gmail while letting you get mail real-time via push through Mobile Me.  I think for mail IMAP is generally sufficient though.

So there you have it – push contacts and calendaring for your iPhone, through Gmail.  It’s completely possible, and 100% supported by Google and Microsoft (I’m told they purchased Exchange licenses just for this).  Soon I’ll have to share how I’m doing the same thing natively on my Mac.