A method performed at a server for providing, to a remote client device, a message related to an event at the server, in which the event is in response to one or more user inputs received from the remote client device, comprising: receiving notification of the event at the server (2310-A); determining an action, based on the event, to be performed by the remote client device on a remote graphical user interface, GUI, at the remote client device or a remote view at the remote client device (2320-A); generating the message based on the determined action (2330-A); deactivating, based on the event, a GUI of the application from a display output data to be sent to the remote client device, while sending the content of the application, the display output data being used by the remote client device to create a composite view combining the display output data and the remote GUI; and sending the message to the remote client device (2340-A), sending the display output data to the remote client (2340-A), wherein the message is sent to the remote client device separate from the display output data of the application, wherein the remote GUI is a GUI rendered locally at the remote client device for controlling an application running on the server from the remote client device, and the action to be performed by the remote client device on the remote GUI comprises the remote client device automatically activating a component of the remote GUI, wherein the remote view is a view of the application running on the server, a portion of the display output data of the application is not visible or only partially visible in the remote view, and the action to be performed by the remote client device on the remote view comprises the remote client device automatically adjusting the portion of the display output data of the application that is not visible or only partially visible to allow the portion of the display output data to become visible in the remote view without manual scrolling by a user, wherein the message is sent to the remote client device separate from the display output data of the application, wherein the event comprises a click on a textbox, the action is to activate a graphical keyboard of the remote GUI at the remote client device, and the message comprises a command to activate the graphical keyboard, wherein layout details of the graphical keyboard are be provided in a configuration file, and wherein the configuration file is generated by an application module of the server and is sent to the remote client device. receiving notification of the event at the server (2310-A); determining an action, based on the event, to be performed by the remote client device on a remote graphical user interface, GUI, at the remote client device or a remote view at the remote client device (2320-A); generating the message based on the determined action (2330-A); deactivating, based on the event, a GUI of the application from a display output data to be sent to the remote client device, while sending the content of the application, the display output data being used by the remote client device to create a composite view combining the display output data and the remote GUI; and sending the message to the remote client device (2340-A), sending the display output data to the remote client (2340-A), wherein the message is sent to the remote client device separate from the display output data of the application, wherein the remote GUI is a GUI rendered locally at the remote client device for controlling an application running on the server from the remote client device, and the action to be performed by the remote client device on the remote GUI comprises the remote client device automatically activating a component of the remote GUI, wherein the remote view is a view of the application running on the server, a portion of the display output data of the application is not visible or only partially visible in the remote view, and the action to be performed by the remote client device on the remote view comprises the remote client device automatically adjusting the portion of the display output data of the application that is not visible or only partially visible to allow the portion of the display output data to become visible in the remote view without manual scrolling by a user, wherein the message is sent to the remote client device separate from the display output data of the application, wherein the event comprises a click on a textbox, the action is to activate a graphical keyboard of the remote GUI at the remote client device, and the message comprises a command to activate the graphical keyboard, wherein layout details of the graphical keyboard are be provided in a configuration file, and wherein the configuration file is generated by an application module of the server and is sent to the remote client device.