XML Sync Islands
(Comments about this page to: dfd)
What is an XML Sync Island?
The idea is to have a subtree ("island") of an XML document automatically synchronized through xmpp4moz among all the entities sharing a Jabber communication.
Currently, all web applications using xmpp4moz/SamePlace to provide collaborative features use special purpose code to synchronize elements across all users.
This means that all code and techniques used to propagate changes is duplicated and reinvented every time.
An XML Sync Island would have major benefits:
- no duplicated code;
- the possibility of improving code in a single point and get all the applications improved.
And most importantly
- Totally transparent synchronization.
The question is a complex one. There has been some discussion about synchronization techniques, collisions handling techniques, etc.
The current XML Sync Island demo tries to get things done in a simple way. It synchronizes pages in an insecure way: collisions aren't detected. This means that people connected over Jabber have to edit the island one-person a time to be sure they are perfectly synchronized. Nevertheless this is a really good starting point.
How do I use it?
- Grab the bookmarklet here.
- Drag & drop it in your bookmarks toolbar.
- Visit the page you want to share.
- Click the bookmarklet.
- Select an element to use as a Sync Island.
- Attach the page to a conversation.
How does it work?
See the documentation about internals.
