- Anfang 2024 begann man, ein System für kollaboratives Editieren für den zentralen Texteditor von Moment zu untersuchen. Derzeit behaupten verschiedene Algorithmen, die Probleme von Online- und Offline-Bearbeitung zu lösen. In der Praxis stellte sich jedoch heraus, dass die Offline-Bearbeitung keine gute Erfahrung bietet.
- Probleme der Offline-Bearbeitung
- Beliebte Algorithmen wie CRDTs und OT lösen direkte Bearbeitungskonflikte auf unintuive Weise, sodass Nutzer dies als Datenbeschädigung wahrnehmen.
- Offline-Bearbeitung erhöht die Wahrscheinlichkeit direkter Konflikte, und diese Algorithmen sind für Offline-Bearbeitung nicht gut geeignet.
- Beispiel: ein trivialer Bearbeitungskonflikt
- Alice und Bob bearbeiten ein Dokument offline. Bob ändert "Color" in "Colour", und Alice löscht den gesamten Text. Wenn sie später wieder online sind, muss dieser Konflikt gelöst werden.
- Solche Konflikte sind häufig, und infolgedessen nehmen Nutzer die Daten als beschädigt wahr.
- Grenzen der Algorithmen
- Projekte wie Yjs, ShareJS und Peritext behaupten, Offline-Bearbeitung zu unterstützen, in der Praxis treten jedoch häufig Fehler auf.
- Algorithmen können die Absicht der Nutzer nicht kennen und arbeiten auf Zeichenebene, wodurch es kaum Garantien für das Ergebnis gibt.
- Übergang zu einem UI/UX-Problem
- Allein mit Algorithmen lässt sich das Problem nicht vollständig lösen; man muss es als UI/UX-Problem angehen.
- Dokument-Merge-UIs wie bei git existieren bereits, und es sollte untersucht werden, wie sie zugänglicher und stärker automatisiert werden können.
- Einige Forschende konzentrieren sich auf dieses Problem als UI/UX-Thema; ein Beispiel dafür ist die Forschung von Ink & Switch zur Geschichte der Kollaboration.
1 Kommentare
Hacker-News-Kommentar
Der Autor von Eg-walker und ShareJS erwähnt, dass Echtzeit-Kollaborationstools nützlich sind, wenn man online gemeinsam arbeitet, dass es für Offline-Bearbeitung oder langlebige Branches jedoch eine Option braucht, Konfliktmarker hinzuzufügen und eine manuelle Prüfung vorzunehmen
Ein weiteres Problem bei Implementierungen mit CRDTs ist der Infrastruktur-Overhead
Es wird einem Nutzer gedankt, der daran arbeitet, CRDTs in Notizsoftware zu integrieren
Es wird erwähnt, dass mechanische Merge-Algorithmen je nach Art des Konflikts unterschiedlich gut funktionieren können und dass CRDTs nicht entscheiden können, ob der zusammengeführte Text tatsächlich dem entspricht, was der Nutzer beabsichtigt hat
Die für kollaboratives Text-Editing verwendeten Algorithmen (CRDTs und OT) haben strenge algebraische Anforderungen an die Ausführung und Interaktion von Bearbeitungsoperationen
Es wird erwähnt, dass mathematische, kausale und entropische Konfliktbegriffe mit semantischen Konflikten verwechselt wurden
Es wird die Möglichkeit angesprochen, mithilfe von AI Merges vorherzusagen
CRDTs sind ein hervorragendes formales Modell für verteilte Datenstrukturen, aber es gibt ein Problem mit der Vorstellung, dass alle Konflikte automatisch gelöst werden müssen
Es wird erwähnt, dass es ein unlösbares Problem ist, wenn mehrere Entitäten gleichzeitig Berechtigungen über Daten haben
2009 gab es viele Diskussionen über Algorithmen, mit denen Git Änderungen automatisch zusammenführt, und es wird erwähnt, dass Torvalds den Grenzen des automatischen Mergings skeptisch gegenüberstand