Let's start with CKEditor 5, a newly released editor from a long line of quality editors. Let's get to it! CKEditor 5 Figure 2: CKEditor 5 interface (one possible variant). So, with the scoring system above, an editor can be given a maximum of 11 kiwi units of goodness. Offline support: 1 kiwi □ (this is quite tricky to determine).Supports remote cursors and selections: 1 kiwi □ (so you can see other users' cursors).Available required server bits: 1 kiwi □.Supports real-time collaboration: adds 1 kiwi □.Open license: adds 1 kiwi □ (this is actually an exclusion criterion as well).I propose a deeply scientific grading system with the following categories (using kiwis as a standard unit of goodness): That's still two editors, a choice to make – and it would be nice to see somewhat objectively which one is a better fit. Instead, let us focus on the two editors that both could be "the one". Initially, I wanted to fly with you above the landscape and list pretty much every collaborative text editor out there, but it seems like that wouldn't add much value. It's 2019 ( the itch is back with a vigour), and this time not only has a magical editor appeared, but there are actually two contenders to fulfil the long-sought specification. and I have never been able to find such a tool. One that enables a few connected users, thousands of miles apart, to edit a structured document by pressing keys on their keyboards and see each other's changes displayed on their screens. One that solves the problem of real-time collaboration for you. What I (and probably you too, dear reader) really want is a plug-and-play editor usable in a product. I've reached out to the author at the time and got no response, and found that this particular edge-case has been addressed in a similar algorithm by a different team, but ah, they're subtly different implementations, maybe I could port the Lisp.WAIT A MINUTE! What's going on here? I certainly do not want to be implementing a novel algorithm from a research paper and fixing its issues! What am I doing, how did I get here? Let's rewind! Until we meet again, conflict-free replicated data type! Figure 1: The dive.Ĭase in point is that time in 2017 I was so excited by the prospects of an algorithm (a type of CRDT) described in a research paper, that I took a few days and implemented it in JavaScript, only to find out that the paper itself has an edge-case it isn't addressing (well. It's difficult to pick up the subject again after this, so the next phase is a sort of winter of related ideas, being dormant and letting the harsh weather pass, when I usually let the half-working code sit for months. you get where I'm going ( surfaced, gasping for air). Usually it starts with a burst of initial excitement and amazement ( the jump) with the newly available low-level technologies and research papers, which is followed by a sense of being overwhelmed and wanting to surface a bit ( hey, this pool is pretty deep) and explore the applied research side of the equation, followed by a period of where my outlook can perhaps be best described with: "am I really too dumb for this stuff?" (quite likely) as invariably the docs, demos and code don't quite match up or make sense, or the collaboration component on the server doesn't start, or there's an edge-case with more than two users typing in the same word, or. Now, I've gone off the deep end □ and dove into the virtually endless pool of resources on real-time collaboration many times before, and the path down, that invigorating plunge towards the bottom of the pool, has become quite familiar to me. The focus of this post is thus on this quite niche category of open source tools and the tech that powers them, but if your interests are wider, you can check out this constantly updated list of editors. not just plain text, but structured content as well). But not just any collaborative text editor, oh no, my speciality is finding (well, at least looking for) open source real-time collaborative web-based rich text editors (i.e. For years now I've had this itch, trying to find the "perfect" collaborative text editor.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |