Superlist uses SuperEditor, a modular rich text editor for Flutter, to enable our users to do powerful task management in the context of rich text documents.
SuperEditor has everything we need to create that experience. But as we’re in a connected world, editing shouldn’t be done in isolation.
So how do we turn an editing toolkit like SuperEditor, that has no “multi-player” capabilities into a full collaborative experience? SuperEditor doesn’t have an opinion on how documents should be serialized, and as such, it doesn't have built-in support for collaborative editing or conflict resolution.
But collaboration is a must have, not nice to have. What gives? In this talk, we’re going over how we made SuperEditor work for real time collaboration, while still keeping SuperEditor unopinionated.