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:

Related information: