1. A method of communication between devices, comprising: receiving, by a server, a connection request from a first device; determining, by the server, that the first device is incompatible with a first type of connection comprising a WebSocket based connection; determining, by the server and in response to the first device being incompatible with the Web Socket based connection, that the first device is compatible with a second type of connection, the second type of connection comprising at least one of an EventSource based connection, a forever frame based connection, or a long polling persistent connection; establishing, by the server, a connection in the second type of connection in response to the connection request; receiving, by the server, a first web API request on the connection; executing, by the server, a first procedure in response to the first web API request; receiving, by the server, a second web API request on the connection; and executing, by the server, at least one of the first procedure or a second procedure in response to the second web API request.