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

Pedro Melo melo at simplicidade.org
Thu Feb 28 08:18:52 UTC 2008


On Feb 27, 2008, at 4:06 PM, Peter Saint-Andre wrote:
> 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? ;-)

Exactly. :)

I'm trying to think on how to do a reference implementation to get  
more feedback.

But I agree that, from the feedback at the devcon, it does not seem  
to win us much, so this is very low priority work.

>>> - 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.

One feature Fabio mentioned that I liked a lot is that if your mobile  
device is using 3G/GPRS and then arrives at a place with open wifi,  
you can transparently just start using it.

For the same reasons its more resilient to network address changes on  
the device.

Best regards,
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: melo at simplicidade.org

More information about the Standards mailing list