In client-server environments, remote desktop clients were designed to be used on client devices with display modules that are at least as equally large as display modules at the host server. Even if there is no display device at the host server, there is an assumption that the image that represents the data for display, generated at the client device, is generated for a display module that is of desktop size (e.g. >12″). However, challenges arise when the remote desktop client is installed at a client device having a display module that is smaller than the assumed size. For example, mobile devices generally have very small display modules (e.g. less than 3″), and generating an image to represent data meant for display on a much larger display module is challenging.
One solution is to enable a mobile device with a small display module to generate a portion of the data for display, in essence creating a peep bole into the larger host desktop window. Moving the peep hole around can be painful since navigating a large area with a trackball or thumbwheel is awkward. For example, a user may be reading a document (or contents of a window). The user starts at the top left corner and moves the peep hole from left to right for example by moving a cursor. At the end of the row/window the user must scroll across to the left margin and down one row/line. Getting to the new location is hence awkward.
One approach to this is provided in “Advancing interaction: ZoneZoom: Map navigation for smartphones with recursive view segmentation” by Robbins, D. C., Cutrell, E., Sarin, R., & Horvitz, E. (2004), and published in the proceedings of the working conference on advanced visual interfaces (AVI '04), (Gallipoli, May 2004), ACM press, 231-234. In this approach an information space is segmented into nine sub-segments, each of which is mapped to a key on the number keypad of a smartphone having a display module. The sub-segments can be chosen by the author of the information space or dynamically generated at run-time. To view a sub-segment, a user presses the appropriate button on the keypad to take advantage of “spring-loaded” view shifting, which allows users to jump between views of defined sub-segments. However, this approach is awkward if the user is unclear about what he/she wishes to view and may have to hunt between sub-segments to find the appropriate view.