- 2024年初め、Momentの中核テキストエディタで使う共同編集システムの調査を始めた。現在、複数のアルゴリズムがオンラインおよびオフライン編集の問題を解決すると主張している。しかし実際には、オフライン編集の体験は良くないことがわかった。
- オフライン編集の問題点
- CRDTsやOTのような人気のアルゴリズムは、直接的な編集衝突を直感に反する形で解決するため、ユーザーにはデータ破損のように見えてしまう。
- オフライン編集では直接衝突の可能性が高まり、これらのアルゴリズムはオフライン編集に適していない。
- 例: ささいな編集衝突
- AliceとBobがオフライン状態で文書を編集する。Bobは
ColorをColourに変更し、Aliceはすべてのテキストを削除する。その後オンラインに戻ったとき、この衝突を解決しなければならない。
- このような衝突はよく起こり、結果としてユーザーはデータが壊れたと認識する。
- アルゴリズムの限界
- Yjs、ShareJS、Peritextのようなプロジェクトはオフライン編集をサポートすると主張しているが、実際には頻繁に問題が発生する。
- アルゴリズムはユーザーの意図を知ることができず、文字単位で動作するため、結果に対する保証が乏しい。
- UI/UXの問題への転換
- アルゴリズムだけでは問題を完全に解決できず、UI/UXの問題として取り組むべきである。
- gitのような文書マージUIはすでに存在しており、これをより使いやすく自動化する方法を研究すべきである。
- 一部の研究者はこの問題をUI/UXの問題として重視しており、Ink & Switchによる共同編集の歴史研究がその一例である.
1件のコメント
Hacker Newsの意見
Eg-walkerとShareJSの作者は、リアルタイム共同作業ツールはオンラインで一緒に作業する際には有用だが、オフライン編集や長期的なブランチでは、コンフリクトマーカーを追加して手動レビューできる選択肢が必要だと述べている
CRDTを使用する実装のもう一つの問題は、インフラ負荷である
CRDTをノート作成ソフトウェアに統合する作業をしているユーザーに感謝を伝えている
機械的マージアルゴリズムはさまざまな種類のコンフリクトで性能が異なる可能性があり、CRDTはマージされたテキストがユーザーの意図したものかどうかを判断できないと述べている
共同テキスト編集に使われるアルゴリズム(CRDTsとOT)には、編集操作の実行と相互作用に関する厳密な代数的要件がある
数学的、因果的、エントロピー的なコンフリクト概念が意味的コンフリクトと混同されていたと述べている
AIを使ってマージを予測できる可能性を示している
CRDTsは分散データ構造に対する優れた形式モデルだが、すべてのコンフリクトを自動的に解決しなければならないという考え方には問題があると述べている
複数の主体が同時にデータに対する権限を持つことは、解決不可能な問題だと述べている
2009年には、Gitが変更を自動でマージするアルゴリズムについて多くの議論があり、Torvaldsは自動マージの限界に懐疑的だったと述べている