From: Ergus <spacibba@aol.com>
To: Karl Fogel <kfogel@red-bean.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: Question collaborative editing.
Date: Thu, 24 Sep 2020 03:36:55 +0200 [thread overview]
Message-ID: <20200924013655.asv2tem25cbwv5et@Ergus> (raw)
In-Reply-To: <87eemuanct.fsf@red-bean.com>
On Mon, Sep 21, 2020 at 03:25:38PM -0500, Karl Fogel wrote:
>On 21 Sep 2020, Stefan Monnier wrote:
>>> Just a question. I have seen in emacswiki the different alternatives for
>>> collaborative editing and so far all of them look a bit hack so I
>>> decided to ask if anyone is working in such a functionality for
>>> emacs or have any hint. Maybe with tramp or emacsserver?
>>
>>Discussed before.
>>Emacsserver/client is definitely not a good solution for it.
>>
>>Rudel (in GNU ELPA) was a serious attempt to do it, but it's been
>>unmaintained for a long time, so it needs a fair bit of love.
>>
>>I don't think there's a protocol for that with a good Emacs client (or
>>server) yet :-(
>
>I'm very interested in this too, but don't have time to work on it.
>
>However, I've been collecting references related to collaborative editing, especially in Emacs, in case I were ever to get time to work on it. Perhaps those references would be useful for you, Ergus, so here they are in Org Mode format:
>
>* Collaborative Editing | Parallel Editing | OT, CDRT, and more
>** [[https://github.com/holtzermann17/linepad][Linepad]] Emacs + Etherpad. But no progress since 2012?
>** [[https://anarc.at/blog/2018-06-26-collaborative-editors-history/][Historical inventory of collaborative editors]] (2018)
>** [[https://github.com/zk-phi/togetherly/][Togetherly]] Emacs-only; simple, but apparently works. Insecure. (2017)
>** [[https://blog.kevinjahns.de/are-crdts-suitable-for-shared-editing/][Are CRDTs suitable for shared editing?]]
> Author of [[https://github.com/yjs/yjs][Yjs]] talks about his optimizations.
> "In this article, I will introduce you to a simple optimization for
> CRDTs and examine the exact performance trade-off of using Yjs for
> shared editing. I hope to convince you that the overhead is
> actually very small even for large documents with long edit
> histories."
>** https://github.com/codimd/server
>** [[https://floobits.com/help/plugins/emacs][Floobits client-side Emacs plugin]]
> The server-side is proprietary (see https://floobits.com/) but the Emacs
> client-side plugin is free software, under the Apache-2.0 license; you can do
> 'git clone https://github.com/Floobits/floobits-emacs.git' to get it.
> This doesn't work without the proprietary server, of course, but it might help
> as a guide to what's needed on the client side. I emailed Floobits and asked them
> whether they would consider freeing their server-side code, perhaps for a fee,
> but never received a response. Email reference:
> > From: Karl Fogel
> > To: Floobits Info Contact Address
> > Subject: An odd business inquiry.
> > Date: Wed, 06 May 2020 00:00:21 -0500
> > Message-ID: <87368d1wuy.fsf@red-bean.com>
>*** [[https://github.com/codimd/server/blob/master/docs/dev/ot.md][Docs on Operational Transform]]
>*** https://operational-transformation.github.io/
>** [[https://martin.kleppmann.com/papers/pushpin-papoc20.pdf][PushPin: Towards Production-Quality Peer-to-PeerCollaboration]]
> Peter van Hardenberg
> Ink & Switch, LLCSan Francisco, CA, USA
>
> Martin Kleppmann
> University of Cambridge
> Cambridge, United Kingdom
>** [[https://lord.io/blog/2019/splicing-crdts/][Notes on Splicing CRDTs for Structured Hypertext]]
>** https://github.com/typeintandem/tandem
>** "Creating a Collaborative Editor" (Pierre Hedkvist, 11 June 2019)
> https://www.pierrehedkvist.com/posts/1-creating-a-collaborative-editor
>** "Data Laced with History: Causal Trees & Operational CRDTs"
> Etherpad, Google Docs, etc
> http://archagon.net/blog/2018/03/24/data-laced-with-history/
>
Very thanks Karl thanks to your link I found this:
https://conclave-team.github.io/conclave-site/
Which is indeed very detailed.
next prev parent reply other threads:[~2020-09-24 1:36 UTC|newest]
Thread overview: 151+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200921120518.35d56p747pr5mhta.ref@Ergus>
2020-09-21 12:05 ` Question collaborative editing Ergus
2020-09-21 13:35 ` Stefan Monnier
2020-09-21 16:24 ` Ergus
2020-09-21 20:25 ` Karl Fogel
2020-09-24 1:36 ` Ergus [this message]
2020-09-24 21:41 ` Fermin
2020-09-25 0:22 ` Ergus
2020-09-25 10:34 ` Fermin
2020-09-26 16:33 ` Ergus
2020-09-29 16:01 ` Qiantan Hong
2020-09-29 21:46 ` Ergus
2020-09-30 9:52 ` Jean Louis
2020-09-28 0:43 ` Ergus
2020-09-29 0:00 ` Fermin
2020-09-29 1:01 ` Noam Postavsky
2020-09-29 8:25 ` Jean Louis
2020-09-29 12:45 ` Ergus
2020-09-29 15:58 ` Qiantan Hong
2020-09-29 16:29 ` Stefan Monnier
2020-09-29 16:33 ` Qiantan Hong
2020-10-27 5:10 ` Qiantan Hong
2020-10-27 12:46 ` Jean Louis
2020-09-29 17:35 ` Karl Fogel
2020-09-29 21:58 ` Ergus
2020-09-29 23:40 ` Qiantan Hong
2020-09-30 0:13 ` Ergus
2020-09-30 0:47 ` Qiantan Hong
2020-09-30 7:40 ` Karl Fogel
2020-09-30 13:19 ` Ergus
2020-09-30 17:00 ` Karl Fogel
2020-10-02 18:48 ` Emacs + Etherpad compatibility? (was: Question collaborative editing.) Karl Fogel
2020-10-02 20:34 ` Emacs + Etherpad compatibility? Stefan Monnier
2020-10-03 10:01 ` Michael Albinus
2020-09-30 13:46 ` Question collaborative editing Eli Zaretskii
2020-09-30 13:43 ` Eli Zaretskii
2020-09-30 15:47 ` Qiantan Hong
2020-09-30 16:19 ` Eli Zaretskii
2020-09-30 17:00 ` Qiantan Hong
2020-09-30 17:04 ` Qiantan Hong
2020-09-30 17:20 ` Eli Zaretskii
2020-09-30 17:48 ` Qiantan Hong
2020-09-30 18:08 ` Eli Zaretskii
2020-09-30 23:11 ` Ergus
2020-10-01 13:40 ` Eli Zaretskii
2020-10-01 15:21 ` Qiantan Hong
2020-10-01 23:10 ` Karl Fogel
2020-10-01 15:55 ` Ergus
2020-09-30 17:08 ` Stefan Monnier
2020-10-01 14:11 ` Jean Louis
2020-10-01 16:01 ` Ergus
2020-10-01 16:44 ` Pankaj Jangid
2020-10-01 16:53 ` Ergus
2020-10-01 17:29 ` Yuri Khan
2020-10-02 3:00 ` Pankaj Jangid
2020-10-02 7:30 ` Michael Albinus
2020-10-02 7:35 ` Eli Zaretskii
2020-10-02 10:01 ` Pankaj Jangid
2020-10-02 11:33 ` Ergus
2020-10-02 12:13 ` Michael Albinus
2020-10-04 17:54 ` Question collaborative editing - Wikipedia reference Jean Louis
2020-10-04 18:45 ` Caio Henrique
2020-10-04 19:48 ` Jean Louis
2020-10-04 23:59 ` Qiantan Hong
2020-10-05 0:05 ` Qiantan Hong
2020-10-05 1:08 ` Karl Fogel
2020-10-05 4:40 ` Karl Fogel
2020-10-05 5:48 ` Jean Louis
2020-10-05 6:18 ` Qiantan Hong
[not found] ` <EC602765-9F1A-4269-9F2E-4F05C50AE1E7@mit.edu>
2020-10-05 8:07 ` crdt.el collaborative real time editing for Emacs Jean Louis
2020-10-05 8:22 ` Qiantan Hong
2020-10-05 14:03 ` Jean Louis
2020-10-05 17:05 ` Qiantan Hong
2020-10-05 18:17 ` Jean Louis
2020-10-05 14:11 ` Jean Louis
2020-10-05 9:39 ` Eli Zaretskii
2020-10-05 8:51 ` Jean Louis
2020-10-05 3:53 ` crdt.el - collaborative " Jean Louis
2020-10-05 4:02 ` Question collaborative editing - Wikipedia reference Jean Louis
2020-10-05 4:11 ` Qiantan Hong
2020-10-05 5:34 ` Jean Louis
2020-10-05 5:58 ` Eli Zaretskii
2020-10-05 6:15 ` Stefan Monnier
2020-10-05 6:51 ` Eli Zaretskii
2020-10-05 7:31 ` Ergus via Emacs development discussions.
2020-10-05 8:44 ` Jean Louis
2020-10-05 13:20 ` Stefan Monnier
2020-10-05 17:20 ` Karl Fogel
2020-10-06 1:03 ` Qiantan Hong
2020-10-06 1:41 ` T.V Raman
2020-10-06 8:52 ` Jean Louis
2020-10-06 17:32 ` Jean Louis
2020-10-20 16:15 ` Ergus
2020-10-20 17:11 ` Qiantan Hong
2020-10-20 18:51 ` Jean Louis
2020-10-26 20:36 ` Qiantan Hong
2020-10-27 21:54 ` Mathias Dahl
2020-10-27 22:45 ` Qiantan Hong
2020-10-29 16:21 ` Ergus
2020-10-28 16:29 ` Question collaborative editing - tools to connect Jean Louis
2020-10-28 16:40 ` Qiantan Hong
2020-10-28 17:13 ` Question collaborative editing - crdt.el, does it use SSL? Jean Louis
2020-10-28 21:51 ` Qiantan Hong
2020-10-28 22:36 ` Jean Louis
2020-10-28 23:08 ` Qiantan Hong
2020-10-29 5:43 ` Jean Louis
2020-11-02 9:47 ` Robert Pluim
2020-11-02 10:02 ` Jean Louis
2020-10-28 17:20 ` Question collaborative editing - torify emacs Jean Louis
2020-10-28 18:01 ` Qiantan Hong
2020-10-28 18:56 ` Jean Louis
2020-10-29 4:57 ` Question collaborative editing - tools to connect Richard Stallman
2020-10-31 4:16 ` Qiantan Hong
2020-10-31 5:33 ` Jean Louis
2020-10-20 18:21 ` Question collaborative editing - Wikipedia reference Jean Louis
2020-10-06 18:20 ` Karl Fogel
2020-10-07 0:00 ` Qiantan Hong
2020-10-09 1:50 ` Yuan Fu
2020-10-09 1:58 ` Yuan Fu
2020-10-09 2:12 ` Qiantan Hong
2020-10-09 2:42 ` Yuan Fu
2020-10-09 7:04 ` Qiantan Hong
2020-10-09 8:36 ` joakim
2020-10-09 13:33 ` Joe Corneli
2020-10-09 15:33 ` Qiantan Hong
2020-10-11 17:49 ` Qiantan Hong
2020-10-11 18:21 ` Eli Zaretskii
2020-10-11 18:26 ` Qiantan Hong
2020-10-11 18:56 ` Eli Zaretskii
2020-10-11 19:57 ` Qiantan Hong
2020-10-12 2:26 ` Eli Zaretskii
2020-10-12 3:22 ` Qiantan Hong
2020-10-12 14:40 ` Eli Zaretskii
2020-10-12 16:53 ` Qiantan Hong
2020-10-13 13:31 ` Yuan Fu
2020-10-11 18:40 ` Joe Corneli via Emacs development discussions.
2020-10-09 17:46 ` Jean Louis
2020-10-09 17:50 ` Qiantan Hong
2020-10-09 20:31 ` Karl Fogel
2020-10-10 17:09 ` Qiantan Hong
2020-10-09 7:09 ` Qiantan Hong
2020-10-05 5:50 ` Eli Zaretskii
2020-10-05 3:10 ` Richard Stallman
2020-10-20 16:37 ` Aurélien Aptel
2020-10-20 18:41 ` Jean Louis
2020-10-26 19:47 ` Eli Zaretskii
2020-10-26 20:26 ` too many Jean Louis
2020-10-28 4:45 ` Question collaborative editing - Wikipedia reference Richard Stallman
2020-10-28 15:08 ` Eli Zaretskii
2020-10-28 16:20 ` Jean Louis
2020-10-28 16:33 ` Eli Zaretskii
2020-10-28 16:59 ` Jean Louis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200924013655.asv2tem25cbwv5et@Ergus \
--to=spacibba@aol.com \
--cc=emacs-devel@gnu.org \
--cc=kfogel@red-bean.com \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).