Home | Blog | Recent Changes | Page Index | Site Map
History: Home > Summer of Code

Summer of Code

Systematically Breaking And Fixing AbiCollab

Project Abstract:
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.

In addition to my work on the AbiCollab algorithm, I will also use my knowledge of the Windows platform and my experience building and testing on Win32 to produce a solid Win32 GUI for the AbiCollab feature, which is currently Linux-only (GTK+).

Completed Project Milestones:
Primary Goals
AbiCollab Windows GUI - essentially COMPLETE
AbiCollab TCP Backend Windows Support - COMPLETE
Development release with Win32 Collab Support - COMPLETE - 2.5.2! See AbiCollab on Windows Screenshot
Additional goals:
"Compatible" Conflict Resolution - brainstorming complete
Automatic Testing - started

Final Product:
See www.abisource.com for a download of 2.5.2 or greater - my work was committed to the development tree and included in releases!

Applicable Pages:

Useful Links:
AbiWord Zone page on Clear Definition
AbiCollab page on Clear Definition

Other SoC Projects:
Login | Edit this page | Summer_of_Code mailing list