[Standards] mobile optimizations (was: Re: DevCon report)

Peter Saint-Andre stpeter at stpeter.im
Wed Feb 27 16:06:23 UTC 2008

Fabio Forno wrote:
> On Wed, Feb 27, 2008 at 5:06 AM, Peter Saint-Andre <stpeter at stpeter.im> wrote:
>>  2.1 What people have done or suggested
>>  - fast reconnection
>>  - pipelining of stream negotiation exchanges (Tony Finch)
>>  - don't retrieve roster (but this doesn't really help)
> Though sending roster diffs helps. There is a new possible approach
> I've found only after the discussion we had: use just roster push,
> that must implemented regardlessly any optimization. The client asks
> for the roster adding a timestamp of the last received push, and the
> server sends changes as pushes (all timestamped)

Yes, we have roster pushes so it seems like a good idea to use them (in
general I think we should make intelligent use of everything we've
already defined, such as presence and rosters and roster pushes and so
on -- other real-time communication technologies don't have these
features at the base level, so it's to our advantage to use them). I
think that something like what you suggest might work well.

Also, before the devcon Dave Cridland mentioned that he didn't like the
XEP-0150 approach but at the devcon we somehow didn't hear from him on
this topic, so perhaps he could weigh in with his ideas here.

>>  - compression
> Under this topic nobody really seems ready to try the binary path

Yes, so it seemed. Pedro Melo mentioned some further thoughts along
these lines at dinner one night, so he and I might work on a spec for
that. Right, Pedro? ;-)

>>  - BOSH (for mobile, is it better, the same, or worse than TCP?)
> I'd say BOSH is the easiest way to make things work now. Almost
> anything that you get with BOSH for free (implicit transactions, keep
> the session alive while disconnected, no need to re-negoziate the
> features) can be obtained also with adequate optimizations in TCP
> sockets, but these must still be defined and implemented in servers

True. On the plane yesterday I started working on revisions to XEP-0198
(I'm now calling it "Stream Management") that will address many of these
points, but as you say BOSH already does a lot of this. We'll work to
make sure that the TCP and HTTP bindings implement the same or similar
semantics in transport-appropriate ways, so that stream management and
BOSH are not wildly different.

>>  - "session pause" feature
>>  - traffic filtering / profiles for mobile
> What we will do is experimenting these strategies with our BOSH
> connection manager : we'll keep you informed about the results

Great, thanks!


Peter Saint-Andre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 7338 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.jabber.org/pipermail/standards/attachments/20080227/3da753e5/attachment.bin>

More information about the Standards mailing list