# Patent

## Title
Mobile virtual desktop

## Abstract

A device includes a display screen and a processor to render a display of a portion of a logical image on the screen. The logical image is larger than that which can be displayed on the display screen of the device. As the device is maneuvered through space, different portions of the logical image are displayed, and the user may interact with these portions as desired.

## Background
BACKGROUND
1. Field
This disclosure relates to mobile devices, more particularly to managing information on mobile devices.
2. Background
Mobile devices include such things as personal digital assistants (PDAs) like the Palm® devices, cell phones, and palmtop PCs. However, several of these devices have very small screens and cannot render representations of all of the information or applications available on the device. The user interfaces with the information or the applications via a series of inputs, such as mouse scrolls, push buttons, menu selections or a combination of these. This can be repetitious and time consuming.
In some instances, the graphical user interface (GUI) on most mobile devices has inherited design rules and approaches from conventional desktop personal computers. On most desktop PCs, however, there is enough room to see the entire desktop on the screen. Mobile devices do not have that luxury.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention may be best understood by reading the disclosure with reference to the drawings, wherein:
FIG. 1 shows an embodiment of a mobile virtual desktop system.
FIG. 2 shows an embodiment of a mobile device.
FIG. 3 shows an embodiment of a mobile virtual desktop.
FIG. 4 shows an alternative view of a mobile virtual desktop.
FIG. 5 shows an embodiment of a control gesture.
FIG. 6 shows an embodiment of an object on a mobile virtual desktop displayed upon a mobile device.
FIG. 7 shows an embodiment of a room with active zones for a mobile virtual desktop.
FIG. 8 shows an embodiment of a mobile virtual desktop software stack.
FIG. 9 shows an alternative embodiment of a mobile device.
FIG. 10 shows an embodiment of a game space created by two mobile devices.



