A tablet-based client device having a memory for storing program code and a processor for processing the program code to generate a Graphical User Interface, abbreviated as GUI,), the tablet-based client device comprising: - means for a network connection for communicating with a hosting service, the means for the network connection is configured to receive compressed, processed video stream of a selected online application from a hosting service, decompress the compressed, processed video stream and render video, audio on a display of the tablet-based client device, - means for rendering a first virtual controller (601, 701), a second virtual controller (602, 702), and a set of graphical user interface elements at the GUI rendered on the display of the tablet-based client device - means to track the interaction of the user with the virtual controllers for the execution of the selected online application; - means to transmit control input to the hosting service, wherein the first (601, 701) and second (602, 702) virtual controllers and the set of graphical user interface elements are configured to operate for the selected online application and substantially mimic control provided by a physical game controller, wherein the first (601, 701) and the second (602, 702) virtual controllers are configured to provide omnidirectional, free-form movement in a direction in which a user moves a finger on the display of the tablet-based client device, wherein the first virtual controller (601, 701) is configured to be operable in a relative mode or in an absolute mode and the second virtual controller (602, 702) is configured to be operable in the relative mode or in the absolute mode, wherein in the relative mode a virtual controller (601, 701) is drawn on the display of the tablet based client device at an initial touch point of user input such that subsequent user input position on the display of the tablet-based client device is determined in relation to the initial touch point of user input, wherein in the absolute mode a virtual controller (602, 702) is drawn in a fixed location on the display such that the subsequent user input position on the display of the tablet-based client device is determined in relation to the fixed location on the display of the tablet-based client device, and wherein the mode of each virtual controller is configured on a per-game or per-user basis - means for a network connection for communicating with a hosting service, the means for the network connection is configured to receive compressed, processed video stream of a selected online application from a hosting service, decompress the compressed, processed video stream and render video, audio on a display of the tablet-based client device, - means for rendering a first virtual controller (601, 701), a second virtual controller (602, 702), and a set of graphical user interface elements at the GUI rendered on the display of the tablet-based client device - means to track the interaction of the user with the virtual controllers for the execution of the selected online application; - means to transmit control input to the hosting service, wherein the first (601, 701) and second (602, 702) virtual controllers and the set of graphical user interface elements are configured to operate for the selected online application and substantially mimic control provided by a physical game controller, wherein the first (601, 701) and the second (602, 702) virtual controllers are configured to provide omnidirectional, free-form movement in a direction in which a user moves a finger on the display of the tablet-based client device, wherein the first virtual controller (601, 701) is configured to be operable in a relative mode or in an absolute mode and the second virtual controller (602, 702) is configured to be operable in the relative mode or in the absolute mode, wherein in the relative mode a virtual controller (601, 701) is drawn on the display of the tablet based client device at an initial touch point of user input such that subsequent user input position on the display of the tablet-based client device is determined in relation to the initial touch point of user input, wherein in the absolute mode a virtual controller (602, 702) is drawn in a fixed location on the display such that the subsequent user input position on the display of the tablet-based client device is determined in relation to the fixed location on the display of the tablet-based client device, and wherein the mode of each virtual controller is configured on a per-game or per-user basis