Very cool.
So you sync the DOM right? Wouldn't it make more sense to sync at the "model" level? I'm assuming most applications are generated from some model as follows:
model --render()--> DOM
in that case syncing the DOMs would not sync the models of the two applications.