You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before we add any significant new features, it would be beneficial to revise the protocol for communication with the ICS to address some shortcomings. For example:
It both uses separate namespaces for port/stbd/pilotand separate events (COVP vs COVS vs COPL).
It uses a command name field within the event, which requires a second layer of dispatch on the server side.
It uses obscure abbreviated command codes like TS for zoomNearOneStop, and a generic value field, which make the API inscrutable.
It is unclear which commands require the active camera as a parameter because it is sent with every message. (Perhaps it is always required, but IMHO it should be explicit, not implicitly added at the "presentation layer" or whatever that would be called.)
Also, Socket.IO is not really needed because WebSockets are widely supported now, and its behaviors like HTTP long-polling fallback have been vexing in the past.
Currently, the ICS itself is not easily refactored to handle different message structures. In preparation for an improvement, however, we could have the Observer UI code call into a library that translates to the existing protocol, then we can migrate it piecemeal.
The text was updated successfully, but these errors were encountered:
Before we add any significant new features, it would be beneficial to revise the protocol for communication with the ICS to address some shortcomings. For example:
port
/stbd
/pilot
and separate events (COVP
vsCOVS
vsCOPL
).TS
forzoomNearOneStop
, and a genericvalue
field, which make the API inscrutable.Also, Socket.IO is not really needed because WebSockets are widely supported now, and its behaviors like HTTP long-polling fallback have been vexing in the past.
Currently, the ICS itself is not easily refactored to handle different message structures. In preparation for an improvement, however, we could have the Observer UI code call into a library that translates to the existing protocol, then we can migrate it piecemeal.
The text was updated successfully, but these errors were encountered: