- 2024'ün başında, Moment'in temel metin editöründe kullanılacak ortak düzenleme sistemini araştırmaya başladılar. Şu anda çeşitli algoritmaların çevrimiçi ve çevrimdışı düzenleme sorunlarını çözdüğünü iddia ediyor. Ancak pratikte çevrimdışı düzenleme deneyiminin iyi olmadığını fark ettiler.
- Çevrimdışı düzenlemenin sorunları
- CRDT'ler ve OT gibi popüler algoritmalar, doğrudan düzenleme çakışmalarını sezgisel olmayan biçimde çözüyor ve bu da kullanıcıların bunu veri bozulması olarak algılamasına yol açıyor.
- Çevrimdışı düzenleme, doğrudan çakışma olasılığını artırıyor ve bu algoritmalar çevrimdışı düzenleme için uygun değil.
- Örnek: küçük bir düzenleme çakışması
- Alice ve Bob belgeyi çevrimdışı durumdayken düzenliyor. Bob, 'Color' ifadesini 'Colour' olarak değiştiriyor; Alice ise tüm metni siliyor. Daha sonra tekrar çevrimiçi olduklarında, bu çakışmanın çözülmesi gerekiyor.
- Bu tür çakışmalar yaygın ve sonuç olarak kullanıcılar verinin bozulduğunu düşünüyor.
- Algoritmaların sınırları
- Yjs, ShareJS ve Peritext gibi projeler çevrimdışı düzenlemeyi desteklediğini iddia etse de, gerçekte sık hatalar ortaya çıkıyor.
- Algoritmalar kullanıcı niyetini bilemez ve karakter düzeyinde çalıştıkları için sonuçlara dair güvenceleri zayıf kalır.
- UI/UX sorununa geçiş
- Sorun yalnızca algoritmalarla tamamen çözülemez; buna bir UI/UX problemi olarak yaklaşmak gerekir.
- git benzeri belge birleştirme arayüzleri zaten mevcut; bunları daha erişilebilir ve daha otomatik hale getirmenin yolları araştırılmalı.
- Bazı araştırmacılar bu soruna bir UI/UX problemi olarak odaklanıyor; Ink & Switch'in işbirliği geçmişi araştırması buna örnek.
1 yorum
Hacker News yorumu
Eg-walker ve ShareJS'in yazarı, gerçek zamanlı işbirliği araçlarının çevrimiçi birlikte çalışırken faydalı olduğunu, ancak çevrimdışı düzenleme veya uzun süreli branch'lerde çatışma işaretleyicileri ekleyip manuel inceleme yapma seçeneğinin gerekli olduğunu belirtiyor
CRDT kullanan uygulamaların bir başka sorunu da altyapı yükü
CRDT'yi not alma yazılımına entegre etmeye çalışan kullanıcıya teşekkür ediliyor
Mekanik birleştirme algoritmalarının farklı türde çatışmalarda farklı performans gösterebileceği ve CRDT'nin birleştirilmiş metnin kullanıcının niyet ettiği şey olup olmadığını belirleyemeyeceği belirtiliyor
İşbirlikçi metin düzenlemede kullanılan algoritmaların (CRDTs ve OT), düzenleme işlemlerinin yürütülmesi ve etkileşimine dair katı cebirsel gereksinimleri var
Matematiksel, nedensel ve entropik çatışma kavramlarının anlamsal çatışmalarla karıştırıldığı belirtiliyor
Yapay zeka kullanarak birleştirmeyi tahmin etme olasılığı ortaya atılıyor
CRDT'ler dağıtık veri yapıları için mükemmel bir resmi model olsa da, tüm çatışmaların otomatik olarak çözülmesi gerektiği fikrinde sorun olduğu belirtiliyor
Birden fazla varlığın aynı anda veri üzerinde yetkiye sahip olmasının çözülemeyen bir problem olduğu belirtiliyor
2009'da Git'in değişiklikleri otomatik olarak birleştiren algoritmaları hakkında çok tartışma vardı ve Torvalds'ın otomatik birleştirmenin sınırları konusunda şüpheci olduğu belirtiliyor