What is push email?

Looking for a true technical explanation on this.


Solution 1:

Push email, in terms of cellular connected devices, refers to the ability of a server to contact a remote device.

A TCP connection is expensive in terms of power and bandwidth, so the carriers have, for some devices, given access to the cellular control channel.

This channel is normally used for base station <--> cellular device communications so handovers can be managed, and phones can be found when the number is dialed. Later they were adapted for SMS messages - SMS goes completely over the control channel, which is why the message size is limited. Still later they were adapted for multimedia messages, but the multimedia is actually transferred over a regular channel, not the control channel. Still, the control channel is used to wake up the phone and start the transfer.

Now MVNOs and those working closely with the carrier have access to sending messages to the phone over this channel - they don't send the email, though, they merely send an application wakeup signal, which then starts the mail app, which then initiates a standard TCP/IP connection for the actual message transfer.

So push email is more than polling - it enables the device to sleep in a low power mode, only awake enough to listen for phone calls, sms messages, and, now, push email alerts.

Carriers aren't opening this up broadly, although the iPhone is close, because they are very protective of their control channel.

The iPhone likely only has one alert type, and then the iPhone must talk to Apple's servers to find out which app alert was originally sent, and then it can launch the appropriate app. But it accomplishes the same thing as push email, only for any service - this is a huge boon for the iPhone, and I hope Android, windows mobile, and other PDA phones adopt similar service abilities.

-Adam

Solution 2:

I'm not sure about Blackberry, but for Exchange push, a long living https connection is opened with the Exchange server and a "ping" is sent from the server when there is new mail, then the client downloads the mail. There is an occasional ping to keep the connection alive, but it's much less than the overhead of the client having to setup a new connection every time it wants to check for e-mail.

Here's a description on TechNet: http://technet.microsoft.com/en-us/library/aa997252.aspx