1. Field of Art
The described invention generally relates to indicating the location of input focus within a computer's graphical user interface. More particularly, it relates to indicating the location of input focus within a graphical user interface by showing the transition of input focus between locations.
2. Description of the Related Art
Graphical user interfaces (GUIs) typically include selectable components (e.g., icons, pull-down menus with menu items, browsing tabs, etc.) that facilitate user interaction. In such interfaces, a component is said to have input focus if that component is currently selected to receive user input. As a user navigates between GUI components, input focus shifts from one component to the next.
Many selection methods exist by which a user may steer input focus within a GUI. These selection methods may be classified as either direct or indirect, depending on the level of control with which a user switches input focus between components. Direct selection methods are those in which a user controls the location of input focus in an absolute manner. Examples of direct selection methods include clicking a mouse with its pointer positioned over a component or physically tapping the location of a component via a touch-screen display. Indirect selection methods are those in which user input merely serves to shift input focus between components according to a pre-defined traversal sequence set by the GUI. An example of an indirect selection method includes striking tab or arrow keys on a keyboard until input focus has shifted to the desired component and subsequently executing a selective action, such as striking an enter or return key. Regardless of the exact implementation, an indirect selection method restricts a user's control over which component has input focus to shifting within some pre-defined traversal sequence.
When using an indirect method, users are heavily reliant on focus indicators to know which component currently has input focus. Hence, clearly conveying the location of input focus is critical to the user's experience. Conventional systems use a variety of focus indicators, such as displaying a ring around the component having the focus, altering the color scheme of the component, or highlighting text within the component. However, the focus indicators employed by conventional systems are static in nature, meaning they are strictly limited to modifying the component having input focus. No indication is provided to a user regarding the transition of input focus from one component to another. If a user action causes input focus to shift from a first component to a second component, the focus indicator simply disappears from the first component and appears for the second component, appearing to instantaneously “pop” between components. In many situations, such static methods make tracking the on-screen location of input focus difficult for a user. For example, a user may have difficulty identifying the component with focus when a large number of components are simultaneously displayed; when input focus shifts between distant components; when input focus shifts between components in a non-sequential or non-obvious manner; or when the GUI is physically small (such as on a handheld device).
For illustrative purposes, FIG. 1 presents a sample GUI 100 utilizing a static focus indicator 185. GUI 100 includes multiple viewing panes 105, 110, 115, numerous selectable components 120-180, and a static focus indicator 185. GUI 100 supports an indirect selection method whereby a user may change input focus from one of the components 120-180 to another according to a pre-defined focus traversal sequence by striking the tab key on a keyboard. The pre-defined focus traversal sequence is alphabetical, with focus proceeding from component A 120 to component B 125, from component B 125 to component C 130, etc., until component M 135 has input focus, from which focus next shifts to component A 120 and the sequence repeats. The pre-defined traversal sequence detailed above is merely a single illustrative example provided for the sake of this discussion. Many variations in the sequence are possible.
As shown, the static focus indicator 185 used by the GUI of FIG. 1 is located at component G 170. The static focus indicator 185 includes four crop-marks surrounding component G 170. The static focus indicator 185 may be thought of as a rectangle surrounding component G 170, wherein only the vertices of the rectangle are visible to a user so as to avoid cluttering the GUI 100 unnecessarily. In the example operational state shown by FIG. 1, if the user were to strike the tab key, input focus would shift from component G 170 to component H 160.
Due to its static nature, this shift comprises the static focus indicator 185 ceasing to surround component G 170 and immediately commencing to surround component H 160. Hence, it may appear to the user as though the focus indicator 185 has instantaneously “popped” from component G 170 to component H 160. At any given instant, the static focus indicator 185 provides information about only that component 120-180 presently having input focus.
The user may have difficulty tracking the location of the static focus indicator 185 for a number of transitions, such as between component G 170 and component H 160. These two components 170, 160 are not spatially adjacent neighbors, are on opposite sides of the GUI 100, and do not share a viewing pane 115. Hence, this transition dictated by the pre-defined focus traversal sequence may seem illogical to a user. After striking the tab key, it may take the user some amount of time to scan the GUI 100 for the new location of the static focus indicator 185. The specific requirements placed on a GUI 100 and/or insufficient planning by software developers often give rise to illogical pre-defined focus traversal sequences wherein many transitions may cause a user employing an indirect selection method to lose track of a static focus indicator 185 and waste time locating it.