Fixing my iPhone syncing & lag problems

I love my iPhone and have found the transition to the 2.0 software to be basically painless. I was also very much looking forward to updating from the “cloud” provided by MobileMe, essentially ensuring that everything would be up-to-date without having to physically attach the iPhone to my Mac. Problems arose almost immediately: I began experiencing huge (10-15 second) delays when making selections on the iPhone, trying to access applications or even make a simple phone call. I tracked down the issue and fixed it, and you can too. Here’s how.

My problem was related to my contacts. After years in business, I have nearly 5,000 contacts in Address Book, but with version 1.0, I only synced “active” records to the phone. I simply created a group called iPhone and put everyone in the group that I wanted to have on the phone. Simple and effective. When I upgraded the phone software and turned on cloud syncing with MobileMe, however, I experienced an odd problem. MobileMe seemed to only want to sync *all* of my contacts, not just a specified group. After allowing this to happen, the delays and buggy performance began on my iPhone.

For me, I spend a lot of time out of the office. I’m rarely (but occasionally) adding new contacts via the iPhone, but I’m frequently adding new calendar events on both the phone and the computer. The events have to stay updated all the time so the office knows where I am and what’s going on, but the contacts can be synced manually (by physically connecting to the computer.)
(Note: I attribute the fact that it took a few days to fix this problem as user error. I simply wasn’t looking hard enough to find a fix.) Anyway, digging into the preferences, iTunes mentioned that I could control the push options on the iPhone. The problem was that calendars and contacts seemed to share the same preferences. If I wanted to push calendars (which I definitely did) I had to push contacts (which I was willing to live without.)

On your iPhone, choose Settings > Fetch New Data > Advanced >

You’ll see that Calendars & Contacts are grouped together here and share the same option, whether it’s Push or Fetch. Bummer.

But I eventually found a different location that offered what I was looking for:

On your iPhone, choose Settings > Mail, Contacts, Calendars > >

This opens a MobileMe account info screen which provides the ability to individually control behaviors for Mail, Contacts, Calendars, and Bookmarks. In these settings, I turned Calendars on and left the others off. This allows my calendar to *always* sync automatically through the cloud but I can manually control Contacts.

So, back in iTunes, on the Info tab, I have the ability to “Sync Address Book contacts” and choose which selected groups to sync. Now the calendar is always right, the right contacts are on the phone and the complete Address Book is backed up on all my computers (and MobileMe), and the laggy performance on the iPhone is gone. Problem solved!