emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question collaborative editing.


From: Fermin
Subject: Re: Question collaborative editing.
Date: Thu, 24 Sep 2020 23:41:27 +0200
User-agent: K-9 Mail for Android

This is a great feature for Emacs, thanks to show me the existence of Rudel, maybe the easiest aproach is to make it work with
https://github.com/gobby/libinfinit

Seems quite active, and the client is in a unstable state.What so you guys think ?

Regards.

On 24 September 2020 03:36:55 CEST, Ergus <spacibba@aol.com> wrote:
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.


reply via email to

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