The AbiSource project provides a free, fast, powerful word processing application, AbiWord. A live, real-time collaboration feature,
AbiCollab, has been added to the development version, allowing an arbitrary number of users to work together on the same document at the same time. While keeping all copies of the document in sync is of moderate difficulty when entirely separate parts of a document are edited, edits that are close to each other provide remarkable challenges in synchronization and usability: how do we maintain the integrity of the document for all viewers, yet not surprise any of them with unexpected, if technically "correct," behavior? I will systematically explore these corner cases, finding where synchronization is lost and where synchronization results in counter-intuitive behavior. I will then work to resolve the problems that I find, so that
AbiCollab is released with the next major release of AbiWord as a robust, stable addition, in addition to being highly innovative.