We have not had any errors due to multiple clients updating settings simultaneously
But we get plenty of jumpiness when they do
Let's smooth it out for them
AC
a reconciliation algorithm has been implemented so that when two clients edit the same non-discreet setting (e.g. any slider or color) simultaneously, they do not experience any jumping but rather a sense of "tug of war"
shower thoughts:
client side implimentation
put the onus on each client to make their square run smooth, save server resources
flow
client receives new settings from the server
client caches new settings as target
each animation frame
the clients settings are updated
each field moves one step closer to target.field
requestAnimationFrame runs about 60fps
Suppose we divide the interval into 60 steps
UserA is not editing the setting foo
UserB slides the foo slider from 0->1
UserA watches as their slider slides from 0->1 over the course of 1 second
maybe need some smooth bump functions/cubic-beziers
smooth start and stop
If UserA is editing foo, they should have a sense that they are pulling with/against UserB
achieving this might be more difficult
especially the scenario when n > 1 users are updating the foo
AC
target
field
moves one step closer totarget.field
requestAnimationFrame
runs about 60fpsUserA
is not editing the settingfoo
UserB
slides thefoo
slider from0->1
UserA
watches as their slider slides from0->1
over the course of 1 secondUserA
is editing foo, they should have a sense that they are pulling with/againstUserB
n > 1
users are updating thefoo