This is a very interesting development, there was an article here a while ago about multiple cursors & keyboards in use on a single display using a hacked X server.
thank you:-) [I tried to find it, but my google-fu seems a bit rusty today...]
I just finished skimming the paper - interesting how many different approaches there are for collaboration - e.g. the server in the paper is very general (works for all X apps) but aimed at control rooms (low latency) - while specialized collaborative editing systems (which work by synching n copies) often can deal with higher latency while not sacrificing ease of use.
I wonder if it is possible to unite generality and latency-tolerance...
You're welcome. Google is not always good at finding stuff that you know exists if you don't use the right keywords, also, your queries could have the result but only on page 85 or so...
I think the latency issues can be solved, after all when you use X over a network or when you use something like VNC to have access to a remote machine you are the one to decide to do so, the latency is something you take for granted (and with a good dsl setup it is quite amazing how responsive a remove session can be).
I think this is mostly a transitional issue that will solve itself in due course, after all, networks get faster all the time and latency is fairly steadily going down.
RTT from where I'm sitting to Amsterdam is 21 ms, to the US eastcoast it is about 90. That's not so bad, it would have to be a pretty critical application if that sort of latency would give trouble.
And if the application is 'aware' of its circumstances (such as a web based collaboration tool) then I'm sure you could tune it to the situation to achieve even better performance by masking some of the effects the latency causes.
Every multi-player networked game effectively implements strategies like that in order to mask the fact that the players are not sharing the same environment.
on thing that wasn't mentioned was using higher level information to infer cursor position. ie: instead of just saying text disappeared here, text appeared here, say a cut operation was performed here and a paste operation was performed here.
This is a difficult problem to deal with, due to the nature of HTML and XML. They both use embedded markup instead of annotations so when you're operating on things, you're not actually operating on text, you're operating on a tree.
9 comments
[ 12.2 ms ] story [ 33.1 ms ] threaddo you have the link perhaps?
edit: here you go: http://www.cs.princeton.edu/omnimedia/papers/multicursor.pdf
I just finished skimming the paper - interesting how many different approaches there are for collaboration - e.g. the server in the paper is very general (works for all X apps) but aimed at control rooms (low latency) - while specialized collaborative editing systems (which work by synching n copies) often can deal with higher latency while not sacrificing ease of use.
I wonder if it is possible to unite generality and latency-tolerance...
I think the latency issues can be solved, after all when you use X over a network or when you use something like VNC to have access to a remote machine you are the one to decide to do so, the latency is something you take for granted (and with a good dsl setup it is quite amazing how responsive a remove session can be).
I think this is mostly a transitional issue that will solve itself in due course, after all, networks get faster all the time and latency is fairly steadily going down.
RTT from where I'm sitting to Amsterdam is 21 ms, to the US eastcoast it is about 90. That's not so bad, it would have to be a pretty critical application if that sort of latency would give trouble.
And if the application is 'aware' of its circumstances (such as a web based collaboration tool) then I'm sure you could tune it to the situation to achieve even better performance by masking some of the effects the latency causes.
Every multi-player networked game effectively implements strategies like that in order to mask the fact that the players are not sharing the same environment.