Hello,

I'm a software developer for mobile devices too, and it also varies by
method of TCP.

For BlackBerry, there are actually several ways to connect, including
over BIS (carrier based proxy), BES (corporate BlackBerry Enterprise
Server, letting it be the firewall for your BlackBerry), and regular
mobile TCP/IP.  Many mobile software XMPP clients, such as Beejive,
allows these various different methods to be selected.

My experience is that some of these methods time out pretty quickly
(especially BIS) without keepalives, while some services such as BES
have a configurable timeout.

Now, a properly optimized TCP/IP connection without a timeout can stay
alive for a long time with a mostly dormant mobile radio.  The pings
can actually wake up a radio, causing the radio to begin consuming
more power, unless special design considerations are done to use a
lower idle-state bitrate.  BOSH, while it solves other things, makes
this WAY worse because of the chattiness of BOSH.

On the other hand, timeouts exist in many mobile implementations, and
thus, some form of keepalive is needed.  From a battery perspective on
a properly designed mobile device, an open idle TCP connection uses no
more battery power than having no TCP connections.  There is less
chattiness with a once-a-minute ping (sent only if no XMPP
transmissions done), than with doing BOSH on a mobile device.

Take a look at XEP-0286 "XMPP on Mobile Devices". This is accurate
battery consumption advice, and my mobile experience agrees with this
spec.

It's quite annoying detail, really, but this has to be considered.

Mark Rejhon
(Author of XEP-0301, which also happens to being considered for
assistive needs by multiple companies in a multimedia NG911 system on
mobile phones.)

On 7/19/11, Peter Saint-Andre <stpe...@stpeter.im> wrote:
> On 7/19/11 7:42 PM, Glenn Maynard wrote:
>
>> (Of course, mobile clients should really be using xbosh anyway, which
>> avoids these and other issues,
>
> Opinions vary on that score. We had some discussions about this years
> ago at one of the XMPP Summit meetings in Brussels and the guys from
> Nokia reported that TCP was actually much better for mobile apps because
> there are magical ways to manage long-lived TCP connections without
> waking up the device, which is not true for the more chatty BOSH
> protocol. Naturally, YMMV.
>
>> but it seems like the bosh/xbosh specs
>> have stalled...)
>
> How so? The specs are stable so there's probably no need to change them
> frequently. However, there has been discussion on the b...@xmpp.org list
> over the last few months and that might lead to some small changes and
> clarifications. Let's wrap up those threads and see if we need to
> publish a revised version of XEP-0124 (and perhaps XEP-0206).
>
> Peter
>
> --
> Peter Saint-Andre
> https://stpeter.im/
>
>
>

-- 
Sent from my mobile device

Reply via email to