synchronization

7 views
Skip to first unread message

jason...@creativetrax.com

unread,
Oct 29, 2009, 10:50:15 PM10/29/09
to sage-n...@googlegroups.com
My brother and I were working on a problem or two of his algebra
assignment.

First of all, it was *extremely cool* that we could talk on the phone
and have a shared Sage session that both of us could see and talk
about. I would type some code, then he would fill in a blank, etc.

However, we noticed some problems with the synchronization.

Comment 1:

1. I created a worksheet and shared it with my brother.
2. He logged in and started typing things into a cell that I had already
typed stuff into. I did not have that cell in focus.
3. He kept saying that his typing disappeared. I noticed that my
browser never was querying the server for an update of the worksheet.
4. I quit the worksheet and opened it again, and then he was able to
type things in and I was able to see them; things seemed to work as they
should then.

Comment 2:

Both of us edited different cells at the same time. My worksheet
overwrote his worksheet, destroying the work that he had. My guess is
this is because the "conflict management" is on the whole-worksheet
level. Whoever has the highest update number wins. Instead, it would
be fantastic if this could work on a cell resolution, so that the
simultaneous (different) cell changes were merged.

Once we realized only one of us could edit the worksheet per 10-second
update cycle, things went pretty smoothly. This was awesome!

Thanks,

Jason

Harald Schilly

unread,
Oct 30, 2009, 6:18:30 AM10/30/09
to sage-n...@googlegroups.com
On Fri, Oct 30, 2009 at 03:50, <jason...@creativetrax.com> wrote:
> However, we noticed some problems with the synchronization.
>

Both sounds like a problem, the first one like a missing
initialization step and I think it should already be on a cell level.
Such things are very complicated, e.g. google wave is an example how
to do this to the maximum and uses operational transformations
http://en.wikipedia.org/wiki/Operational_transformation ($8 talks
about how to design this to build a group (with inverse and so on) ...
that's why you never get into any conflict as you could with any
version control system)

But just synchronizing on a cell level destroys the work of all but
one participant, that's for sure. Maybe maybe maybe there could be
some visual highlighting which cell was changed last due to this
synchronization step? It could even go so far to "block" editing in
the newly updated cells for 30 secs to ensure, that only one
participant is able to do something. Hard problem ;)

H

Pat LeSmithe

unread,
Oct 31, 2009, 11:21:53 AM10/31/09
to sage-n...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages