unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Yuan Fu <casouri@gmail.com>
To: "T.V Raman" <raman@google.com>
Cc: Karl Fogel <kfogel@red-bean.com>, emacs-devel <emacs-devel@gnu.org>
Subject: Re: A new collaborative editing package (maybe tangent)
Date: Sun, 31 Dec 2023 20:35:00 -0800	[thread overview]
Message-ID: <3AFAEFA6-F2FD-46DC-BE70-F6243E896B64@gmail.com> (raw)
In-Reply-To: <p9134vitmia.fsf@google.com>



> 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	other threads:[~2024-01-01  4:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-30  4:22 A new collaborative editing package (maybe tangent) Yuan Fu
2023-12-30  5:28 ` Karl Fogel
2023-12-30 10:56   ` Philip Kaludercic
2024-01-02  3:16     ` Richard Stallman
2023-12-30 19:49   ` Yuan Fu
2023-12-31 15:33     ` T.V Raman
2024-01-01  4:35       ` Yuan Fu [this message]
2024-01-01 15:49   ` Richard Stallman
2024-01-02  3:54     ` Yuan Fu
2024-01-05  4:22       ` Richard Stallman
2023-12-30  8:56 ` Aw: " Arne Babenhauserheide
2023-12-30 20:09   ` Yuan Fu
2024-01-01  3:32     ` Richard Stallman
2024-01-01  4:53       ` Yuan Fu
2024-01-01 23:09         ` Stefan Kangas
2024-01-02  3:45           ` Yuan Fu
2024-01-04  3:59         ` Richard Stallman
2024-01-04  8:02           ` Dr. Arne Babenhauserheide
2024-01-05  0:33             ` Yuan Fu
2024-01-06  4:33               ` Richard Stallman
2024-01-06  7:14                 ` Yuan Fu
2024-01-08  3:48                   ` Richard Stallman
2024-01-09  2:49                     ` Richard Stallman
2024-01-06  4:33               ` Richard Stallman
2024-01-06  7:17                 ` Yuan Fu
2024-01-08  3:48                   ` Richard Stallman
2024-01-07  4:28             ` Richard Stallman
2024-01-07  4:28             ` Richard Stallman
2024-01-07  7:06               ` Yuan Fu

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=3AFAEFA6-F2FD-46DC-BE70-F6243E896B64@gmail.com \
    --to=casouri@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=kfogel@red-bean.com \
    --cc=raman@google.com \
    /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).