How does 'Direct Push' work?

There are a lot of talking about RIM's true push mechanism that makes push emails so efficient you always get your new mails before you see them in your desktop/laptop Outlook.

In front of that, Microsoft developed 'Direct Push', which may sound the same as push, but in fact it's not.

I googled it a little bit lately and found an interesting article explaining how Direct Push works:

While a real push requires keeping the IPs of each mobile device (which might change when roaming between networks etc.), Microsoft's Direct Push is actually working a bit differently.

direct push

In short, (in case you are too busy to read the entire thing), clients are sending requests to the server, but they are not getting any response back. Only if there is a change (such as a new mail), the response comes back to the client saying it needs to synchronize.

So in fact, instead of pushing the information to the devices, the devices are simply waiting until something is changing and then they get back the result saying they need to synchronize.


So another name for "Direct Push" would actually be: "Wait and Pull"... But then again, no one would buy a device with "wait and pull" technology...

Had fun reading this short guide? Check our our other guides:

History of PDAs

Turn your iPhone into Windows Mobile (Part #1)

The Incomplete Guide to D-Pads

History of the QWERTY keyboard

The Incomplete Guide to Mobile Form Factors

What is the difference between Windows CE, PocketPC and Windows Mobile-?


How to select a proper device for your field personnel


If you like this post, subscribe to our RSS Feed.


Parrotlover77 said…
Indeed, Direct Push is a bit of a misnomer, but, in my opinion, it is a more elegant solution than BlackBerry.  I manage both at my work.

As you mentioned, the keeping of an IP address is required for true Direct Push since the server wouldn't know where to send packets otherwise. 

The way MS engineered the solution has the identical end user effect without that requirement since if the HTTP connection is ever dropped (due to IP change) it will simply go back hit the server again immediately. 

What's genius about MS's solution is how it relies on so much existing technology -- no need to reinvent the wheel!

In fact, if you ignore the underlying mechanics of the HTTP request/response cycle, you can see how it might actually be push (but it's a stretch).  For example, if you look at the "request" as simply a ping to Exchange to say "Hi I'm online now" and the "response" as the actual push of data, then it is true push.

However, everybody focuses on the fact that it uses HTTP instead of inventing a new protocol, so the genius and superiority of this method is often overlooked because it isn't considered a true "push" protocol that requires no open TCP connection to work.  To me, that's sort of missing the point. 

The end user just wants no lag instant email without draining the battery (HTTPDog -- the thread that does Direct Push -- only wakes the device when data starts coming down the pipe, and then only wakes into the low power unattended mode when it does).  DirectPush gives the user everything they want and does so in an extremely simple and efficient way.
zizza07 said…
Interesting article with wait and pull technologie. I dont know but with Blackberry in 2006 we were limited to the most recent 1000 Emails. In this regard, <span>Direct Push offered superior access, giving you the option to synchronize your entire Exchange mailbox if so desired. On the road again.</span>
amir said…
Nice post! Really interesting and it's a cool approach to save the age old problem. I am sorry I didn't think of it myself (I guess you know exactly what I mean)
amir said…
<table class="js-singleCommentBodyT" border="0" cellspacing="0" cellpadding="0" width="100%">
<tr style="vertical-align: top;">
<td style="padding-bottom: 8px;" colspan="2">
<div class="js-singleCommentText"><span><span style="">Nice post! Really interesting and it's a cool approach to solve the age old problem. I wish I had thought of it myself (I guess you know exactly what I mean ;-))</span></span></div>
amir said…
<span><span>Nice post! Really interesting and it's a cool approach to solve the age old problem. I wish I had thought of it myself (I guess you know exactly what I mean ;) )</span></span>
mobile softwares said…
nice buddy.
It is really good
kaspersky keys said…
Blackberry is a wonderfull mobile.
Thank for this informative article