# Patent

## Title
Tiltable user interface

## Abstract

A programmable effects system for graphical user interfaces is disclosed. One embodiment comprises adjusting a graphical user interface in response to a tilt of a device. In this way, a graphical user interface may display a parallax effect in response to the device tilt.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 12/276,153, filed on Nov. 21, 2008, and titled “TILTABLE USER INTERFACE” the entire disclosure of which is incorporated by reference.


BACKGROUND
Modern hand-held devices use an accelerometer to detect a change in orientation of the device from a landscape orientation to a portrait orientation and to adjust a graphical user interface (GUI) within a display to switch between orientations. Some hand-held devices include a tilt-scroll feature wherein the GUI will slide horizontally or vertically in the plane of the display to depict a different orthogonal view in response to a tilt of the device.
SUMMARY
Accordingly, various embodiments for a tiltable user interface are described below in the Detailed Description. For example, one embodiment comprises adjusting a graphical user interface in response to a tilt of a device. In this way, a graphical user interface may display a parallax effect in response to the device tilt.
This Summary is provided to introduce concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an example of an embodiment of a system for providing a tiltable graphical user interface.
FIG. 2 shows a display including a graphical user interface with elements at different depths.
FIG. 3 shows a display including a graphical user interface with elements at different depths in a tilted view.
FIG. 4 shows a process flow depicting an embodiment of a method for tilting a graphical user interface within a display for a device.



