Live data from Hacker News

Open source collaborative text editors

juretriglav.si

41–50 of 167 posts

Re: Open source collaborative text editors

#41

I would be very appreciative if Google made a stripped down version of Google Docs for plaintext editing. There are a bunch of basic integration features that would also be fantastic, but if the product was literally just Google Docs, minus the WYSIWYG bits, and all plaintext w/ maybe some syntax highlighting thrown in, I'd be super happy.

> Google Docs, minus the WYSIWYG bits, and all plaintext w/ maybe some syntax highlighting thrown in

That is the subset of features you want. Everyone else wants a slightly different subset of features. Add all of those subsets together and you end up with the total feature set of Google Docs.

Re: Open source collaborative text editors

#42

Indeed, the space is growing quickly. I run a company that provides a backend for real-time collaboration, so we necessarily stay on top of what's out there. There's a reason the server-side tech tends be paid: it is extraordinarily difficult to provide guaranteed eventual consistency of data at low latency. The CKEditor guys (and us, for that matter) have put YEARS of development effort into their solutions. We're w…

What kind of data structures are essential to know to work on these kind of projects?

Re: Open source collaborative text editors

#44
post #32
post #9

Earlier quoted context omitted.

ShareJS has a JSON editor example https://github.com/josephg/ShareJS/tree/master/examples/publ...

Thanks! But a big part of my obsession is to be able to modify a 3d universe from within. I won't claim it is practical or a good idea in any way, just an obsessive thing I want to try.

Right I understood that. I was replying to the other guy who suggested putting the scene in a JSON Three.js thing. So the idea was that the thing I suggested was just a possibly easy way to get a collaborative JSON editor into your program.

Re: Open source collaborative text editors

#45
post #42

Indeed, the space is growing quickly. I run a company that provides a backend for real-time collaboration, so we necessarily stay on top of what's out there. There's a reason the server-side tech tends be paid: it is extraordinarily difficult to provide guaranteed eventual consistency of data at low latency. The CKEditor guys (and us, for that matter) have put YEARS of development effort into their solutions. We're w…

What kind of data structures are essential to know to work on these kind of projects?

We (at sanity.io) get the work done with https://www.portabletext.org.

Re: Open source collaborative text editors

#46
This was one of the project idea I made myself work on during this April. The motivation being, "how hard is it to make a real-time code editor". Long story short, it is far more complicated than I had imagine and to complete in less than a week. Implementing the CRDT itself, the logic itself is challenging and than putting it down to code is another story.

From my understanding, an implementation of logoot[1] is built to create the skeleton of a collaborative environment. From there on, you have the building block to make other things work with it, such as collaborative canvas.

I built one using Socket.io on Angular and used Ace Editor own implementation of CRDT

> https://github.com/abdusamed91/realtime-codeeditor

I used the following references to build it

1) https://alligator.io/angular/socket-io/

2) https://medium.com/@ofir3322/create-an-online-ide-with-angul...

To get started with the theory CRDT low level algorithm, these two post go into great details

1) https://conclave-team.github.io/conclave-site/

2) http://digitalfreepen.com/2017/10/06/simple-real-time- collaborative-text-editor.html

[1]https://hal.inria.fr/inria-00432368/document

I'd love to take it to another level if anyone here has mutual interest in this field of work.

Re: Open source collaborative text editors

#47
post #34

Indeed, the space is growing quickly. I run a company that provides a backend for real-time collaboration, so we necessarily stay on top of what's out there. There's a reason the server-side tech tends be paid: it is extraordinarily difficult to provide guaranteed eventual consistency of data at low latency. The CKEditor guys (and us, for that matter) have put YEARS of development effort into their solutions. We're w…

Are you working only with editors running inside web browsers or also native ones? What I would like to have is something that bridges two native editors, let's say emacs and VS Code, and let's a team share the editor (whatever each developer's preferred editor is) and not only the screen on Slack or similar. That would be great for remote pair programming. I guess there would be a protocol for selecting the buffer/t…

https://floobits.com/ at least claims to support Emacs and Atom (and neovim and sublime and intellij); though https://github.com/Floobits/floobits-vscode says "Not ready. Don't get your hopes up."

Re: Open source collaborative text editors

#48

Indeed, the space is growing quickly. I run a company that provides a backend for real-time collaboration, so we necessarily stay on top of what's out there. There's a reason the server-side tech tends be paid: it is extraordinarily difficult to provide guaranteed eventual consistency of data at low latency. The CKEditor guys (and us, for that matter) have put YEARS of development effort into their solutions. We're w…

Do you guys rely on a central authority approach like Prosemirror does? I'm desperately looking for something that's somewhat stateless or at least replicable (even better if shardable) on a document basis.

Re: Open source collaborative text editors

#49
I'm curious about the choice of PubSweet for the collaboration components. Can you summarise what functions PubSweet is performing in your example app, and are there alternatives to PubSweet that you looked at for this functionality?

Re: Open source collaborative text editors

#50
post #49

I'm curious about the choice of PubSweet for the collaboration components. Can you summarise what functions PubSweet is performing in your example app, and are there alternatives to PubSweet that you looked at for this functionality?

It mainly has to do with familiarity with the framework. The focus of the work was on the collaborative server bits, not learning a new framework/ecosystem and I feel very comfortable in PubSweet, being its lead dev. The project also served as an app-building exercise, as we’re just now meeting in Cambridge to focus on that aspect and reusable components within PubSweet. And when all said and done, there weren’t any friction points with this approach, it all just sort of worked, from data model migrations to React frontend, so yay :) Hope that clears it up!
Post reply on HN