Not really. People who work on collaborative applications use undo
models all the time. Take a look at a better built collaborative editor.
Behaviors in VRML is really no different than a collaborative text
editor, or a collaborative sound editor, or a collaborative image editor,
etc etc etc.
(we are by no means the first people to talk about this - and again,
I repeat, all this comes up if you want to build an "instantaneous"
world.
> That's *very* disconcerting. It's one thing to eswind (or "undo", to use
> your word) interactions involving simulated entities; it's quite another
> to "undo" a user's actions!
>
> > walks into First Virtual Bank to deposit the money, should
> > Barney still be in the bank when he is told he doesn't have it, or should
> > be at the point just before he tried to pick up the wallet.
>
> And what if he lends someone $5 on the way to the bank, and they use it to
> buy ice cream some time later? When the "undo" happens, does the ice cream
> disappear, for reasons unknown to the person who bought it? And what if
> buying the ice cream caused the vendor to close up for the day? Do they
> suddenly es-open?
If it took this long to get a messge back to Barney then all other forms
of consistency can be disregarded as well.
Also, if it takes this long to send Barney a message then maybe all of
the people (the person who got the money, the ice-cream dsaler) who are
in Barney's universe are correct and the problem is with Fred's machine.
> Unless you keep the "undo" times *very* short (a second or two) then no one
> will want to use such a system.
Of course, it better not take more than this to tell a server "i picked
this up" and the server to send back a message saying "oh no you didn't"
> I think a better approach is for the wallet to decide who got it, and
> explicitly acknowledge that fact. That will involve far less traffic than
> countless "undo" messages flitting over the net.
"undo" requires no more messages than locking an object down.
here is the worst case example:
UNDO
----
message 1. Fred says I got wallet
message 2. Okay you did
message 3. Barney says I got the wallet
mesasge 4. No you did not
LOCKING
-------
message 1. Fred says may I take the wallet
message 2. Yes you may
message 3. Barney says may I take the wallet
mesasge 4. No you may not
--------------------------------------------------------------------------------
Neophytos Iacovou Distributed Computing Services
University of Minnesota 100 Union St. SE
email: [email protected] Minneapolis, MN 55455 USA