A computer-implemented method , comprising the steps: rendering , by a server, a user interface, UI, for display on a client computing device as an image; generating , by the server, a UI descriptor describing interactive elements of the UI; compressing the image into a compressed image in a compressed image format; packing the compressed image and the UI descriptor into a container; transferring the compressed image and the UI descriptor to the client computing device; unpacking the container to obtain the compressed image and the UI descriptor; rendering , by the client computing device, the UI using the unpacked compressed image and UI descriptor, comprising creating an image map by the client by: iterating over the elements contained in the UI descriptor to create interactive areas for the image map; and creating a MAP HTML element for the image map; making the image map visible on the client; receiving , at the client, an interactive event associated with an interactive element described in the UI descriptor; in response to the interactive event: dynamically generating , by the client, an interactive HTML element corresponding to the interactive element described in the UI descriptor; assigning, by the client, a value to the interactive HTML element; positioning, by the client, the interactive HTML element on the UI; and configuring , by the client, the dynamically generated interactive HTML element to be visible on the UI and to accept input by appending the interactive HTML element to the document object model of the client such that the interactive HTML element replaces the corresponding interactive element of the UI described in the UI descriptor. rendering , by a server, a user interface, UI, for display on a client computing device as an image; generating , by the server, a UI descriptor describing interactive elements of the UI; compressing the image into a compressed image in a compressed image format; packing the compressed image and the UI descriptor into a container; transferring the compressed image and the UI descriptor to the client computing device; unpacking the container to obtain the compressed image and the UI descriptor; rendering , by the client computing device, the UI using the unpacked compressed image and UI descriptor, comprising iterating over the elements contained in the UI descriptor to create interactive areas for the image map; and creating a MAP HTML element for the image map; making the image map visible on the client; receiving , at the client, an interactive event associated with an interactive element described in the UI descriptor; in response to the interactive event: dynamically generating , by the client, an interactive HTML element corresponding to the interactive element described in the UI descriptor; assigning, by the client, a value to the interactive HTML element; positioning, by the client, the interactive HTML element on the UI; and dynamically generating , by the client, an interactive HTML element corresponding to the interactive element described in the UI descriptor; assigning, by the client, a value to the interactive HTML element; positioning, by the client, the interactive HTML element on the UI; and configuring , by the client, the dynamically generated interactive HTML element to be visible on the UI and to accept input by appending the interactive HTML element to the document object model of the client such that the interactive HTML element replaces the corresponding interactive element of the UI described in the UI descriptor. <EOS>