The present invention is related generally to computing devices and, more particularly, to visually displaying information on a computing device.
Once personal computing devices became multi-tasking, a problem arose as to how a device's user could keep track of everything that the device was doing. The user may, for example, have opened a spreadsheet program and a word processor, while the device is simultaneously receiving and displaying information from multiple feeds and presenting its own status.
Various operating systems attempt to address this problem by providing multiple windows on the device's display screen, where each window displays information from only one application. (Here, “applications” include just about anything that can provide information on the device's display screen including utility programs provided by the operating system.) Some applications, especially Internet browsers, can open their own sub-windows (often called “tabs”) within the window provided for the application by the operating system. For the user, managing multiple windows is usually much easier than managing multiple streams of information not divvied up into separate windows. The user can select one window (or one sub-window) and focus on the information within that window. The operating system and applications provide mechanisms when the user wishes to change his focus from one window or sub-window to another.
However, there are inconsistencies in this architecture than can confuse and slow down the user. In particular, the “higher-level” windows are provided by the operating system which also provides mechanisms for navigating among these windows. Each sub-window (or “lower-level” window) is provided by its host application which, of course, also provides mechanisms for navigating among the sub-windows within one higher-level window. When a user invokes a number of applications simultaneously, there is no reason to expect that the navigational mechanisms provided by those applications will be consistent with each other or with the operating system.
The above considerations, and others, are addressed by the present invention, which can be understood by referring to the specification, drawings, and claims. According to aspects of the present invention, a method provides consistent navigation among higher-level and lower-level windows on a device's display screen. A user can consistently navigate from one higher-level window to another and use the same navigation tools to navigate among the lower-level windows (if any) within a higher-level window.
To help the user keep track of all open windows, some embodiments present a set of small “overviews” to the user. Each overview corresponds to one of the higher-level windows, and the overview of the window with focus is highlighted in some manner. In addition to the set of overviews, a larger “preview” can be shown of the window with focus. If the window with focus contains lower-level windows, then the preview can include “snapshots” of those lower-level windows.
In some embodiments, a “title bar” provides more information about the window with focus, such as the title of that window. When a lower-level window is currently active within the higher-level window with focus, the title bar can show information about that active lower-level window.
While the appended claims set forth the features of the present invention with particularity, the invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
a, 2b, and 2c together form a flowchart of a method for consistent navigation among higher-level and lower-level windows; and
a and 3b are exemplary screen shots illustrating the output of an embodiment of the present invention.
Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable environment. The following description is based on embodiments of the invention and should not be taken as limiting the invention with regard to alternative embodiments that are not explicitly described herein.
The typical user interface of the computing device 100 includes, in addition to the main display 102, a keypad and other user-input devices. The keypad may be physical or virtual, involving virtual keys displayed on a touch screen 102.
The method of
Each displayed window could be presented by the operating system of the computing device 100, by a utility program, or by an application program (such as a browser). The methods of the present invention may be particularly useful when windows of different origins are displayed simultaneously. The set of windows displayed could include both higher-level and lower-level windows.
Note that the presenter (e.g., operating system, utility, application, browser) of a set of windows defines a particular order for the windows it is presenting. Thus, it makes sense to describe the “next” window or the “previous” window with respect to the window that currently has focus or the window that is currently active. The ordering is generally temporal, that is, each new window is assigned a location in the order “after” all of the windows that are already being presented by this particular presenter. However, the methods of the present invention are applicable regardless of how the presenters define the order of their windows.
Generally, at a given time only one window will have the focus. When a higher-level window includes a number of lower-level windows, generally only one of those lower-level windows will be active at one time.
a presents an example of windows open on the main display 102 of the computing device 100. The details of
In step 202 of
In any case, the computing device 100 responds to the navigational command (forward or back) received in step 202 by moving the focus from the current window to another window (step 204). Because the specifics of moving the window focus vary with the starting situation, step 204 is divided into five substeps (206 through 214). Each substep of step 204 defines the method of moving the window focus for a specific starting situation.
Substep 206 is a simple situation where a higher-level window has the focus, where this higher-level window has no lower-level windows, and where the “next” higher-level window also has no lower-level windows. (Note that which window is “next” depends upon both the window order as assigned by the window presenter and by which command, forward or back, is received in step 202.) In this simple situation, the focus is moved from the current higher-level window to the next higher-level window (forward or back as appropriate).
The situation of substep 208 is only slightly more complicated. Here, the “from” window (the window that currently has the focus) is again a higher-level window that has no lower-level windows, but the “to” higher-level window has at least two lower-level windows. According to substep 208, the focus is moved to the lower-level window (within the “to” higher-level window) that is currently active. This is the particular situation illustrated by
The situation of substep 210 of
In substep 212, the “from” higher-level window contains a number of lower-level windows, the last lower-level window has the focus (for a back command, the first lower-level window has the focus), and the next higher-level window does not contain lower-level windows. Then the focus moves to the next higher-level window.
In the final situation, covered by substep 214, each of the “from” and “to” higher-level windows contains a number of lower-level windows. The focus is on the last lower-level window of the higher-level window (first for a back command). Then the focus moves, as in substep 208, to the currently active lower-level window in the “to” higher-level window.
The method presented above in substeps 206 through 214 of step 204 is a unified procedure for moving the focus among higher-level and lower-level windows, regardless of which presenter hosts each window. As such, it is easier to use than current methods where each window presenter can implement its own scheme for navigation among its own windows.
Steps 216 through 222 of
In step 218, small overviews are provided for the currently open higher-level windows. These are illustrated in
In addition to the overview windows of step 218, step 220 displays a preview window. The preview is a larger version of the overview window, but in most embodiments only one preview is shown: This is a preview of the window that currently has focus.
Step 222 adds an optional title bar 310 to the preview window 308. The title bar can include the name of the presenting application, an icon, and a textual description of the window as provided by the presenter of the window. For example, if the preview window 308 is showing a web page, then the title bar may include a title given to that page by the web host. Different presenters can present different textual information for the title bars of their windows
In view of the many possible embodiments to which the principles of the present invention may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the invention. For example, the invention may be used with any type of window presenter and may be incorporated into any type of display interface. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.