[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Emacs + Etherpad compatibility? (was: Question collaborative editing.)
From: |
Karl Fogel |
Subject: |
Emacs + Etherpad compatibility? (was: Question collaborative editing.) |
Date: |
Fri, 02 Oct 2020 13:48:06 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
This discussion is exciting. I regret that I don't have to work on actual
implementation, but maybe posting this thought here can be a small contribution:
The fastest route to collaborative editing in Emacs might be to make an
Emacs-side client implementation for the protocol used in Etherpad Lite.
(I'll just call it "Etherpad" from now on, since it's the only actively
maintained fork of Etherpad now as far as I know.)
Etherpad is browser-based and is the most widely-used free software
collaborative editor. It's been very successful. The entities it operates on
are already pretty compatible with Emacs -- it's basically plain text with some
simple formatting: bold, italic, underlining, strike-through, simple
bullet-point or numbered lists, authorship colors, and not much else. (Even
the authorship colors don't necessarily have to be represented as colors;
that's just the optional display convention in Etherpad.)
The protocol used by Etherpad is EasySync -- see docs here:
https://github.com/ether/etherpad-lite/blob/develop/doc/easysync/easysync-notes.pdf
https://github.com/ether/etherpad-lite/blob/develop/doc/easysync/easysync-full-description.pdf
(Or just do 'git clone https://github.com/ether/etherpad-lite.git' and look in
the 'docs/' subdirectory.)
Emacs can certainly display all the things Etherpad can display. How hard
would it be to implement an Emacs client library to handle the protocol?
Personally, that's where I'd start if I had time to work on this. It would
give us both real-time collaborative editing for Emacs, *and* Emacs users being
able to real-time collaborate with non-Emacs users on the same document! This
would be an enormous win for Emacs.
Best regards,
-Karl
- Emacs + Etherpad compatibility? (was: Question collaborative editing.),
Karl Fogel <=