From: Ergus <spacibba@aol.com>
To: Jean Louis <bugs@gnu.support>
Cc: Qiantan Hong <qhong@mit.edu>, Karl Fogel <kfogel@red-bean.com>,
Stefan Monnier <monnier@iro.umontreal.ca>,
Caio Henrique <caiohcs0@gmail.com>, Eli Zaretskii <eliz@gnu.org>,
Fermin <fmfs@posteo.net>, Noam Postavsky <npostavs@gmail.com>,
Emacs developers <emacs-devel@gnu.org>
Subject: Re: Question collaborative editing - Wikipedia reference
Date: Tue, 20 Oct 2020 18:15:57 +0200 [thread overview]
Message-ID: <20201020161557.trl2ehuvcqotag4l@Ergus> (raw)
In-Reply-To: <20201006173228.GA18043@localhost>
On Tue, Oct 06, 2020 at 08:32:28PM +0300, Jean Louis wrote:
>* Qiantan Hong <qhong@mit.edu> [2020-10-06 04:04]:
>> > But this has 3 main problems.
>> >
>> > 1) On one hand such services require some servers (to work like google
>> > spreadsheet) and need to be provided somehow... something difficult as I
>> > don't think gnu or fsf have resources to maintain a service like that
>> > and provide it.
>
>Comment on crdt.el in the regard to above quote is that the server is
>on Emacs, so there need not be and should not be any third party to
>provide any service to provide service to Emacs, as Emacs is providing
>server through crdt.el
>
>Please look at how Gobby real time simultaneous editor is working,
>that is very similar now to crdt.el
>
>If user have Emacs with public IP address, all such user need to do is
>to tell the IP address and port and password to the collaborator, they
>can already connect.
>
>If user do not have public IP address but user is behind the router,
>then such user who connects over network or administrator who is
>helping users to connect over the network is assumed to have
>sufficient knowledge how to click few times or setup router to port
>forward from local network to public network.
>
>If user has VPS or dedicated server, then such can use ssh to port
>forward to the public server, or can use permanent VPN to connect to
>other collaborators which is anyway best setup. When I say permanent
>VPN, I mean "private" network and not VPN through third parties.
>
>To use VPS, today it is about $5 or less, expenses are not high.
>
>And let us not forget that there are many organizations where such
>collaborative simultaneous editing can take place who need not have
>any Internet connection, they may have their hotspots for local
>network or ethernet wire networks.
>
Not all the users have the skills/knowledge to do this. Even if they do,
the most frequent is that they don't have the privileges for that in
their network/work/home/ISP to open a port or so. Users with real IP are
not common these days.
VPS is an option... but do you really think that most users can/want to
create a virtual machine create a VPS + VPN and so just to edit a
document?... actually in some countries (like mine) the common VPS
services are blocked too...
>> > 2) On the other hand it will be better if the service is somehow
>> > distributed in order to give more privacy-security but also to reduce
>> > the load of the servers...
>
>We speak here of editing of a file, not transfer of huge binaries with
>many users. So there is no expected high load on the server. I cannot
>possibly understand why should simultaneous real time editing be
>distributed, maybe you think in similar fashion like Tor is doing it,
>but that is all definitely not necessary for Emacs to handle. You can
>handle your routing anyway through Tor, I am sure it will work, and
>you can route traffic through VPN, SSH and maybe other means.
>
Not Tor. Tor is an onion infrastructure I was referring to the user
connections. I explicitly said p2p so, direct communication without
needing an permanent intermediate server.
Many ISP don't allow you to connect directly or open ports to your
home. Some networks have fireworks. Some of them even change your IP
every some hours that's why services like noip need a program to ping
frequently with updated information.
>> > I still can't find any infrastructure we can
>> > use, cause most of the peer-to-peer libraries are for C++, javascript,
>> > Node.js and so on (example: webrtc). Just on yesterday I found
>> > n2n... But I am not a web specialist so it requires a lot of
>> > experimenting time for me.
>
>For crdt.el is definitely not needed, just as in Gobby editor is not
>needed. Collaborators who connect over Internet will have enough
>networking skills to connect to each other by using methods as I have
>explained above. Simplest method is ssh, and if any of collaborators
>have public IP exposed, such could be preferred server, and everybody
>else could connect to such, by doing simple ssh command with port
>forwarding, and editing afterwards.
>
I understand that crdt.el does a good work for local networks, but to
extend it ever internet your solutions are very limited. There is
something else needed and what you explained is exactly the kind of
things I won't recommend/suggest to any user to do (create a virtual
machine, install a vpn, create it, open a port in your router, get an
ISP with fix IP...). It is almost like open a tmux session over
ssh... will be simpler.
Specially with the inexpert users in mind... they can edit easily with
many other tools these days (either documents or code). So the idea is
to offer something "competitive"... not to challenge their skills and
make collaborative editing like a final lever of a complex videogame...
>> > 3) The other workflow (create a local server for others) is the
>> > "simplest" approach at the moment. But that is a problem for many use
>> > cases due to dynamic ip addreses, firewalls, opening ports and so on. It
>> > is fine for a class room or company, but not for working from home.
>
>All solutions for that already exists, see above.
>
What you mention are not solutions... just workarounds and their
complexity (and requirements of skills) just show that some extra work
is needed to easy the user experience...
>> On this topic, I'm considering supporting sending the traffic over
>> IRC. Seems that it solves all those problem, what do you guys think?
>
>I think I feel like "abused" when I hear that.
>
>> The process will be that one user create a channel with a random
>> name, say on freenode.net, then they share the channel name
>> with other user (maybe via IRC as well!). Others can then join the
>> channel, and it behaves basically like TCP. To avoid spamming
>> the same authentication protocol for TCP (to be implemented) can
>> also work on IRC. The messages from user without authentication
>> are simply discarded.
>
>Please no.
Why not?
>:-)
>
>
>Jean
>
Ergus
next prev parent reply other threads:[~2020-10-20 16:15 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
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 [this message]
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=20201020161557.trl2ehuvcqotag4l@Ergus \
--to=spacibba@aol.com \
--cc=bugs@gnu.support \
--cc=caiohcs0@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=fmfs@posteo.net \
--cc=kfogel@red-bean.com \
--cc=monnier@iro.umontreal.ca \
--cc=npostavs@gmail.com \
--cc=qhong@mit.edu \
/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).