I've implemented XEP-0284 on the iPad and its in the App Store as jabberPad 
(http://itunes.apple.com/us/app/jabberpad/id372857200?mt=8). Initially, 
currently it only has support for serverless messaging (XEP-0174) but I'm 
working on adding jabber server configuration.

I definitely think SVG documents are the right way to represent the Whiteboard. 
It provides an open standard to share the whiteboard document which I think is 
important. You can also export it as a file to users who don't have a 
whiteboard capable client and they can still follow what's going on. I have 
kept the timing information in place to allow playback of an SVG document with 
real time in a browser (which is supported by Chrome, Safari, and Firefox). 
I've attached a sample SVG document that was generated by my implementation 
with timing that you can play back in a browser.

Once you see the benefits of SVG (which is XML), then you're basically talking 
about shared editing of an XML document. The question then is how do you ensure 
synchronization between users. There are two common ways. One is Operational 
Transformation which is what Google used for Wave. It was very slick and had a 
theoretical correctness proof but it was not easy to implement. The other is 
referred to as Post OT schemes using unique symbol identifiers and timestamps. 
This is what is used by Eclipse and also chosen for XEP-0284. It is much 
simpler to implement but no correctness proof exists. It relies on time 
synchronization between participants which may not exist.

My implementation only understands a subset of SVG and expects certain 
characteristics like 'xml_id's to carry the unique identifier. I probably 
should write up the assumptions so it can be interoperable. I'd be willing to 
share any info I can with you if you decide to proceed with XEP-0284.

Thanks,
Tom


On Nov 15, 2010, at 11:22 AM, Rohan Jain wrote:

> Hi all,
> We are planning to implement a Whiteboard functionality in pidgin, which 
> presently extends to only Yahoo Doodle and Silc. Our plan is to do it on the 
> XMPP protocol. There is a POC we wrote for Pidgin at: 
> http://www.rohanjain.in/blog/whiteboarding-with-xmpp-google-talk/#updates. 
> You might pick up the repository from: github.com/dcrodjer/pidgin_whiteboard
> Now we are concentrating on a standard protocol for the same.
> The problem that we are basically facing is that there is no accepted 
> protocol, and most of the XEP's are not recommended, or diverge in ways that 
> it is difficult to choose one. When I say most, they include:
> http://xmpp.org/extensions/xep-0284.html
> http://xmpp.org/extensions/xep-0228.html
> http://xmpp.org/extensions/xep-0113.html
> http://xmpp.org/extensions/inbox/whiteboard2.html
> What we would like to know from the community is that, which of the protocols 
> are really going in production into various whiteboards for XMPP. I would 
> assume gajim, coincella and the like have implemented some versions of the 
> same! Also considering interoperability into account, which of the XEP's are 
> the best to go ahead with.
> Hope to hear from you soon.
> 
> 
> Rohan Jain
> 
> _______________________________________________
> JDev mailing list
> Forum: http://www.jabberforum.org/forumdisplay.php?f=20
> Info: http://mail.jabber.org/mailman/listinfo/jdev
> Unsubscribe: [email protected]
> _______________________________________________

_______________________________________________
JDev mailing list
Forum: http://www.jabberforum.org/forumdisplay.php?f=20
Info: http://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: [email protected]
_______________________________________________

Reply via email to