DETAILED DESCRIPTION
FIG. 1 shows an embodiment system 100 comprising a computing device 110 to provide a tiltable graphical user interface 185 within a display 180 in response to a detected rotation or translation of the computing device 110. Computing device 110 includes a memory 120 storing a computer program 130, and a CPU 115 in communication with the memory 120 to execute the program 130. Display 180 has a planar arrangement defined by an X-axis and a Y-axis, where a Z-axis represents a depth of the graphical user interface orthogonal to the plane of the display.
Computing device 110 includes an accelerometer 105 to detect a tilt of the display 180. For example, the accelerometer 105 may detect a rotation 106 or a translation 107 of the computing device 110 and provide an input 108 indicating a tilt of the display 180 to an orientation module 140 in the computer program 130. Other inputs may include a shake input, a roll input, or other combinations of inputs. In some embodiments, the orientation module 140 may receive an input depicting a rotation 106 or translation 107 from other position detection hardware, such as a gyroscope, a position sensing system, a global positioning system (GPS) receiver, etc. Computing device 110 also includes a user interface module 160 in communication with the display 180 and the orientation module 140 and configured to provide a tilted view 162 in response to a detected tilt.
The computing device 110 may detect a tilt having a component of rotation around at least one of the X-axis or the Y-axis. In this way, if a user intends to rotate the device around the X-axis or the Y-axis of the display but rotates the device around an axis that is not the X-axis, the Y-axis, or the Z-axis, the orientation module 140 may determine that the user intended to tilt the graphical user interface 185 according to the detected rotational component. Then, the orientation module may process the rotation 106 and determine if a user intended to tilt the graphical user interface 185.
In one example, the display 180 may show a first view in the graphical user interface 185 and the orientation module 140 may receive an input 108 from the accelerometer indicating a tilt to the computing device 110. Then, the orientation module 140 may calculate an amount of tilt 142 to be applied to the first view shown in the graphical user interface. Then, the user interface module 160 may generate a tilted view 162 including a portion of at least one graphical element that was not displayed in the first view, wherein the display 180 is configured to display the tilted view in the graphical user interface 185.
In some embodiments, a tilted view includes an icon 350 that is not displayed in the first view. For example a status icon such as a battery icon, a wireless connection icon, etc. may be viewable by tilting a device but not viewable in a first view. This allows icons that are infrequently utilized or having a changing status to be accessible yet hidden in the first view.
In some embodiments, one or more icons may move or be displayed in a different fashion from other icons or display elements. In an embodiment, status icons may move into view at a different speed than other display elements in response to a tilt or other input. As an example, a status icon may slide into view more quickly than other elements. In another example, an icon may be remain displayed on a display screen longer even when a user returns a device to a neutral state, and then may move off screen. In yet another example, an icon may optionally not be subjected to a parallax/perspective shift and may displayed with an x-axis movement, with no change in Z-depth, subject to a different set of physical rules, etc.
In some embodiments, an icon or display element may be brought into view by one motion and then adopt a different set of physical rules governing its motion. As an example, in response to a shake input, a display element may either respond to a tilt in the same fashion as the other display elements, or it may not longer respond to tilt or other inputs for a set period of time, until it is removed from the display screen, until a different input, etc.
Some embodiments may treat different layers or portions of display elements in different fashions. For example, one embodiment may include a flat foreground layer including a layer or layers designated to be excluded from a perspective shift when the device is tilted. In this example, a foreground layer may not shift while others layers below it would shift in response to a tilt or other input. In this way, a user interface may be tailored to have a natural feel, to specifically highlight certain icons, to allow programmably different effects for different icons or design elements, etc.
In some embodiments, the graphical user interface 185 depicts a 3-dimensional environment including a Z-axis orthogonal to the display 180, wherein the user interface module is configured to depict a parallax effect between a first element with a first Z component and a second element with a second Z component as the graphical user interface 185 changes between the first view and the tilted view. This also enhances the perception of depth in the graphical user interface 185. A 3-dimensional environment may include a rotation about the X-axis 144, a rotation about the Y-axis, or a rotation about the Z axis 146, or a translation 147 through any of the 3 dimensions.
In an example including a 3-dimensional environment, FIG. 2 depicts a first view of graphical user interface 185 in display 180 and includes a first element 220 in the background and a second element 230 in the foreground and having a different Z component than the first element. In FIG. 3, the graphical user interface is tilted in response to a detected tilt of the computing device 110, resulting in the first element changing position with respect to the second element and providing a parallax effect as if the user rotated their view of the graphical user interface 185. Additionally, FIG. 3 includes element 340 that is not viewable in FIG. 2 but is within the same plane as the second element 330 and in front of first element 320. FIG. 3 also depicts an icon 350 that is hidden from view in the first view but is viewable in the tilted view.
FIG. 3 depicts a rotation around the Y-axis, but other embodiments are not so limited. For example, a tilt may be detected around the X-axis, around another axis within the plane of the display, or a rotation having components on X-axis, Y-axis, and Z-axis. In some embodiments, a tilt may be combined with translation, wherein the graphical user interface may depict the tilt and a scrolling to another X or Y location in the interface.
The tiltable graphical user interface depicted in FIG. 2 and FIG. 3 allows a device to have a graphical user interface 185 that is larger than the physical display 180 it is being displayed on. Further, this approach allows an interface to provide icons that are hidden from view in a first view, such as regular usage of a computing device 110, but are viewable by tilting the computing device 110.
In some embodiments, the tilted view may have a rotation point with an adjustable Z component. For example, the tilt of the graphical user interface 185 may be about a pivot point, and the pivot point may be at the Z component of the viewer, of an element in the graphical user interface, of the display, etc. An adjustable rotation point allows the look and feel of the graphical user interface to be adjusted. For example, by providing a tilt with a rotation point with a Z component the same as the display 180, the user perspective may orbit about that rotation point. By adjusting the rotation point to have a Z component similar to the user's perspective, the graphical user interface 185 will pivot with respect to the user.
User interface module 160 may also use the effects 150 to provide a depth of field 154, such as a focus depth, wherein the user interface module may adjust the focus depth in the graphical user interface 185 in response to a tilt. For example, first element 220 may be out of focus in FIG. 2, but in response to a tilt of computing device 110, the corresponding first element 320 may be brought into focus while the second element 330 is out of focus in FIG. 3. In another example, when an element or icon that was not previously displayed is tilted in to the display the focus depth may be adjusted to that element/icon.
In some embodiments, the user interface module 160 may be further configured to adjust the focus depth in the graphical user interface 185 in response to a selection of an element in the graphical user interface 185. For example, in FIG. 2 if the first element 220 is initially out of focus, the user interface module may adjust the focus to the Z component depth of the first element upon a selection of that element, and then a rotation would adjust the focus depth based upon the first element 220 being the initial focus depth.
In some embodiments, user interface module may provide other effects 156, off-screen effects 152, etc. In one example, the first view may be displayed if the tilt is below a threshold rotation. This allows a slight rotation to not be interpreted as an input, and the device to display the first view below a threshold rotation. In another example, the graphical user interface may revert to the first view after a period with no additional tilts of the device.
Continuing with the Figures, FIG. 4 shows a flow diagram depicting an embodiment of a method 400 for tilting a graphical user interface within a display. In one example, the display may have a planar arrangement defined by an X-axis and a Y-axis. First, as indicated in block 410, method 400 comprises displaying a first view in a graphical user interface. The first view may include one or more elements within the graphical user interface and the one or more elements may have different depths with respect to a Z-axis of the display. In this example the first view is orthogonal to the plane of the display.
Method 400 then comprises receiving an input indicating a tilt of the device, the tilt including a component of rotation around at least one of the X-axis or the Y-axis of the display, as indicated in block 420. Such inputs may be, but are not limited to, rotation or translation inputs detected by accelerometer, or from other position detection hardware, such as a gyroscope, a position sensing system, a global positioning system (GPS) receiver, etc. In some embodiments, a tilt may be detected having a component of rotation around at least one of the X-axis or the Y-axis. In this way, if a user intends to rotate the device around the X-axis or the Y-axis of a display but rotates the device around an axis that is not the X-axis, the Y-axis, or the Z-axis.
Next, method 400 comprises applying the tilt to the first view to generate a tilted view in response to the input as indicated at 430.
Method 400 then comprises displaying the tilted view in the graphical user interface, the tilted view including a portion of at least one graphical element that was not displayed in the first view, as indicated in block 440.
In some embodiments, the tilted view may further comprise an icon in the tilted view that is not displayed in the first view. For example a status icon such as a battery icon, a wireless connection icon, etc. may be viewable by tilting a device but not viewable in a first view. This allows icons that are infrequently utilized or having a changing status to be accessible yet hidden in the first view.
In some embodiments, the graphical user interface may depict a 3-dimensional environment including a Z-axis orthogonal to the display, wherein the method 400 further comprises depicting parallax between a first element with a first Z component and a second element with a second Z component as the graphical user interface changes between the first view and the tilted view.
Additionally, the tilted view may have a rotation point with an adjustable Z component. For example, the tilt of the graphical user interface may be about a pivot point, and the pivot point may be at the Z component of the viewer, of an element in the graphical user interface, of a display, etc. An adjustable rotation point allows the look and feel of the graphical user interface to be adjusted. For example, by providing a tilt with a rotation point with a Z component the same as a display, a user perspective may orbit about that rotation point. By adjusting the rotation point to have a Z component similar to the user's perspective, a graphical user interface will pivot with respect to a user's perspective.
In some embodiments, the 3-dimensional environment may include a focus depth, wherein the method 400 further comprises adjusting the focus depth in the graphical user interface in response to the tilt. For example, method 400 may adjust a focus depth in the graphical user interface in response to a selection of an element in the graphical user interface, in response to a tilt of the device, etc.
Some embodiments may provide other effects. For example, method 400 may display the first view if a tilt is below a threshold rotation. This allows a slight rotation to not be interpreted as an input, and the device to display the first view below a threshold rotation. In another example, method 400 may further comprise displaying the first view after a period with no additional tilts of the device. In another example, a first tilt may be applied to the first view if the display is in a portrait orientation and a second tilt is applied to the first view if the display is in a landscape orientation.
It will be appreciated that the embodiments described herein may be implemented, for example, via computer-executable instructions or code, such as programs, stored on a computer-readable medium and executed by a computing device. Generally, programs include routines, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. As used herein, the term “program” may connote a single program or multiple programs acting in concert, and may be used to denote applications, services, or any other type or class of program. Likewise, the terms “computer” and “computing device” as used herein include any device that electronically executes one or more programs, including, but not limited to, media players and any other suitable devices such as personal computers, laptop computers, hand-held devices, cellular phones, microprocessor-based programmable consumer electronics and/or other suitable computing devices that may utilize a tiltable graphical user interface.
It will further be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of any of the above-described processes is not necessarily required to achieve the features and/or results of the embodiments described herein, but is provided for ease of illustration and description.
The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.

