emacs-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]