DETAILED DESCRIPTION OF THE EMBODIMENTS
FIG. 1 shows an embodiment of a mobile virtual desktop system. The mobile virtual desktop (MVD) represents information upon a graphical ‘desktop’ just as a conventional personal computer graphical user interface (GUI) does. The MVD extends this model to bring a richer operating environment to mobile, or handheld, devices. In a conventional PC system, the logical desktop is synonymous with the physical two-dimensional display screen. Desktop objects, such as application icons, images and text are accessed and manipulated by a physical input device such as a keyboard, a mouse or a stylus pad or touch screen. Generally, in this type of environment all of the desired information objects in the logical desktop are rendered in the physical display. An information object is an object that is selectable from the desktop, where the desktop is the interface provided to the user for display of these objects. Navigation occurs via a discrete input device such as those mentioned above.
GUIs on conventional handheld devices, such as “pocket” PCs, personal digital assistants (PDAs) such as the Palm® series of devices, and cell phones, have inherited design restrictions from the conventional desktop PC. Typically, every logical page of data fits into the physical display and a cursor icon glides over the desktop to select information objects. The whole user desktop is seen on the screen, by changing the screen shots like a deck of cards. Text is typically formatted to fit the physical dimensions of the display screen.
It is possible to view the handheld, or mobile, device as a new device rather than a reduced-size PC. Mobile devices are light and easy to grasp and move in space. Secondly, the typically small size of mobile devices do not allow more conventional input devices to scale to human size, such as keyboards or numerical keypads as in cell phones. This makes them far less useful than on a PC. Finally, many of the devices overcome this lack of keyboards by using a stylus and touch pad, but that requires two hands, which can be awkward.
In the mobile virtual desktop system, as shown in FIG. 1, the handheld device becomes a ‘lens’ into a virtual desktop that is larger than that displayed on the device. The user 12 holds the mobile device 10, which has a display screen 16. The logical image 14a is much larger than the physical display screen 16. There may be several ‘planes’ of the logical image, such as 14b, 14c through 14d, as will be discussed in more detail later. The MVD renders the entire logical image to a virtual viewing plane, but actually only physically renders a small portion of that plane to display 16. As the user moves the device in the logical information plane, information objects pass into and out of view, with the device 10 acting like a lens into the larger logical image.
As the user moves the device around the virtual desktop, or logical image, motion sensors support navigation and software tracks the device's location in physical space. Control semantics are associated with a variety of arm and hand motions that allow the user to execute commands and act upon information with the handheld device acting as a mouse cursor and buttons, keyboard or other user input devices.
An example of a mobile device is shown in FIG. 2. The device 10 includes the display screen 16. The user input devices may include control buttons 26, or a keypad 22. The keypad 22 may further comprise a numerical keypad having keys similar to the exploded view 24, such as a cell phone, or a full styled keyboard. In addition, or in lieu of these input devices, the device may include a stylus 20 and the display screen 16 may be a touch-sensitive screen. Again, alternatively or lieu of these user input devices, the device may include a microphone 28, which may also serve as the mouthpiece of a cellular phone. These devices may not be necessary, as will be discussed in more detail later, the user may actually use the device itself as an input device. But MVD does not preclude their use in conjunction with MVD control mechanisms.
An internal view of the device 10 shows that it has a position determining circuit 32, such as an accelerometer or other motion sensor array. The position determining mechanism is self-contained within the device and does not rely upon any external mechanisms. It allows the system to compute its position relative to a dynamically set home coordinate. The position determining system also determines the direction and nature of the movement. The device 10 also includes a processor 34 and a memory 36. There is nothing in the position determining system that precludes it from working with, in a complementary manner, an external position determination system, such as GPS or other radio tagging systems to gain additional functionality.
The processor may be operable to render a portion of the logical image on the screen. The portion of the logical image being rendered will depend on the device's position relative to the logical image. The device's position may also determine the ‘active’ application or object. The motion sensor array will also serve to notify the processor when the user performs a control gesture. The user may ‘zero’ or define a home coordinate for the device to allow the processor to translate the motions into a current device position.
The memory 36 may store a ‘dictionary’ or other list of control gestures and their meanings. This allows the user to move the device in a predetermined pattern or motion and have that motion translate into an executable command for the device, such as a mouse click or a button press in a conventional PC would. The processor would access the dictionary to determine what the actions are relative to a particular gesture. However, the processor may just compute distance and direction to determine what portion of the logical image is to be displayed.
The interaction between the mobile device and the logical device can be seen more clearly in the examples of FIG. 3. When the user ‘turns on’ the desktop, the user may need to ‘zero’ the device. This may be done spatially, where the device defaults to a display of the lower left corner of the logical image. The user then moves the device to a position that locates that corner of the image in a comfortable position and then presses a button to set that position as the home coordinates. Alternately, the user could pan around the logical image until a homing object is located and the selected by a command gesture or button press or other user input.
Once the device is homed or zeroed, the user then moves it around the logical image. One example of this is shown in FIG. 3. The device 10 is positioned in the logical image 14a such that object 42 are in view. The user cannot see the other objects in the plane. The objects 40 and 44 represent information objects, such as icons for applications, documents or other objects in the logical image, but not seen by the user.
In FIG. 4, the user has moved the device relative to the object displayed in FIG. 3, up and to the right. The logical image may be horizontal or vertical to the plane of the Earth. If the logical image were horizontal, the move would be out and to the right, rather than up and to the right. For purposes of the example, assume that the user wishes to select the object 44 shown in the display 16 of device 10 in FIG. 4.
For ease of discussion, all of the objects in the image plane not selected are eliminated from the illustration of FIG. 5. Those objects are still in the logical image, but the user cannot see them. In order to select the object represented by object 44, the user may center crosshairs 46 over the object and then perform a command gesture. One example of a command gesture may be for the user to move the device sharply in the clockwise direction and then back to ‘neutral’ in the counter clockwise direction. This gesture would have been predefined to cause the device to open or execute the object in view, referred to here as the selected object. Alternatively, the user may perform a more conventional user input such as a button press or provide a speech input.
The gesture dictionary may be a configurable database of unique motion signatures associated with standard navigational operations, such as selecting an object, opening an object, scrolling, increasing or decreasing a slider, closing an application, saving a document, etc. A user could customize the MVD operating environment by creating or modifying a motion signature for a set of predetermined commands, or may be able to develop the user's own commands and motions, similar to defining macros in a word processing application.
Generally, gestures may have two components, spatial direction and timing. As the device moves in space, it will have an instantaneous direction and speed, and possibly acceleration, value. These measurements are obtained from the motion sensor array and processed to determine location in the desktop boundaries, as well as translated into commands for the application or object in view. The device could be ‘trained’ similar to handwriting or voice recognition to recognize certain basic gestures. In the example of FIG. 5, the gesture is translated to open the document.
FIG. 6 shows the rendering of the object 44 on the display of the device. In this example, object 44 was an e-mail about a meeting. The first portion of the e-mail is displayed on the screen 16. If the user wants to view the remaining portions of the email, shown by box 48, the user moves the device down along the direction shown by the arrow. This operates the device as an input device, rather than relying upon a more conventional and possibly awkward input means such as a key or stylus input.
Up to this point, the discussion has been as if the device is operating in device relative mode. There are two modes, device relative and user relative. Within user relative mode, there are also two subcategories, user awareness mode and room awareness mode. Each of these will be addressed in turn. In device relative mode, the logical image is that as shown by logical image 14a of FIG. 1, a two-dimensional image of objects that are larger than can be displayed on the mobile device.
However, as can be seen in FIG. 1, the logical image may have several different planes, each one a predefined distance from the others. In the example of FIG. 1, the different image planes are assumed to be a different distance away from the user and the logical image is oriented vertically. If the logical image were oriented horizontally, the different image planes would be located at different distances from the Earth or a bottom plane, stacked in front of the user. The use of a three-dimensional logical image occurs in user relative mode.
With a three dimensional image, the Z-axis becomes a navigational part of the interaction, instead of just an interpretation of a control gesture. The movements along the Z-axis can be tracked in different ways, two examples are in user awareness mode and room awareness mode. In user awareness mode, the different planes of information are defined as being relative to the front of the user's body. The user will home or zero the device as the front plane of the logical image, for example. This may be 6-8 inches from the front of the user's body. As the user navigates the logical image, a movement along the Z-axis another 6-8 inches away from that plane may cause another plane to come into view. The user does not necessarily need to remember the exact depths set by the different image planes, as the user can scan around with the device until the object being displayed changes to one on the next plane of the image.
In a further adaptation of this approach, the device could operate in a ‘room awareness’ mode. Any physical room could be mapped out to contain certain task-specific zones, referred to here as hot zones or active zones. Because the MVD handheld has the capability to recognize when it is in a particular hot-zone, it can be configured to behave in a manner that is specific to the hot-zone. For example, this behavior might be pre-set into the handheld by software installed by a company's information technology administrator per the company's security or safety policy. The zones are areas of a room where work can be done with a specific number and type of applications. For example, a conference table may be defined as a ‘meeting hot zone’ where only that information on the logical image that is ‘public’ may be accessible by other users and their devices. A port 30, shown in FIG. 2, may facilitate sharing of information.
The hot zones may cause the device applications and objects to be bound, or it may activate certain applications. For example, assume a user enters the room shown in FIG. 7 with the device 10. In the room are a printer 56, a PC 58, and a conference table 52 with a teleconference phone 54 upon it. The room beacon 60 allows an MVD device to automatically home itself at the door. From then on, it would use its self-contained position determining mechanism to locate itself within the room.
The room itself has an effect upon which elements of the logical desktop get displayed in the MVD desktop such as the granted level of resource access and control. For example, consider a ‘restricted’ employee who is not granted access to company confidential information. When the restricted MVD user sits at the conference table at the center of the room, the user's MVD will have calculated within the room that the user is at the center of the room where the table is. While in this hot zone, no private company information will be accessible.
In order to facilitate this type of room awareness, the user may map different rooms and save them in several different profiles such as Conference Room 1, Auditorium 1, etc. The MVD device would be programmed with the coordinates of the room's hot zones. Whenever the user enters that room, the user would zero the MVD device's coordinates relative to the room coordinates of hot zones. This allows the device to alter the logical image presented depending upon the device location. This process may be further facilitated by the use of a beaconing device such as that shown as 60 in FIG. 7. This would allow the device to determine its position relative to the incoming signal, and thereby establish its home position.
The above discussion is intended merely as an example. The logical image could be constructed in whatever manner the system designer and the device capabilities allow. For example, the user could navigate an image similar to a representation of an actual desktop, almost as if an invisible holographic image of the user's actual desktop in the user's office were in existence.
An aspect of the MVD that allows the functionalities and features discussed is a software stack that includes ‘middleware.’ The middleware is software that translates between the physical movement and position of the device and the various graphical user interface (GUI) application programming interfaces (APIs) of the various applications and objects being operated upon. An example of such a stack is shown in FIG. 8.
The operating system 84 of the device is supported by the operating system GUI APIs 82, which perform the function calls to the operating system 84. The middleware layer 76 generates the function calls. The middleware manages the gestures dictionary 80, and provides logic to associate gestures with the computing actions. The middleware also provides support to the user interface that allows the user to configure the gestures dictionary and to interact with the behaviors of the logical image.
The middleware manages the current state of the MVD desktop logical image and the processes. These include the location determination manager 79 and the gesture control manager 79. These translate the gestures and movements into state transitions and function calls for the operating system GUI APIs that allows the device to execute operating system commands. In addition, the middleware performs the interface tasks between the motion sensor hardware and the motion sensor drivers that allow the middleware to determine the position and motions of the device.
In some embodiments, the processes of the invention may be included in an article of machine-readable code that, when executed causes the machine to execute the various processes of the invention.
The MVD applications and use is not limited to any particular configuration of the device, nor is it restricted to the personal digital assistant functionalities commonly used with mobile devices. In FIG. 9, for example, an alternative configuration is shown for the mobile device. The mobile device 10 is mounted on a watchband 80. The device may rely upon gestures only to provide user interaction with the applications and data, or may include some control buttons or other types of inputs, such as speech.
In this embodiment, the display 16 may function as a wristwatch display until the user activates the MVD, although no watch functionality is necessary. At that point, the display may optically switch to performing like a microdisplay. A microdisplay is a display that has been optically configured to project images directly to the user's eye and typically requires that the display be held very close to the eyes. While holding the watch and device up close to the eye may be uncomfortable, it would allow the user to take advantage of the functions of the mobile device and the capabilities of the MVD.
However, it is also possible that the use of gestures in such a constrained configuration makes the translation of the gestures imprecise. It is also possible that the display 16 may function just as a watch face and possibly as an initial screen. The mobile device 10 would then transmit the information to be displayed through the port 30 to a pair of wearable lenses, on a separate eyepiece such as eyeglasses, 82. The receiver 84 would then receive the display data and render it on one or both of the lenses of the eyepiece 82.
The MVD is also easily extensible beyond the PDA or cell phone applications. For example, a first user may launch a game application on a first mobile device 10, while a second user then launches a game application on a second mobile device 90. The two devices would also establish a mutual game space 92 in a peer-to-peer link. The game space may be established by zeroing and defining regions for each device and then communicated those coordinates to the other device. In this manner, the users may ‘share’ a MVD space that differs greatly from a shared desktop.
Thus, although there has been described to this point a particular embodiment for a method and apparatus for a mobile virtual desktop, it is not intended that such specific references be considered as limitations upon the scope of this invention except in-so-far as set forth in the following claims.