## Claims

1. A method for tilting a graphical user interface within a display for a device, the display in a planar arrangement defined by an X-axis and a Y-axis, a Z-axis being orthogonal to the X-axis and Y-axis, the method comprising:
displaying a first view of a flat layer in the graphical user interface;
receiving an input indicating a tilt of the display, the tilt including a component of rotation around at least one of the X-axis or the Y-axis of the display;
applying the tilt to the first view to generate a tilted view of the flat layer in response to the input; and
displaying the tilted view in the graphical user interface, wherein:
a parallax effect is depicted between a first element with a first Z component on the Z-axis and a second element with a second Z component on the Z-axis as the graphical user interface changes between the first view and the tilted view;
the first element exists in a background layer;
the second element exists in a foreground layer; and
the parallax effect is depicted between the background layer and foreground layer.

2. The method of claim 1, wherein one of the foreground layer and background layer in the graphical user interface remains statically displayed in response to the tilt.

3. The method of claim 1, wherein the tilted view has a rotation point with an adjustable Z component on the Z-axis.

4. The method of claim 1, wherein the X-axis, Y-axis, and Z-axis comprise a 3-dimensional environment which includes a focus depth, the method further comprising adjusting the focus depth in the graphical user interface in response to the tilt.

5. The method of claim 4, further comprising adjusting the focus depth in the graphical user interface in response to a selection of either the first or second element in the graphical user interface.

