Windows Mobile 5.0's "Push E-Mail" is really "poll" email?!?06/10/2005 05:40 PM
So I was all impressed with Windows
Mobile 5.0 finally supporting "Push E-Mail". It turns out
that it's really a variation on polling! Whoops. MS Marketing
does the rename-er-ooo again. Dang, I wish I could sell stuff like
they do
From a link on Brighthand,
there's a MS Exchange Team blog that covers the internals of how
this works. Well, at
least now we know why MS hasn't tried to submit this as a "standard".
It requires hacking up your mail server's HTTP stack (assuming it
has web mail support).
This is roughly how RIM/Blackberry's push email works: each device has
something similiar to a network MAC address. When it registers with
the global BES server (sitting in some NOC that your cellular provider
runs) which lets BB's server (on your site) talk to the device. The
device is always listening on a port for messages from the BES server.
All communication is encrypted and devices are "tied" to
users, which is why corporate types like it. It's basically a variation
of Dynamic DNS, which is also why devices used to get "untied"
in BES 3.x (supposedly fixed in BES 4.x).
MS' solution is basically doing HTTP GETs from the server and taking advantage
of how HTTP timeouts work. The device fires up a thread that polls
a web page on the server and the thread waits for a response. If
the server sees any new stuff, it returns a message that the device interprets
as "fire up ActiveSync to grab some email". If there's
no work yet, the server doesn't return a response until some timeout has
been reached (though I'm not sure why the server needs to worry about timeouts
at all since the device's thread can handle the timeout). Because
it doesn't have to periodic ActiveSyncs, it's less network intensive than
the current MS AUTD solution.
While it's laudable that MS wants to avoid any sort of BES equivalent,
it's very MS-Exchange-centric. It's purely tied to email (you have
to specify folders to poll; what about other apps? Guess no one running
Exchange uses custom apps like Lotus Notes users do and MS Exchange
2003 (which most people aren't even on yet because of the huge migration
hassles of Active Directory . On the bright side, it's probably
fairly trivial to reverse engineer this (though it'd be nice if MS would
just document it for us for once!) to work w/ other email servers, assuming
the device's polling URL can be configured; even if not, you can probably
work around it by adding an appropriate URL mapping. I'd just need
a short session with a network analyzer and someone has to donate an MDA
IV/UTC Universal to me for a few years to get this to work
Update: there is a MS
Webcast which details how it works
w/ Exchange