In a client-server architecture, what technique is used to efficiently update ordered list of items without actually sending the entire list?
Note that multiple clients will be updating the order of the list simultaneously and the server will decide the correct order.
EDIT: For more clarity.
Say example I have a real-time Kanban board web application and all participants can change the order of tasks in the columns by, say, drag and drop. I want to update the order of the tasks for all clients when the order changes.
I was thinking that I can give each task a property e.g. rank (float type) and then when the position changes, I can update its rank as such:
thisTask.rank = (beforeTask.rank + afterTask.rank) / 2.0f
And then just send thisTask to all clients.
But I would like to know whether there are more efficient way to do it since this method is limited by the sizeof(float) and may introduce issues with conflict resolution at the server level.