collaborative scenario

From: Tomas Frydrych <tomasfrydrych_at_yahoo.co.uk>
Date: Mon May 16 2005 - 17:55:18 CEST

A scenario to think about:

Alice, Bob and Cecilia are working on a collaborative document, which is
currently 20 pages long and near the start contains the sentence 'John
does his shoping regularly every morning.'

Alice, who is working from home, decides to expand the sentence to 'John
does his shopping regularly every morning as well as every evening.',
but as she does so, her DSL cuts out for couple of minutes.

Bob, who is in in the office, decides to take out the temporal clause
resulting in 'John does his shopping regularly'; there is no problem
with his network, so the changes make it in.

Two minutes later, Alice's DSL comes back and her changes are transmited
to the server, while Bob's changes are tranmitted to her. The sentence
reads 'John does his shoping regularly as well as every evening.'
Unfortunately by now Alice is three pages from the place where she made
the change two minutes ago, so she has no idea what has happened.

Next morning, Alice logs in and notes the first temporal clause is
missing. Realising that the sentence does not make much sense, she
reinserts what Bob took out yesterday. Ten minutes later, Bob logs in,
He is surprised to see the temporal clauses. He could swear he removed
them yesterday, but perhaps not (he has been working too hard lately).
He deletes both temporal clauses, to get the brief version he had in
mind (Bob is responsible for reducing the overall wordcount): 'John does
his shoping regularly.'

Just before lunch Alice notes both clauses are gone; she does not know
how it happened (perhaps she accidentaly deleted them earlier?) and so
she reinserts them.

After luch, Bob and Alice have a fight over messing with each other
changes at a staff meeting. Bob has checked the server logs and knows
that Alice's original changes came _after_ his shortening of sentence;
as far as he is concerned, she should have checked with him before
inserting that extra clause in. Alice, however, swears that she made her
changes before Bob and it was Bob's responsibility to speak to her
before removing the first temporal clause; there must be an error in the
system logs.

Cecilia, who happened to work on the last few pages of the document for
the whole of the last two days, has no idea what they are talking about;
she never saw any of the changes, since in her document Alice's changes
simply cancelled out Bob's and vice versa. Unfortunately, as the project
manager she will need to decide whether Bob's version or Alice's on is
to stay, but her version of the document only contains the text after
Bob's lates intervention. She curses the IT people for not getting her a
better set of tools to do her job.

<end of scenario>

I think two issues arise out of this scenario:

a) The system must make it possible for users to work with the document
offline without creating unpredictable or unstable state of the
document, such as making fmt changes to parts of the document that
someone deleted in the mean time. This requires that nothing would ever
be really deleted from the remote document on basis of local changes
while the document is live. All real deletes will require unconditional
reload of the document by all project members, and should, therefore, be
done in off-line mode (in revision terms, the accepting/rejection of
revisions cannot be done while the document is live and the team is
working on it).

b) There must a completely transparent audit trail: Bob should never be
in position where he cannot be sure whether he forgot to change
something or someone reversed his changes, and he should not need to
jump through hoops to get that information. Similarly Cecilia should be
able to see at glance how the document evolved (and she should not need
to use a Bonsai-like tool for that, it should be apparent from the
document). Ideally, it should be obvious from the local document itself
who did what to it.

Tomas
Received on Mon May 16 17:58:21 2005

This archive was generated by hypermail 2.1.8 : Mon May 16 2005 - 17:58:22 CEST