[Standards] Whiteboard XEP, Gajim and GSoC2008

Joonas Govenius joonas.govenius at gmail.com
Mon Mar 3 22:19:26 UTC 2008


2008/3/3 Peter Saint-Andre <stpeter at stpeter.im>:
> Joonas Govenius wrote:
>  > Mateusz Biliński wrote:
>  >> * there were a few attempts to build a specification. I list them
>  >> below in the order (I think) they've appeared:
>
> >> An SVG Based Whiteboard Format (this could be used with the next one
>  >> -sxde - to build a standarized whiteboard?):
>  >> http://www.xmpp.org/extensions/inbox/whiteboard.html
>  >>
>  >>
>  > Correct. This just defines how the whiteboard should be represented in XML.
>  >
>  > However, no one actually uses this particular format at the moment. The
>  > only implementation that uses SXE (Psi) uses a regular SVG 1.1 document
>  > right now (no pages, etc).
>  >> Shared XML Document Editing (a generalized approach, I suppose this
>  >> one was substituted by the next one):
>  >> http://www.xmpp.org/extensions/inbox/sxde.html
>  >>
>  >>
>  > Correct.
>  >> Shared XML Editing (This is by far the most recent approach - this is
>  >> going to a fundamental standard for all applications of shared XML
>  >> editing. This is the one that team is currently working on.):
>  >> http://www.xmpp.org/extensions/inbox/sxe.html
>  >>
>  >>
>  > It's the most recent approach and Psi currently implements this version
>  > almost exactly except for the negotiation part, which doesn't yet use
>  > Jingle.
>  >
>  > It _could_ serve as the fundamental protocol for all applications that
>  > need to share an XML document. However, so far the Council hasn't
>  > accepted any of the proto-XEPs so who knows what _will_ happen...
>
>  We had some discussion about this at the devcon last weekend. E.g. some
>  people were interested in extending SXE to be a generalized method for
>  synchronizing XML instances (e.g., for DOM events or whatever). The
>  conclusion we came to was that defining a protocol for what we called
>  "object synchronization" is hard (e.g., conflict resolution is a
>  difficult problem), but that it may be easier to define a protocol for
>  what we called "event stream synchronization" (just send the change
>  notices in order and let the receiving application figure it out).

Isn't this almost exactly what SXE does? It relays "new", "set", and
"remove" object events to the clients and lets them figure out how
they are to be interpreted.

Also, is "object synchronization" really so difficult? IMHO SXE is a
very elegant and simple solution, but I feel that most people have
given up following the shared editing related threads and so haven't
read the protoXEP...

On the other hand, what Fabio Forno suggested earlier was a way of
relaying similar events but only "one-way" so that there are no
synchronization issues. That might be valuable for some presentation
uses but isn't "collaborative editing".

>  We
>  even went further and wondered whether any of this work is in scope for
>  XMPP and whether it makes sense for us to define an XML protocol for
>  every problem under the sun.

Maybe not, SXE would work as a binary protocol just as well but
"object synchronization" does seems like a useful general purpose task
worth standardizing...

Joonas


More information about the Standards mailing list