Mutatably transparent controls are disclosed. In one embodiment of the invention, a system includes an operating environment, and at least one computer program. The operating environment has a graphical user interface. Each computer program has at least one display displayable within the graphical user interface. The system is configured so that the opacity of the at least one display changes in response to a particular event. Desirably, each display comprises a control.

FIELD OF THE INVENTION

This invention relates generally to displays such as displayable controls for computer programs, and more specifically to such displays that are mutatably transparent.

BACKGROUND OF THE INVENTION

Graphical user interfaces have become increasingly standard as part of operating environments for computers such as personal computers (PC's), as well as for computers running within audio-visual equipment such as televisions (TV's) and video cassette recorders (VCR's). For example, the graphical user interface provided by versions of the Microsoft Windows operating system includes a user-controllable pointer. The user is able to control the pointer through the use of a pointing device, such as a mouse or touch pad, to, among other things, access controls displayed within the graphical user interface on a display device of the computer. These controls are associated with computer programs running on the computer (i.e., the operating system itself, application programs, etc.).

However, because of the increasing number of programs being required to run on a computer concurrently, more and more controls are required to be displayed within the graphical user interface on the display device at the same time, placing a premium on the area of the display device dedicated for this purpose. For example, whereas at one time only one or two programs may have run on a computer concurrently—such as a word processor running within an operating system—now many such computer programs are being run. This is especially true in convergence systems, where besides application programs such as word processors, spreadsheets, etc., computer programs mimicking real world devices, such as television tuner programs, telephony programs, etc., are also being run. Thus, a display device must increasingly display large amounts of information, particularly controls associated with all of these programs.

Ultimately, this has resulted in the graphical user interfaces displayed on such display devices to become cluttered with the controls of the computer programs running on the computer. Some or all of the controls of each computer program may be running on the computer at the same time, such that the user of the computer may encounter difficulty in deciphering the controls, and therefore in using the computer as well. The controls of one computer program may interfere with those of another computer program. There is a need, therefore, for better management of on-screen controls of computer programs within a graphical user interface provided by the operating environment of a computer. Better management of the on-screen controls should make it easier for the user to decipher the controls, such that using the computer becomes easier as well.

SUMMARY OF THE INVENTION

The above-identified shortcomings as well as other shortcomings and problems are addressed by the present invention, which will be understood by reading and studying the following specification. In one embodiment of the invention, a system includes an operating environment, and at least one computer program. The operating environment has a graphical user interface. Each computer program has at least one display displayable within the graphical user interface. The system is configured so that the opacity of the at least one display changes in response to a particular event. Desirably, each display comprises a control; however, the invention is not so limited, as those of ordinary skill within the art can appreciate.

Thus, for example, a plurality of controls for a computer program in accordance with the invention may include three controls, only any one of which may be accessed by the user at a given time. In a first configuration, all of these three controls are opaque, meaning that all of them are displayed within the graphical user interface on the display device. However, in a second configuration, only one of the controls is opaque, and the remainder are transparent; that is, only one is displayed. The particular event causing the controls to switch between these configurations is the movement of a user-controllable pointer within the graphical user interface from a position not over one of the controls, to a position over one of the controls. Thus, when the user moves the pointer over one of the controls, the other two controls are not displayed.

This provides for better management of on-screen controls. In the example just described, a user may desire to alter the display characteristics of a video source displayed on the display device, and upon which the graphical user interface is overlaid. Calling up all the controls for these display characteristics (brightness, color, tint, etc.) may interfere with the display of the video source itself, making it difficult for the user to see the effects of changing any one characteristic. However, as provided in the example just described, in the second configuration, only one of the controls is displayed. Thus, the user is able to first call up all the controls to determine which should be affected (in the first configuration), and then is able to render all but the desired control transparent to more easily see the immediate effects of changing the desired control (in the second configuration).

Therefore, switching a plurality of controls of a computer program between a first configuration in which at least one of the controls is opaque, and a second configuration in which at least one of the controls is at least semi-transparent, provides for better management of on-screen controls. In different embodiments of the invention, computers, computerized systems, computer programs, and computer-readable media of varying scope are described. Still other and further embodiments, aspects and advantages of the invention will become apparent by reference to the drawings and by reading the following detailed description.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. For example, the following detailed description specifically describes controls of computer programs. However, this is exemplary only; the invention itself includes any and all electronically generated displays of information (such as those generated by set-top boxes, hand-held personal digital assistants, cellular telephones, etc.), of which controls are only one example.

Referring first toFIG. 1, a diagram of a computerized system in conjunction with which embodiments of the invention may be implemented is shown. Computer110is operatively coupled to monitor112, pointing device114, and keyboard116. Computer110includes a processor (preferably, an Intel Pentium processor), random-access memory (RAM) (preferably, at least thirty-two megabytes), read-only memory (ROM), and one or more storage devices, such as a hard disk drive, a floppy disk drive (into which a floppy disk can be inserted), an optical disk drive, and a tape cartridge drive. The memory, hard drives, floppy disks, etc., are types of computer-readable media. The invention is not particularly limited to any type of computer110. Computer110preferably is a PC-compatible computer. The construction and operation of such computers are well known within the art.

Computer110desirably includes integrated therein or coupled thereto hardware to provide for what is known as the art as a “convergence environment” such that computer110provides capability beyond ordinary PC operation. Such capability preferably includes TV capability. For example, the Gateway Destination PC/TV system, available from Gateway 2000, Inc., provides a convergence environment across two primary modes of operation: TV viewing, and PC operation. Computer110desirably provides for integration with or includes audio/visual (i.e., multimedia) devices including but not limited to: a sound card, a digital video disc (DVD) player, a direct broadcast satellite (DBS) receiver, a TV tuner (for broadcast and/or cable TV), audio/visual inputs for external or auxiliary devices, a CD-ROM player, an audio/visual tuner having at least radio tuning capability, a cable decoder, a video cassette recorder, a laser disc player, a compact disc player, a set-top box, a cable box, a DBS integrated receiver-decoder (IRD), and a video camera.

Computer110also has at least one operating environment running thereon, each desirably providing a graphical user interface including a user-controllable pointer. Such operating environments include operating systems such as versions of the Microsoft Windows operating systems known in the art. The invention is not limited to any particular operating environment, however, and the construction and use of such operating environments are well known within the art. In one embodiment, the operating environment is part of or integrated with the software architecture described in the co-pending and co-filed case entitled “Architecture for Convergence Systems,” which is hereby incorporated by reference. Those of ordinary skill within the art will appreciate that the invention does not require a relatively high-performance computer for implementation; for example, a DSS set-top box having only 512 K of random-access memory (RAM) is sufficient for implementation of the invention.

Furthermore, computer10may be communicatively connected to the Internet, any particular manner by which the invention is not limited to, and which is not shown in FIG.1. Internet connectivity is well known within the art. In one embodiment, the computer includes a modem and corresponding communication drivers to connect to the Internet via what is known in the art as a “dial-up connection.” In another embodiment, the computer includes an Ethernet or similar hardware card to connect to a local-area network (LAN) that itself is connected to the Internet via what is known in the art as a “direct connection” (e.g., T1line, etc.).

Monitor112permits the display of information, including computer, video and other information, for viewing by a user of the computer. The invention is not limited to any particular monitor112, and monitor112is one type of display device that may be used by the invention. Such monitors include cathode ray tube (CRT) displays, as well as flat panel displays such as liquid crystal displays (LCD's). The monitor is, however, desirably a 31″ VGA monitor. Pointing device114permits the control of the screen pointer provided by the graphical user interface of operating systems such as versions of Microsoft Windows. The invention is not limited to any particular pointing device114. Such pointing devices include mouses, touch pads, trackballs, remote controls and point sticks. Finally, keyboard116permits entry of textual information into computer110, as known-within the art, and the-invention is not limited to any particular type of keyboard. Desirably, keyboard116is a wireless keyboard.

Referring now toFIG. 2, a block diagram illustrating the relationship between a graphical-user-interface operating environment and other computer programs having controls displayable within the graphical user interface, is shown. The block diagram is a conceptual view of one embodiment of the invention, to aid in description of the invention. Those of ordinary skill within the art will recognize that concrete embodiments of the invention are readily adapted from this conceptual view of one embodiment of the invention. Furthermore, as will be described in conjunction with FIGS.3(a)-3(d),4(a)-4(c),5(a)-5(b) and6(a)-6(b), several such exemplary embodiments are provided herein.

Display device200ofFIG. 2includes screen202upon which graphical user interface204is displayed. Graphical user interface204includes user-controllable pointer206, which is controlled by the user via a pointing device such as a mouse or touch pad of a computer such as that which has been described in conjunction with FIG.1. As shown inFIG. 2, for illustrative purposes controls208and210are displayed within graphical user interface204. Graphical user interface204is provided by operating system212having application code214and controls code216; controls208are provided by application program222having application code220and controls code218; and, controls210are provided by application program224having application code226and controls code228.

Operating system212and application programs222and224are computer programs (software) residing within or upon a computer-readable medium (such as a memory or a floppy disk) and comprising computer-executable instructions (i.e., executable by a processor of a computer) running on a computer such as that which has been described in conjunction with FIG.1. Operating system212is an operating environment, and may be any type of environment running a computer that provides a graphical user interface. Commonly available graphical-user-interface operating environments include versions of Microsoft Windows, as has been described.

Each of the computer programs, including the operating system, includes application code and controls code. The application code is the code that provides for the functionality of an associated computer program. The invention is not limited to any particular functionality. In one embodiment, at least one of the computer programs has particular functionality comprising a virtual appliance mimicking a device external to the computer on which the computer program is running (such as a telephone, or a television). The controls code is the code that provides for a plurality of controls for use with the functionality and displayable within the graphical user interface, per the embodiment of the invention as described herein.

In the case of operating system212, application code214provides for the functionality of the operating system, such as the manner by which input/output (I/O) devices (printers, monitors, etc.) are accessed within and by the computer, etc. Controls code216provides for graphical user interface204itself, including user-controllable pointer206. In case of application program222, application code220provides for a particular functionality, while controls code218provides for controls208displayable within graphical user interface204. Similarly, in the case of application program224, application code226provides for a particular functionality, while controls code226provides for controls210displayable within graphical user interface204.

In one embodiment of the invention, the plurality of controls for a given computer program (such as controls208of program222, or controls210of program224) has a first configuration in which at least one of the controls is opaque, and a second configuration in which at least one of the controls is at least semi-transparent. The occurrence of a particular event switches the plurality of controls between the first and the second configurations. Thus, for program222, in a first configuration at least one of the controls208is opaque, and in a second configuration, at least one of the controls208is at least semi-transparent.

The invention is not limited to any particular event governing the switching between the two configurations. One such particular event comprises particular positioning of the user-controllable pointer206within the graphical user interface relative to at least one of the controls. For example, in a first configuration all of controls208may be opaque, whereas in a second configuration, only one of controls208may be opaque (i.e., the remainder being at least semi-transparent). The switching between these two configurations may be governed by movement of pointer206from a position not over any of controls208(first configuration) to a position over one of the controls, such that only that control is opaque (second configuration).

Another particular event comprises selection of a particular control in conjunction with the user-controllable pointer within the graphical user interface. Thus, as applied to the example just described, rather than the second configuration being triggered by the positioning of pointer206over one of controls208, the second configuration is triggered by the occurrence of the event of selection of one of controls208. Selection of one of controls208may encompass positioning of pointer206over the controls, and then clicking on a mouse button of the pointing device of the computer.

Exemplary operation of controls of a computer program is illustrated by reference to FIGS.3(a)-3(d),4(a)-4(c),5(a)-5(b) and6(a)-6(b). FIGS.3(a)-3(d) a diagrams showing operation of controls of a computer program displayable within a graphical user interface, according to one embodiment of the invention. Referring first to FIG.3(a), within graphical user interface300, user-controllable pointer302is shown as not positioned over any of controls304,306and308. Controls304,306and308may represent a picture adjustment control overlay that has been called up by the user. Controls304,306and308are fully opaque (minimum transparency), and thus clearly visible. FIG.3(a) represents a first configuration of these controls.

Referring next to FIG.3(b), user-controllable pointer302has been positioned over control304, such that only control304remains opaque (visible); controls306and308have become completely transparent (invisible). FIG.3(b) represents a second configuration of these controls. Thus, the particular event governing switching between the first and the second configurations of controls304,306And308comprises particular positioning of the pointer within graphical user interface300relative to at least one of the controls (here, control304).

Referring next to FIG.3(c), pointer302has been re-positioned such that it is no longer over control304. Thus, controls304,306and308return to their first configuration where they all are visible (opaque). Referring finally to FIG.3(d), pointer302has now been positioned over control306, such that only control306is opaque (visible); controls304and308have become completely transparent (invisible). FIG.3(d) thus represents another second configuration of these controls. The concept of only the control over which the pointer is positioned being shown may also be referred to as “opaque-on-demand” overlays.

In FIGS.4(a)-4(c), diagrams showing operation of controls of a computer program displayable within a graphical user interface, according to another embodiment of the invention, are shown. Referring first to FIG.4(a), within graphical user interface400, user-controllable pointer302is shown as not positioned over any of the controls of control bar404. Control bar404may represent the controls of a video cassette recorder (VCR) or digital video disc (DVD) player. Control bar404is fully opaque (minimum transparency), and thus clearly visible. FIG.4(a) represents a first configuration of these controls.

Referring next to FIG.4(b), user-controllable pointer402has been positioned over the play control of control bar404. Once the user selects this control—for example, by pressing an appropriate mouse button of the pointing device used to move pointer402—control bar404proceeds to a second configuration shown in FIG.4(c). Referring to FIG.4(c), all of the controls within control bar404have become transparent, except for the two controls representing functions the user most likely needs to get to—the pause control and the stop control. These controls are shown as semi-transparent.

Semi-transparency may be accomplished in any number of ways: in one embodiment, dithering is used to accomplish semi-transparency; in another embodiment, the inside of the control are totally transparent, and only the edges thereof are visible (giving an appearance of molded glass). The invention is not so limited. Other embodiments utilize alpha-blending, whereby images from two different graphics planes are fused into a single image by averaging or another algorithm, whether accomplished by hardware or software. Still other embodiments utilize combinations of the above-mentioned techniques, for instance, where the interior is left entirely transparent, while dithering or alpha-blending is performed on the outer edge, to give the control the look of molded glass. Thus, those of ordinary skill in the art will appreciate that semi-transparency may be accomplished by any manner. The particular event governing switching between the first and second configurations of control bar404comprises selection of a particular control in conjunction with the user-controllable pointer within the graphical user interface.

In FIGS.5(a)-5(b), diagrams showing operation of controls of a computer program displayable within a graphical user interface, according to still another embodiment of the invention, are shown. Referring first to FIG.5(a), graphical user interface500, in which web browser application program504is running, is superimposed (i.e., overlaid) on top of television source502. Such web browser application programs are known within the art. User-controllable pointer506is shown as not positioned over any part of television source502(i.e., and is instead within web browser program504). Referring next to FIG.5(b), when pointer506is positioned over a lower portion of television source502, control panel508for web browser program504appears superimposed on source502.

Thus, FIG.5(b) represents a first configuration for the controls of control panel508, while FIG.5(a) represents a second configuration for the controls of control panel508. In the first configuration, pointer506is positioned over panel508, such that all of the controls within the panel are opaque (visible). Moving pointer506to a position back over web browser program504causes all the controls within the panel to become transparent (invisible). The particular event triggering switching between the first and the second configurations comprises, therefore, particular positioning of the pointer within the graphical user interface relative to the controls of the control panel.

In an alternative embodiment, not shown in FIG.5(a) or FIG.5(b), another control panel may be positioned within television source502immediately above control panel508. Such a control panel may be completely viewable (i.e., become completely opaque) only when pointer506is moved to a position above control panel508. However, such a control panel may be partially viewable (i.e., semi-transparent or semi-opaque) when pointer506is moved to a position over control panel508. In such instance, the controls of this control panel, as well as control panel508, are referred to as progressively transparent. That is, their transparency progresses as the pointer is moved towards and over them, or away from them.

In FIGS.6(a)-6(b), diagrams showing operation of controls of a computer program displayable within a graphical user interface, according to still yet another embodiment of the invention, are shown. Referring first to FIG.6(a), graphical user interface600, in which electronic program guide (EPG) application program604is running, is superimposed (i.e., overlaid) on top of television source602. Such EPG application programs are known within the art. User-controllable pointer606is shown as positioned over completely opaque EPG entries (which the definition of controls encompasses for purposes of this patent application)608. Referring next to FIG.6(b), when pointer606is positioned over television source602, more EPG entries608are displayed—in addition to the completely opaque controls of FIG.6(a), semi-transparent controls are also displayed. These controls are semi-transparent so that television source602is still visible to the user. Furthermore, as represented by element610, although the grid area that is displayed over the television source602is semi-transparent, the particular information cell in that portion of the grid over which the pointer is placed is opaque.

Thus, FIG.6(a) represents a first configuration for the control of EPG entries608, while FIG.6(b) represents a second configuration for the controls of EPG entries608. In the first configuration, pointer606is positioned over the opaque EPG entries, such that only these entries are visible. Moving pointer606to a position not over these entries, and instead over television source602, causes the remaining entries to become visible (semi-transparent). The particular event triggering switching between the first and the second configuration comprises, therefore, particular position of the pointer within the graphical user interface relative to the controls (EPG entries). The embodiment of FIG.6(a) and FIG.6(b) permits the user to view more EPG entries, while still viewing the television source.