Topic : iPhone 3g: Fetch vs. Push - What are the differences?

Topic Archived This topic has been archived - replies are not allowed.




            Permlink
            Replies : 4 - Pages : 1 - Last Post : Nov 15, 2008 10:28 AM by: roaminggnome
MobileDev


Posts: 1,659
From: Northeast
Registered: Jun 12, 2007
iPhone 3g: Fetch vs. Push - What are the differences?
Posted: Jul 30, 2008 8:27 AM

I've seen quite a few postings here where otherwise smart people claim that the "Push" mail/etc synchronization used by the iPhone never transmits any data until there is something to send. Here are the facts:

BOTH Fetch and Push ping the server.

Sometimes Push will even ping more often. Fetch always pings at a certain interval that you set. Push's interval is dynamic and changes depending on network TCP/IP connection longevity. It can vary from every few minutes to well over half an hour.

The main difference is in how quickly the server responds.

Fetch = Phone sends request. Server replies immediately. Wait a while. Repeat.

Push = Phone sends request with a timeout. Server replies immediately, OR when mail arrives, OR just before the timeout. Repeat.

I'm confused. Why does Push have to ping at all? Doesn't it just magically send some kind of notification to the phone?

Sorry, no magic in this case. The server must know your IP address to respond to, and the phone must be waiting for that response.

Mobile IP connections are volatile. Your IP address can change. The connection will be dropped by the carrier if they don't see traffic. The connection can be dropped if a firewall along the network path has a smaller timeout. If you're on EDGE and you answer a phone call, the data connection stops working as well.

Anything that interrupts the connection, means the server can't respond with a notification.

So the Push agent on the phone creates a connection and then pings over it as often as need to keep the connection alive. Push figures out the correct ping interval by whether or not it hears from the server within the last timeout period that it used.

To use an analogy: Fetch is like calling a friend every 15 minutes to see if there's any news. Push is like calling your friend, then putting them on speakerphone and waiting for them to speak. (That way, you get the news immediately.) But if they never reply, the connection automatically drops. So every once in a while you call out "Are you still there?"

Touchscreen laptop and industrial handhelds   Other OS  
Zipidy

Posts: 124
From: New York
Registered: Jan 8, 2008
Re: Push vs Fetch - the facts instead of fairy tales
Posted: Jul 30, 2008 8:36 AM   in response to: MobileDev

So does this PROVE that PUSH drains battery life faster than FETCH?

Dell   Windows XP  
SourdoughJosh


Posts: 106
From: Southern California
Registered: Apr 6, 2006
Re: Push vs Fetch - the facts instead of fairy tales
Posted: Jul 30, 2008 8:39 AM   in response to: Zipidy

From the original post: "Sometimes Push will even ping more often. Fetch always pings at a certain interval that you set. Push's interval is dynamic and changes depending on network TCP/IP connection longevity. It can vary from every few minutes to well over half an hour."

So the answer to your question would be, once again, "it depends."

MacBook Pro, Mac Pro, iPhone 3G   Mac OS X (10.5.4)    
MobileDev


Posts: 1,659
From: Northeast
Registered: Jun 12, 2007
Re: Push vs Fetch - the facts instead of fairy tales
Posted: Jul 30, 2008 8:49 AM   in response to: SourdoughJosh

So the answer to your question would be, once again, "it depends."

Exactly.

The limiting factor is the smallest network timeout along the path from the phone to the server.

If nothing between you and the server will tear down a connection in less than, say, thirty minutes, then clearly Push will end up pinging the server less than a 15 minute Fetch and about on par with a 30 minute Fetch. And yet will get mail immediately. Win-win situation and Push will use less battery.

If something, anything, along the way times out an IP connection in less time (a firewall, a proxy, NAT, whatever), say in ten minutes... then Push must ping more often than a 15 minute Fetch.

Touchscreen laptop and industrial handhelds   Other OS  
roaminggnome


Posts: 15,637
From: Utah
Registered: Sep 7, 2007
Re: Push vs Fetch - the facts instead of fairy tales
Posted: Jul 30, 2008 9:15 AM   in response to: MobileDev

Good explanation! That make sense.

Thanks MobileDev.

powerbook g4   Mac OS X (10.5.1)   airport express, iphone, ipod