emacs-devel
[Top][All Lists]
Advanced

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

Re: A new collaborative editing package (maybe tangent)


From: Yuan Fu
Subject: Re: A new collaborative editing package (maybe tangent)
Date: Sun, 31 Dec 2023 20:35:00 -0800


> On Dec 31, 2023, at 7:33 AM, T.V Raman <raman@google.com> wrote:
> 
> I too think a "shared editing" feature would be enormously useful.
> 
> As step 0, I suggest we first colectively define what exactly "shared
> editing " means, and use that to specifically what we implement vs what
> we dont. In that process, we should also identify "feature enablers" vs
> "actual features" see some thoughts below.
> 
> Shared Editing:
> 
> 1. Is this "same time" editing , as in peer-programming, or
>   "collaborative authoring" as in tools like Google Docs? Note that for
>   the most part,  people use collaborative authoring far more than they
>   use "same time editing" with existing tools.

Good question! And I’ve given it a lot of thought even before implementing the 
system. I consider collab-mode primarily a “same time” editing tool. I agree 
that collaborative authoring would be much more useful, but it has an 
unavoidable requirement—a server that either directly host the documents or at 
least help with synchronization and communication between nodes working on the 
same document. The bottom line is, you need a server with considerable 
resource. I don’t want to write a program that depends on someone hosting such 
a service. (Now, collab-mode do require a public signaling server for NAT 
traversal, but I expect the load on the signaling server to be minimal, so 
$5/month on Linode or aws should cover it.)

You can say that with careful design, we can make some fully distributed system 
that requires minimal involvement from a server. I agree with that, but I 
expect such system to be vastly more complicated while providing a degraded 
service. That leads to my next consideration: since google doc already exists, 
is free to use, is only a click away, and is very reliable, why would anyone 
want to use a program that requires some setup, and is slower and less reliable 
than google docs?

Having said all that, if someone really want a collaborative authoring system, 
they can open a collab-mode instance and leave their computer powered on. I 
think this solution beats any clever, intricate distributed system design by a 
mile :-)

> 
> 2. For collaborative editing, a core platform requirement i some form of
>   shared, persistent storage. Git could be good enough if you could
>   mask it from the user ...

Or the hard disk of a user that’s willing to leave their computer on for the 
duration of the collaboration.

> 
> 3. Features such as comments, comment threads are all "features" in my
>   opinion and I suspect Emacs has a plethora of tools for doing this
>   already once we crisply identify (1) and (2) above.

Right, features like these can be easily added regardless of the core design, 
so they don’t really affect the core design.

Yuan


reply via email to

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