

Test Pad - nearestneighbor
http://etherpad.com/FQMBcRK9x2

======
jodrellblank
In that document, it says "Edits to the document are represented as
mathematical functions that can be applied in any order, and have other
special properties that make this realtime"

When the shutdown notice came a few days ago, and thoughts of trying to write
a replacement were running through my head, I ran to "DARCS theory of patches"
(
[http://en.wikibooks.org/wiki/Understanding_darcs/Patch_theor...](http://en.wikibooks.org/wiki/Understanding_darcs/Patch_theory)
) which sounds like that.

Consider EtherPad a load of people keeping local DVCS repositories (of 1 file)
and merging them on a regular basis - every second, or every few key presses,
say.

You would get: add/changing lines in separate places (fairly easy - adjust
line numbers). Changes in the same place (no technical solution to which
outcome was intended, so pick one method of resolution that is at least
predictable - e.g. order the contributors by order of who joined earliest and
do what the earliest joiner did. If they delete a sentence someone else is
editing then it gets deleted. If they edit a sentence and someone else deletes
it, it's kept with the edit). If you're working together instead of trying to
break it that seems like it would give a workable system.

If you stored the patches instead of just applying them, you'd then get the
basis for the time slider system too.

Still, there must be more to it than that - and more to making it nice too
(but I didn't find out what since they reopened it and plan to open source
it).

