Hi JRiver team,
I would like to propose to include some evolutions in the existing API model as part of the new MC18 features.
I know it's less sexy than the "eye candy Theater View" feature, but I think that it could benefit to all users using gizmo/webgizmo/remote clients.
<technical-mode>
Today, implementing WEB 2.0 clients for MC is pretty easy, but it could be easier.
My first suggestion would be to provide a Websockets based API in addition to what already exists.
All recents web browsers are supporting websockets so this will provide two main advantages over what we already have in MC:
- Websockets are not limited with crossdomain restrictions (as AJAX $.get() is). With the restriction removed, *
the server providing the webpages can be different from the one which is used to provide the MC data.
- MC will be able to push events to clients rather than having clients polling the server, this will improve a lot the responsivness of the clients.
More MC will only send what has changed (time position only or track info only for example) rather than sending the whole pack of information as it's today.
The second one, is related to the format used in the API, since JSON is now a standard in data transfer and far lighter than XML,
it could be interesting to have the web API providing the data in JSON.
I've implemented a very simple prototype of a websocket server communicating with MC, and providing some basic features, this improves a lot what we can do on the client.
</technical-mode>
What do you think?