Hi,
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
<[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
Use XMPP!