A faster-than-light collaborative editor
Take a look at the demo
- DOM-OT allows you to collaborate on everything that's expressable in HTML
- insert Youtube videos
- work on tables
- edit SVG
$ git clone https://github.com/marcelklehr/warp.git
$ npm install
$ browserify index.js > build/build.js
$ node server
Open localhost:8080
in your browser.
Warp detects changes to the document via the MutationObserver API (specifically using MutationSummary) and syncs changes between client and server using gulf over shoe. To transform the changes it uses dom-ot, an operational transformation library for DOM patches. On the server jsdom emulates a DOM tree to apply the patches on. And a ckeditor instance allows you to apply styles like bold or italics and add tables to your document. This should work with any HTML editor, though, e.g. an SVG editor!
This is still an early proof of concept, but I intend to bring it to the next level, if the result is functional.
(c) 2015 by Marcel Klehr
MIT License