6. The method of claim 1, wherein the first view is displayed if the tilt is below a threshold rotation.

7. The method of claim 1, further comprising displaying the first view after a period with no additional tilts of the device.

8. The method of claim 1, wherein a first tilt is applied to the first view if the display is in a portrait orientation and a second tilt is applied to the first view if the display is in a landscape orientation.

9. A system to provide a tiltable graphical user interface, the system comprising:
a display including a graphical user interface, the display having a planar arrangement defined by an X-axis and a Y-axis, a Z-axis being orthogonal to the X-axis and Y-axis;
an accelerometer to detect a tilt of the display, the tilt including a component of rotation around at least one of the X-axis or the Y-axis;
an orientation module in communication with the accelerometer, the orientation module configured to receive an input from the accelerometer indicating the tilt and to calculate an amount of tilt to be applied to a first view in the graphical user interface; and
a user interface module in communication with the display and the orientation module, the user interface module configured to generate a tilted view based on the amount of tilt applied to the first view, wherein:
the display is configured to display the tilted view in the graphical user interface and depict a parallax effect between a first element with a first Z component on the Z-axis and a second element with a second Z component on the Z-axis as the graphical user interface changes between the first view and the tilted view;
the first element exists in a background layer;
the second element exists in a foreground layer; and
the parallax effect is depicted between the background layer and foreground layer.

10. The system of claim 9, wherein one of the foreground layer and background layer in the graphical user interface remains statically displayed in response to the tilt.

11. The system of claim 9, wherein the tilted view has a rotation point with an adjustable Z component on the Z-axis.

12. The system of claim 9, wherein the X-axis, Y-axis, and X-axis comprise a 3-dimensional environment which includes a focus depth, the user interface module further configured to adjust the focus depth in the graphical user interface in response to the tilt.

13. The system of claim 12, wherein the user interface module is further configured to adjust the focus depth in the graphical user interface in response to a selection of either the first or second element in the graphical user interface.

14. The system of claim 9, wherein the first view is displayed if the tilt is below a threshold rotation.

15. The system of claim 9, further comprising a gyroscope from which the system receives input indicating rotation of the display.

16. A computer-readable storage medium storing instructions executable by a computing device to tilt a graphical user interface within a display for a device, the display in a planar arrangement defined by an X-axis and a Y-axis, a Z-axis being orthogonal to the X-axis and Y-axis, and the instructions being executable to perform a method comprising:
displaying a first view of a flat layer in the graphical user interface;
receiving an input indicating a tilt of the display, the tilt including a component of rotation around at least one of the X-axis or the Y-axis of the display;
applying the tilt to the first view to generate a tilted view of the flat layer in response to the input; and
displaying the tilted view in the graphical user interface, wherein: a parallax effect is depicted between a first element with a first Z component on the Z-axis and a second element with a second Z component on the Z-axis as the graphical user interface changes between the first view and the tilted view;
the first element exists in a background layer;
the second element exists in a foreground layer; and
the parallax effect is depicted between the background layer and foreground layer.

17. The computer-readable medium of claim 16, wherein one of the foreground layer and the background layer in the graphical user interface remains statically displayed in response to the tilt.