1. A system comprising: a server for running applications, the server configured to: receive a request for content from a client installed in a mobile device; receive device parameters for the mobile device from the client; retrieve content in response to the received content request from the client, simulate a virtual device corresponding to the mobile device, wherein the virtual device comprises a set of data structures and/or operations which emulates the mobile device and which is configured according to some or all of the device parameters of the mobile device; format the retrieved content based on received device parameters for the mobile device by adapting the retrieved content to comport with the virtual device, and transmit the formatted content to the mobile device.