Frustrated by the bizzare rules that seem to govorn your iPhone data use? Maybe you turned off push synchronization to save on battery life, but your left wondering if and when your data will sync. This article may help.
I am planning a trip to Africa where data access is expensive, so I needed better understanding of when, exactly, the iPhone reaches over the network. In the process, I learned quite a bit about how mobileme synchronization works. If you have any more to share, leave your insights in the comments and I will update this article.
Here are my conclusions so far based on a series of packet sniffing experiments. I should mention that all traffic is encrypted, so the sniffer was only useful to measuring the timing and amount of information exchanged.
- The most conservative data use sync options are to turn the master “push” switch off and to set the fetch settings to manual. When that happens, calendars and contacts seem trigger an immediate sync when new items are added. Otherwise, there is no apparent periodic traffic unless you trigger a manual sync (done by entering the application itself.)
- You trigger a manual sync by ENTERING the application whose data you want to sync. In the conservative settings, exiting and entering an application (contacts, calendar, etc) seems to remind the iphone to check for new data from mobileme.
- The iPhone will only perform a manual sync every few minutes, regardless of how many times you enter and exit the application. For instance, if at 5:52 PM you enter the calendar application, and update data you will trigger a sync. But if at 5:54 PM you enter the application again, you will not trigger any network traffic. If you enter at 5:55 PM you get a sync.
- When you trigger a sync, over then next 10-15 seconds the phone will reach out over the network and poll for updates.
- Once you’ve triggered a sync (for whatever reason), all updates for the application is exchanged with mobileme. Updates apply only to that application, so a sync on contacts does not necessarily update calendars.
- Even polling for new data is expensive – I typically measured 5KB-6KB traffic for an empty poll to check if data had changed.
- Some vaguely asynchronous application running on the iPhone is responsible for determining if the server should be polled. Its not the code of the application itself. Sometimes I was able to observe sync traffic even if the phone was recently placed in standby. Entering the calendar or contact application triggers this process to poll an exchange data.
- All data to the mobile me servers is in SSL (or at least occurs on port 443)
4 comments
5 pings
Skip to comment form ↓
Chris Whiteford
August 8, 2008 at 11:44 am (UTC -4) Link to this comment
Another way if you are worried about data charges (as I am when I go to the UK later in the fall) you can completely turn off the network functionality (of course there isn’t a nice little option for this, so you have to use fun little tweaks like the following – http://brent.kearneys.ca/sysadmin/2008/iphone-20-how-to-disable-cellular-internet-access/ or if your provider doesn’t restrict you from changing the apn your self you could just do it that way – http://support.apple.com/kb/HT2283?viewlocale=en_US&locale=en_CA)
chris.
Scott Sharman
August 8, 2008 at 11:53 am (UTC -4) Link to this comment
Very very informative, great read
Aribasso
December 18, 2008 at 8:14 pm (UTC -4) Link to this comment
You are a great person. I like it so much! I really liked your article. Thanks.
Guadagnaonline.org
January 4, 2009 at 4:06 pm (UTC -4) Link to this comment
I really liked your article. My compliments!! Thank you!
News » How to minimize iPone data traffic using MobileMe
August 8, 2008 at 9:05 am (UTC -4) Link to this comment
[...] are my conclusions so far based on a series of packet sniffing experiments to understand how much data is used by the [...]
overvejelser.dk » Minimér dit dataforbrug på iPhone
August 8, 2008 at 9:22 am (UTC -4) Link to this comment
[...] Gilbert skriver på sin blog om hvordan iPhone’s push- og synkroniseringsteknologi fungerer. Her kan du lære hvordan iPhone opfører sig i forbindelse med synkronisering og på den måde [...]
How to minimize iPone data traffic using MobileMe | The iPhone Shop
August 8, 2008 at 10:56 am (UTC -4) Link to this comment
[...] are my conclusions so far based on a series of packet sniffing experiments to understand how much data is used by the [...]
How to minimize iPhone data traffic using MobileMe | The iPhone Shop
August 9, 2008 at 1:02 am (UTC -4) Link to this comment
[...] are my conclusions so far based on a series of packet sniffing experiments to understand how much data is used by the [...]
On Message with Ben Gross » Blog Archive » Link roundup for 8/11/08
August 11, 2008 at 6:06 pm (UTC -4) Link to this comment
[...] How to save on your data plan using MobileMe: Jeremy Gilbert ran a series of experiments with a packet sniffer on his iPhone to determine which configuration settings would result in the smallest amount of data transferred for messaging and synchronization. His interest stems from an upcoming trip to Africa where he is very concerned about data roaming charges. Vendors of smartphone operating systems have a long way to go both in reducing data usage and providing better tools and information to help users monitor and reduce their data usage when roaming. [...]