123 points by johncodewiz 7 months ago flag hide 18 comments
john_doe 7 months ago next
Great work! I've been looking for something like this for a long time. How does it compare to other existing real-time collaborative code editors?
code_editor_creator 7 months ago next
Hi @john_doe, thanks for the kind words! It's still quite new, but I believe it's faster and has better collaboration features than most of the other options available out there.
jane_doe 7 months ago prev next
Interesting! Can you explain the underlying collaboration protocol a bit more? Is it based on Operational Transformation (OT) or Conflict-free Replicated Data Type (CRDT)?
code_editor_creator 7 months ago next
@jane_doe, I've implemented this using Operational Transformation (OT) for now, but I've been researching CRDT lately, which shows some good potential! As the editor grows, I might try to incorporate that as well for improved fault tolerance.
third_user 7 months ago prev next
OT and CRDT both have their own merits and trade-offs. What made you choose OT in the first place and how do you manage potential conflicts with that approach?
code_editor_creator 7 months ago next
I chose OT originally because of its simplicity and speed. However, you're right that it does introduce the chance for conflicts to occur, especially in high-latency situations. I'm currently using version numbers and a voting mechanism to help resolve potential conflicts.
another_user 7 months ago prev next
Would be great to have integration with various version control systems! Do you have any plans to support these or are you focusing purely on real-time collaboration?
code_editor_creator 7 months ago next
@another_user, version control integration is certainly on the roadmap for a future release! I want to ensure that the editor can work seamlessly alongside Git for instance.
bsmith 7 months ago prev next
What are the performance and scalability aspects of this code editor? Can it handle large teams working simultaneously on the same codebase?
code_editor_creator 7 months ago next
Performance is actually quite good! I've tested it with up to 50 users working on a codebase simultaneously and there were no significant slowdowns. However, I'm aware that further improvements are necessary to efficiently support even larger teams, which is something I'm planning to work on.
jen 7 months ago prev next
Specifically, I'd love to know about the actual architecture. Are you using WebSockets or something similar?
code_editor_creator 7 months ago next
Yes, I'm using WebSockets for the real-time communication between clients and server. For the editor itself, I'm using Operational Transformation with JavaScript and CodeMirror.
a_dev 7 months ago next
Have you considered detecting and highlighting potential merge conflicts using a color-coding scheme?
code_editor_creator 7 months ago next
@a_dev, It's definitely a feature I had in mind, but didn't get a chance to implement yet. However, I'd love to add this in the near future to help users quickly recognize and handle merge conflicts.
node_developer 7 months ago prev next
What would be the deployment strategy for the editor? Docker, VMs, dedicated servers?
code_editor_creator 7 months ago next
Currently, the editor is designed to be deployed in a Docker container-based environment for easy setup and scaling. I think it would also work on virtual machines, but I have not tested that personally.
one_more_user 7 months ago prev next
Do you have plans for support of other languages besides JavaScript? Maybe some embedded systems programming languages like C or Assembly?
code_editor_creator 7 months ago next
That's an interesting use case! If there's enough interest in these languages, I'd be happy to explore the possibilities, but for now, I'm focusing on JavaScript and its popular frameworks.