## Claims

1. A computing device having a graphical user interface, comprising:
a display screen operable to display a portion of an image of a first desktop in a virtual viewing plane that is substantially coplanar with the display screen;
a position sensor operable to sense the location of the device along x and y axes in the virtual viewing plane and along a z axis that is substantially perpendicular to the virtual viewing plane; and
a processor to render a display of the portion of the image of the first desktop on the screen, wherein the device is operable in a device relative mode in which the displayed portion of the first desktop image changes responsive to a signal from the position sensor generated by device movement in the virtual viewing plane and in a user awareness mode in which at least a portion of an image of a second desktop is displayed on the display screen responsive to a signal from the position sensor generated by device movement along the z axis and the displayed portion of the second desktop image changing in response to a signal from the position sensor generated by device movement in the virtual viewing plane, wherein the first and the second desktops lie in different and discrete image planes, which are at different predefined distances from a user of the computing device;
at least one object appearing on each desktop; and
a user interface including an input device operable to execute a command associated with at least one of the objects, the user interface further being operable to receive a user command that associates device position in the virtual viewing plane with a displayed image;
wherein the signal from the position sensor generated by device movement along the z axis is used to switch between different image planes while the device is operating in the user awareness mode.

2. The device of claim 1, wherein the device further comprises a memory to store a dictionary of gestures.

3. The device of claim 1, wherein the device further comprises a stylus as a user input device.

4. The device of claim 3, wherein the device further comprises a mouse as a user input device.

5. The device of claim 1, wherein the image of the first desktop is three-dimensional.

6. The device of claim 1, wherein the device is operable as a watch and is mounted on a watchband.

7. The device of claim 1, wherein the device further comprises wearable lenses as a separate eyepiece display.

8. The computing device of claim 1 wherein the user interface is further operable to receive a user command that associates a first device position along the z axis with the first desktop.

9. The computing device of claim 8 wherein the processor is further operable to display the first desktop when the device is in the first position along the z axis.