カーソル吹っ飛びテスト

仕事の後、オカリナさんにSobalipse0.9.2.M5のテストに付き合ってもらった。オカリナさんのところではカーソルが吹っ飛んだと言っていたが、僕のところでは大丈夫だった。そう言えば、オカリナさんには間違えてSobalipseの古いバージョンを渡してしまった(笑)。というわけで、今日の結果を見ると、カーソルの問題は、ほぼ克服できたのかもしれない。

でも、二人でめちゃくちゃに書き込んでいたら、思ったよりも表示が乱れた。うーむ。

一般に、共有エディタが満たさなければならない要件としては、以下の三つがよく言われる。

  • Convergence ... 編集操作がすべてのユーザーに反映される
  • Causality-preservation ... 編集操作の順番が狂わない
  • Intention-preservation ... ユーザーの意図した通りに編集される

Sobalipseの場合、イベントを配信を直列化しているので、ConvergenceとCausality-preservationは満たされる。表示が乱れる現象は、意図した通りに編集されないということで、Intention-preservationが弱いということになる。実は、Sobalipseの中でもIntention-preservationを満たすために色々と頑張っているのだが、アルゴリズムにちょっとナイーブなところがある。もう少し精密なアルゴリズムを適用した方がいいかもしれない。