Saturday, September 8, 2012

Collaboration XOR Offline Editing

pencil writing on paper
Source: Public domain
We are building the latest and greatest authoring tool for creating textbooks and other educational material and we need to decide how important it is to support simultaneous collaboration on documents and how important it is to support the ability to edit offline. We also have to decide whether both have to be supported at once. The real question is about priorities. Which have to be done first? Are there shortcuts we can take in early versions, that still provide real value to authors?

So, first, we need to understand how real authors work and how these features help. At the development sprint in Berlin this past July, we came up with the following ways that authors use collaboration and offline editing. We used our own experience, but we are mostly programmers and techies. Luckily, we also had Siyavula's experience running workshops where teachers collaborate to write aligned textbooks, as well as Booktype's experience with documentation sprints, and also the experience of open journals and newspapers.

Collaboration benefits (How simultaneous must collaboration be?)

  • One version to rule them all: One of the most important benefits of online document editors is that you don't have multiple versions of documents being emailed around and dug up from many people's computer hard drives. Everyone can see and access the current version. This suggests that a single online version would be useful, even if only one person could make changes at a time.
  • Simultaneous edit, but different jobs: One person may be creating and another one editing for style. Or one person may be authoring text while another finds images and media. This suggests that it would still be useful if the editor"locked" small regions of a document and let only one person be in a region at a time. 
  • Commenting: In many authoring workflows, reviewers make comments, but are not actually responsible for implementing the changes. The author retains that right/responsibility. Annotation systems can serve this need well, without requiring synchronous editing.
From this use case analysis, we think we see ways to make collaborative editing work well for authors without using sophisticated conflict-resolution techniques needed for true simultaneous editing. You can allow true simultaneous editing within text-only portions of the content (because open-source libraries exist for that). But you can use locking on the structure of individual semantic units so that two authors can't change the same figure/exercise/glossary entry at the exact same time. And therefore you don't have to write custom conflict resolution. But then to complicate things, what about offline editing?

Offline editing

  • Internet access is not ubiquitous everywhere. Offline editing really can be critical in places where authors may go home from a workshop and not have high-speed access.
  • Productive use of wait time: Offline access is extremely useful for editing and composing while travelling and waiting. Life provides us all many opportunities to wait. OER could benefit from all that wait time.
Offline editing can be supported by HTML5's ability to store data locally in the client browser. Upon reconnect, the changes are applied to the document.

Both simultaneous editing and offline editing have important use cases. But if you allow offline editing AND collaboration, then the lazy collaboration we propose above won't work, because the structural locking can't be done. And we want to be as lazy as possible so we can get the most functionality out to authors as soon as possible.

The big question: Is it possible to provide authors the ability to do offline editing OR collabrate, but not both? 

For single authors, offline editing could be enabled, and collaboration disabled. That gives them the ability to write whenever and wherever. But if they want to get reviews or work on content as a team, then offline editing would have to be disabled. Would this work?

P. S. How important is Revision history?

  • Source-code style revision not used by most authors: From our observations of our own behavior with tools like Google Docs that support fine-grained document revision histories, and from observing teachers at workshops, most people are not using the revision history to find out what changes happened when and trying to apply source-code like merge/accept/reject. For contracts these functions are used extensively, but for educational content, not so much.
  • Seeing what the last editor did is useful. When someone makes edits though, being able review just their edits is extremely handy. But this feature is frustrating if you have to scroll through a long document to find those edits. And often there appear not to actually be any changes. 
For now, we are not planning to tackle revision histories. But we are interested in techniques that others come up with, especially if they are author-centric : designed and tested with real authors. I just don't think that the same things that work for programming will work for writing.

No comments:

Post a Comment