Google SoC 2007 idea: generic library for synchronizing DOM trees
A big part of writing collaborative tools is enabling everyone to see the same thing on their screens. In an XHTML and SVG world, this translates to synchronizing DOM trees across two or more browsers.
The XML Sync Islands (XSI) proof-of-concept shows that the problem can be generalized and the solution can be redistributed as a library useful in many applications. The idea is starting from the approach (if not the code) of XSI and writing a full-blown library to accomplish the same task.
There are many challenges here, e.g.:
- avoiding collisions (or detecting and correcting them)
- keeping a smooth user experience (which could mean applying changes locally before they can be confirmed remotely)
- keeping traffic at acceptable levels
This idea is strongly related to the one about collaborative applications, and indeed could be a by-product of developing a collaborative application.
Useful knowledge:
- Javascript, E4X, DOM
- How hybrid applications work
- No knowledge is needed about xmpp4moz or SamePlace internals
Related information:
- XML Sync Islands demo
- Chessboard, accessible by default from SamePlace application menu, is built on XSI
