Consider optimizing updates by only changing changed form values?
On every signal all form data is submitted to the server, even form data that hasn't changed since the last signal. Maybe we could make it so that only updated form data is sent, and not all form data.
Special care will have to be taken for situations where absence of form data has a particular meaning, e.g. no values for
WSelectionBox means no selection. In that case we could encode it as an array instead? Since
Apart from making the signals a bit smaller this may help in situations where many signals are being sent very quickly, causing the server side value of some widgets to be temporarily reset to their old value.
Suppose an update from the server changes the selected item in a
WComboBox, but before that update was received and processed by the browser many events occur. These events will still have the old item selected. The effect will be that the current selected item of the
WComboBox temporarily switches back to the old value after being changed, to then settle to the new value once a signal from the client comes in after the client has updated its value.