1. A computer-implemented method comprising: receiving, from a remote application server by a browser on a client device, code for a web-based application; running, by the browser, the web-based application using the received code; identifying, by the web-based application, a change to a state of the web-based application, the change to the state of the web-based application comprising a transfer of a message from a message display area of the web-based application to a message display area of desktop application run on an operating system of the client device, the transfer comprising removal of the message from the message display area of the web-based application and addition of the message to the message display area of the desktop application, the desktop application being run concurrently with the web-based application by a user of the client device and not hosted by the browser; generating, by the web-based application, state data code reflecting the change; communicating, by the web-based application to the desktop application, the state data code; and implementing, by the desktop application, the change to the state of the web-based application by rendering the state data code to display the message.