Subject: [xmpp] Consensus Call : Adoption of draft-moffitt-xmpp-over-websocket

From: Ben Campbell <[email-masked]>
Date: Tue, 20 Aug 2013 17:05:41 -0500

(as chair)

Hi,

The XMPP working group has a chartered work item to define a WebSocket subprotocol for XMPP. (Please ignore the lack of an actual milestone--the chairs have been remiss on updating those. But it's in the charter text, really! )

Lance recently submitted draft-moffitt-xmpp-over-websocket-04. We've had a fair amount of discussion of previous versions on the XMPP list.

Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04 as a work group item in support of the chartered work? Keep in mind that acceptance does not mean the work group thinks the draft is absolutely correct or complete. It merely means that we think that the draft is a good start towards the milestone.

Please send your opinions to the XMPP working group by the end of next week (31 Aug 2013.)

Thanks!

Ben.

---

From: Bernard Aboba <[email-masked]>
Date: Tue, 20 Aug 2013 15:10:34 -0700

Yes, it should be adopted.  There are implementations out there (some out
of sync with the latest version of the spec).  So if the work is completed,
there is a very high probability it will be used.

On Tue, Aug 20, 2013 at 3:05 PM, Ben Campbell <[email-masked]> wrote:

> (as chair)
>
> Hi,
>
> The XMPP working group has a chartered work item to define a WebSocket
> subprotocol for XMPP. (Please ignore the lack of an actual milestone--the
> chairs have been remiss on updating those. But it's in the charter text,
> really! )
>
> Lance recently submitted draft-moffitt-xmpp-over-websocket-04. We've had a
> fair amount of discussion of previous versions on the XMPP list.
>
> Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04 as
> a work group item in support of the chartered work? Keep in mind that
> acceptance does not mean the work group thinks the draft is absolutely
> correct or complete. It merely means that we think that the draft is a good
> start towards the milestone.
>
> _______________________________________________
> xmpp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/xmpp
>

---

From: Peter Saint-Andre <[email-masked]>
Date: Tue, 20 Aug 2013 16:18:56 -0600

On 8/20/13 4:05 PM, Ben Campbell wrote:

> Should the XMPP work group accept
> draft-moffitt-xmpp-over-websocket-04 as a work group item in support
> of the chartered work? 

Yes. There are already implementations of XMPP over WebSocket and we
need to publish a stable specification so that developers can code
support for this feature in a consistent way.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

---

From: Jack Moffitt <[email-masked]>
Date: Tue, 20 Aug 2013 16:39:07 -0600

>> draft-moffitt-xmpp-over-websocket-04 as a work group item in support

Yes.

jack.

---

From: Lance Stout <[email-masked]>
Date: Tue, 20 Aug 2013 15:45:38 -0700

> Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04
> as a work group item in support of the chartered work?

I'm biased, but I second adoption.

-- Lance

---

From: bear <[email-masked]>
Date: Tue, 20 Aug 2013 22:46:38 -0400

> start towards the milestone.
+1 to acceptance

-- 
Bear

[email-masked] (email)
[email-masked] (xmpp, email)
[email-masked] (xmpp, email)
http://code-bear.com/bearlog (weblog)

PGP Fingerprint = 9996 719F 973D B11B E111  D770 9331 E822 40B3 CD29

---

From: Philipp Hancke <[email-masked]>
Date: Wed, 21 Aug 2013 06:15:53 +0200 (CEST)

> Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04 as a work group item in support of the chartered work?

Yes, it's a good start.

---

From: Florian Zeitz <[email-masked]>
Date: Wed, 21 Aug 2013 14:06:44 +0200

> Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04 as a work group item in support of the chartered work? Keep in mind that acceptance does not mean the work group thinks the dr…
+1 to adopting this document.
I've written an implementation based on this and deem it a good starting
point.

---

From: Kim Alvefur <[email-masked]>
Date: Wed, 21 Aug 2013 14:23:47 +0200

> Should the XMPP work group accept draft-moffitt-xmpp-over-websocket-04 as a work group item in support of the chartered work?

+1

--
Kim Alvefur

---

From: Ralph Meijer <[email-masked]>
Date: Wed, 21 Aug 2013 14:47:55 +0200

On 2013-08-21 00:05, Ben Campbell wrote:
> [..]
 > [..]

Yes.

-- 
ralphm

---

From: Michał Piotrowski <[email-masked]>
Date: Wed, 21 Aug 2013 14:58:47 +0200

+1

If are talking about websockets, how are you dealing with multiple tabs opened by the user? 

--
Best regards
Michał Piotrowski
[email-masked]

---

From: "Matt Miller (mamille2)" <[email-masked]>
Date: Wed, 21 Aug 2013 13:34:08 +0000

> Please send your opinions to the XMPP working group by the end of next week (31 Aug 2013.)

Yes, the XMPP WG should accept this document.

- m&m

Matt Miller < [email-masked] >
Cisco Systems, Inc.

---

From: Peter Saint-Andre <[email-masked]>
Date: Wed, 21 Aug 2013 10:17:56 -0600

On 8/21/13 6:58 AM, Michał Piotrowski wrote:
>> draft-moffitt-xmpp-over-websocket-04 as a work group item in
>> support of the chartered work?
> +1
> 

That's a difficult issue and it probably isn't even something we can
solve in the XMPP Over WebSocket specification. But discussion is
welcome (I've branched off a new thread for that purpose).

Peter

- -- 
Peter Saint-Andre
https://stpeter.im/

---

From: Lance Stout <[email-masked]>
Date: Wed, 21 Aug 2013 10:20:13 -0700

> welcome (I've branched off a new thread for that purpose).

Right, any solution for this problem would likely be applicable across
all "* over WebSocket" use cases.

Having implemented XMPP over WebSockets in the browser, here's what I've
learned so far:

1. Ignoring tabs at the moment, just navigating to a new page can be
   handled very quickly using Stream Management (XEP-0198) resumption
   if the ack data is preserved in something like localStorage.

2. Not giving special consideration to tab connections works remarkably
   well when using  MAM (XEP-0313) and Message Carbons (XEP-0280). The only 
   downside is that you have to do the entire stream startup unlike when
   doing session resumption. So the full
   
      a) auth
      b) bind
      c) roster (skippable if you use roster versioning)
      d) inbound presence
      e) inbound pep

   That said, if you are caching data locally for the origin domain (using
   IndexedDB, etc), then you can use that to bootstrap the UI while the
   initial data streams in, much like you would for session resumption.

3. If you really don't want a new connection per tab, things are very 
   tricky at the moment. Running a WebSocket connection as a Shared Web
   Worker process doesn't appear to work, nor can a shared worker access
   the DOM methods needed to parse XML.

   But you can use them or window.postMessage to broadcast information from
   the tab that has the XMPP connection to other tabs. Of course if the tab
   with the connection is closed, things get fun very quickly :)

-- Lance

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 22 Aug 2013 19:24:14 +0100

> Please send your opinions to the XMPP working group by the end of next week (31 Aug 2013.)
I support adoption of this document by the WG.

---

From: Dave Cridland <[email-masked]>
Date: Thu, 22 Aug 2013 19:25:46 +0100

I'm willing to work on this, and would be happier if it were a working
group effort.