Specification
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
1. Title of the invention:
CHILD WINDOW SURFACING AND MANAGEMENT
2. Applicants)
NAME I NATIONALITY I ADDRESS
One Microsoft Way, Redmond, WA 98052-
MICROSOFT CORPORATION United States
6399, United States of America
3.Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
BACKGROUND
The most popular user-interface paradigm in modern personal computing devices is the "desktop" paradigm, where information associated with work the user is performing on the computing device is centrally displayed, such as within one or more windows, and additional information relevant either to that work, or to the overall status of the computing device and the computer-executable instructions executing on the computing device is peripherally displayed. Such a "desktop" paradigm is meant to mirror a typical physical work desk, where documents associated with the work currently being performed arc typically placed within the center of the desk, and the periphery of the desk comprises other tools or documents that may be referenced, though less frequently. Information typically presented to a.user within the periphery of a computing device's display can include notifications, such as the current time, the status of various aspects of the computing device, such as whether it is connected to a network or the current charge capacity of the computing device's battery, and notifications relevant to processes executing on the computing device, such as a notification that new hardware was detected, a malware scan is being performed, or other like notifications. Information typically presented to a user within the periphery of a computing device's display can also include indications of tasks, either that the user has already initiated, or that the user often uses. For example, such tasks can include visual representations of one or more processes or application programs that the user has already executed, or visual representations of one or more processes or application programs that the user often executes. Many users of modern computing devices have multiple application programs and other processes executing simultaneously. Within each of these application programs or processes, furthermore, users may have caused the presentation of multiple individual
windows or similar visual information containers, thereby potentially overcrowding the user interface being presented by the computing device. One mechanism that is utilized to address such overcrowding, especially by multiple windows that are all associated with a single process, such as an application program, is a tab-based user interface whereby, rather than presenting information to a user through multiple windows, a single window is utilized and the information within the window is controlled through the selection of "tabs". More specifically, much like tabs in a notebook provide for easy access to tabbed information, the tabs in a tab-based interface enable a user to efficiently access content. Such content, which may have traditionally been displayed in a separate window, can now be hidden "behind" active content within one window, and can be efficiently accessed via a presented tab-based interface. However, because such a tab-based interface is presented within a single window, window-based organizational mechanisms do not apply to individual tabs, and instead apply to the overall window that contains all of the tabs. As a result, if a user wishes to interact with tabs or tabbed content, they must bring the process or application program providing such tabs and tabbed content to the forefront of the user interface being presented by the computing device.
SUMMARY
Representations of tasks, such as icons of application programs that are already executing, can comprise one or more smaller visual presentations of each window or other display sub-element currently maintained by the application program or other task. Such smaller visual presentations, or "thumbnails" can be displayed when a user indicates a desire to interact with the application program, such as by moving the cursor over the icon or other representation of the application program. To maintain an uncluttered "desktop" motif, however, such thumbnails can remain hidden while the user is performing other
tasks, or is otherwise not indicating a desire to interact with the associated application program.
Tn one embodiment, to present, to a user, information contained in individual tabs of an application program or other process, and to enable the user to interact with those individual tabs, thumbnails of the individual tabs being presented by the application program or other process can be provided to the user when the user acts upon the icon or other task reference of the application program or other process. Consequently, a user interface that can provide thumbnails of windows, such as, for example, to enable a user to easily evaluate hidden content, can likewise provide thumbnails of tabs of hidden windows as if each tab were an individual window.
In another embodiment displayed thumbnails of tabs can provide for user interactivity analogous to that provided by displayed thumbnails of windows. For example, displayed thumbnails of tabs can provide for an interface by which individual tabs can be closed without bringing the window comprising such tabs to the forefront. Alternatively, the selection of a particular thumbnail of a tab can result in the bringing, to the forefront, the window comprising such a tab, with the selected tab displayed, irrespective of which tab may have been displayed when the window was hidden. In a further embodiment, user action towards a displayed thumbnail of a tab can result in a temporary display of the thumbnail in a manner analogous to a temporary display of a window in response to user action towards a displayed thumbnail of the window. Mechanisms providing for the display of thumbnails of a tab can interpret appropriate user action and can request the application program, or other process, controlling a selected tab to provide access to a bitmap of the tab's display. Such a bitmap can then be presented to the user in an appropriate manner, such as by displaying other
content in a transparent manner. Such a display can be temporary, and can be terminated when the user ceases an appropriate action directed towards the thumbnail of the tab. In a still further embodiment, application programs or other processes can provide, such as to an operating system or other utility providing the above-indicated functionality, a specification of the tabs or other interface elements that such application programs or other processes wish to have individually represented. The information provided can comprise the registering and deregistering of tabs, or other interface elements, as well as indications of which of them is currently active and what their order is, as maintained by the application program or other process. The application program or other process can likewise respond to requests from the operating system or other utility providing the above-indicated functionality, such as requests for a current bitmap of the content of a tab, or a request to close a tab or move a tab into a foremost, displayed position.
This Summary is provided to introduce a selection of 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. Additional features and advantages will be made apparent from the following detailed description that proceeds with reference to the accompanying drawings.
DESCRIPTION OF THE DRAWINGS
The following detailed description may be best understood when taken in conjunction with the accompanying drawings, of which:
Figure 1 is a diagram of an exemplary desktop-paradigm display interface that provides context for the described functionality;
Figure 2 is a block diagram of an exemplary computing device;
Figure 3 is a diagram of an exemplary display showing thumbnails of tabs with
tab-specific controls;
Figure 4 is a diagram of an exemplary display showing a temporary display of
a tab due to action on a thumbnail of a tab;
Figure 5 is a diagram of an exemplary display showing multiple tab-based
windows and an associated presentation of thumbnails of those tabs;
Figure 6 is an initial portion of a flow diagram of an exemplary process for
displaying and utilizing thumbnails of tabs;
Figure 7 is a latter portion of the flow diagram of the exemplary process for
displaying and utilizing thumbnails of tabs; and
Figure 8 is a state diagram of an exemplary series of displays.
DETAILED DESCRIPTION
The following description relates to the presentation, to a user of a computing device, of thumbnails of tabs or other user interface elements that do not qualify as standard, "top-level" windows, thereby enabling the user to perform functions directed to those tabs or other user interface elements in a manner equivalent to that with which the user performed such functions with standard, "top-level" windows. Application programs, or other processes, can register tabs, or any other user interface elements that they wish to be individually addressable by the user through mechanisms, including thumbnail-based mechanisms, that can be provided by an operating system or other utility. Such a registration can include appropriate registrations and deregistrations of tabs or other user interface elements as they are created and removed by the application program or other
process, as well as an indication of which tabs, or other user interface elements are displayed, and the order of the tabs or other user interface elements. The techniques described herein focus on the presentation of thumbnails of tabs, and associated tab-specific controls, within the context of a window-based computing device interface, such as an interface conforming to the "desktop" paradigm. However, while, for ease of reference, the below descriptions will be made with reference to tabs within a window, the techniques described herein are not so limited. For example, the techniques described can be equally applied to any type of interface, and do not require any inherent aspect of the "desktop" paradigm. Similarly, the techniques described can be equally applied to any user interface element, such as a toolbar, palette, control pod and the like, and do not require any feature or functionality inherent only in tabs. In addition, while the descriptions below make reference to the operating system, the techniques described can be implemented by any computer-executable instructions capable of performing the mechanisms described, and do not rely upon any functionality offered only by operating systems. Consequently, the following descriptions are meant to be illustrative of any mechanisms by which the below-described techniques can be implemented.
Although not required, the description below will be in the general context of instructions being executed by a device having computational abilities. Such "computing devices" include both traditional computers and consumer-electronic devices having computational abilities, such as those provided by a central processing unit. Thus, the description below will be in the general context of "computer-executable instructions," such as program modules, that are capable of being executed by such a "computing device." More specifically, the description will reference acts and symbolic representations of operations that are performed by one or more computing devices or
peripherals, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by a processing unit of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in memory, which reconfigures or otherwise alters the operation of the computing device or peripherals in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations that have particular properties defined by the format of the data.
Generally, program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that tho computing devices need not be limited to conventional personal computers and conventional personal electronics devices, and can include other devices capable of computation, including handheld devices, multi-processor systems, other microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Similarly, the computing devices need not be limited to a stand-alone device, as the mechanisms may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. Tn a distributed computing environment, program modules may be located in both local and remote memory storage devices.
With reference to Figure 1, an exemplary display 99 is illustrated, providing context for the descriptions below. The exemplary display 99 illustrates a typical "desktop" computing device interface paradigm, with a central work area 10 that can comprise display sub-elements, such as windows 50, 55 and 60, icons, such as icons 51, 52, 53 and 54 and other representations that can be directed to the one or more activities
that a user may currently be performing on the computing device. As will be known by those skilled in the art, and as utilized herein, the term "window" is meant to refer to a display sub-element that can be independently controlled, that can provide a bounded region within which information can be displayed to the user, and that conforms to, and complies with, the requirements of a "window" as expressed by a relevant window-based operating system or other utility.
In addition to the work area 10 and elements contained within it, the exemplary display 99 can further comprise a menu bar area 20 at the top of the display for providing access to menus or similar user interface elements. Often, as shown in Figure 1, the menu bar area 20 can further include a notification area 31 for providing notifications or status indicators, such as a current time, a network connectivity indicator, a battery indicator and the like. The exemplary display 99 can also comprise one or more areas around the periphery of the display that can be utilized to provide the user with simplified access to computer-executable instructions, such as application programs, that can be already executing, or which are commonly used by the user, with additional indications for those that arc already executing. The exemplary display 99 illustrates three such areas, namely the active tasks areas 41,42 and 43. Traditionally, only one active task area is utilized, and, in some instances, the user is allowed to select which of the active tasks areas 41,42 and 43 will be utilized. However, the descriptions below are equally applicable if more than one active tasks area is simultaneously utilized.
Traditionally, an active tasks area, such as active tasks areas 41, 42 and 43 can comprise icons or other indicators of the application programs that are currently executing or are otherwise often utilized by the user. The exemplary display 99 comprises two such task indicators, namely icons 70 and 80. Such task indicators can vary in size, but are often fairly small to enable multiple such indicators to exist within the active tasks area
without impinging on the work area 10. In addition, the active tasks areas, such as active task area 42, can also comprise notification areas, such as notification area 32, that can comprise alerts or notifications similar to those described above with reference to the notification area 31.
For illustrative purposes, the work area 10 of the exemplary display 99 is illustrated as comprising three visible windows, namely windows 50, 55 and 60. With some operating systems or other utilities, windows 50, 55 and 60 can be individually hidden, such that the application program or other process with which such windows are associated can remain executing, but the visual presentation of such an application program or other process, such as through windows 50, 55, or 60, can be temporarily suspended, thereby providing more room within the work area 10 for other windows or visual displays that the user wishes to focus on at that time. One mechanism by which a user can recall windows 50, 55, or 60, such that they are no longer hidden, but are instead displayed within the work area 10, is via a task reference, such as icons 70 and 80. In the illustrated exemplary display 99, windows 50 and 55 can be associated with an application program associated with the icon 80, while window 60 can be associated with an application program associated with the icon 70. In such a case, if a user hid windows 50 and 55, the user could re-display those windows via the icon 80. Similarly, if the user had hidden window 60, the user could re-display that window via the icon 70. Some operating systems, or other utilities, provide for the presentation of thumbnails to enable a user to more accurately gauge the content of a window before re-displaying that window, or before switching the focus of the work area 10 such that the selected window is foremost. For example, in the illustrated exemplary display 99, an appropriate user action on the icons 70 and 80 can initiate the display of floating display elements 71 and 81, comprising thumbnails 72 and 82 and 83, respectively. The
thumbnail 72 can comprise a miniaturized version of the window 60, while the thumbnail 82 can comprise a miniaturized version of the window 50 and the thumbnail 83 can comprise a miniaturized version of the window 55. Traditionally, the floating display elements 71 and 8J would not be presented simultaneously, as they are shown in display 99, but, for ease of reference and description, they are shown as such. An application program or other process can utilize a tab-based structure to display additional information within its window. Thus, for example, while the application program or other process associated with the windows 50 and 55 is utilizing two windows in the exemplary display 99, the application program or other process associated with the window 60 is utilizing only a single window, but has provided for the user multiple tabs,, namely tabs 61,. 62 and 63,. with which the use/ can switch among displayed content, much as the user could by switching between windows 50 and 55. However, as can be seen, the thumbnail 72 corresponding to window 60 can display the window 60 itself, and not any of the individual tabs 61, 62, or 63. Consequently, if the window 60 were hidden or obscured within the work area 10, a user could not see what content was being presented in each of the tabs 62, or 63 via the thumbnail 72 presented within the floating display element 71, which can be shown when the user acts upon icon 70, since such tabs are "hidden behind" the displayed tab 6l5 both in the window 60 and in the thumbnail 72. By contrast, a user could see the content being presented in each of the windows 50 and 55 via the thumbnails 82 and 83 presented within the floating display element 81, which can be shown when the user acts upon icon 80. An additional drawback is that the user cannot direct actions to any of the: individual tabs 61, 62, or 63 via the thumbnail 72 in the same manner that the user coul
Documents
Application Documents
| # |
Name |
Date |
| 1 |
712-mumnp-2011-abstract(12-4-2011).pdf |
2018-08-11 |
| 1 |
712-MUMNP-2011-FORM 3(12-10-2011).pdf |
2011-10-12 |
| 2 |
712-MUMNP-2011-CORRESPONDENCE(12-10-2011).pdf |
2011-10-12 |
| 2 |
712-mumnp-2011-claims(12-4-2011).pdf |
2018-08-11 |
| 3 |
712-mumnp-2011-correspondence(12-4-2011).pdf |
2018-08-11 |
| 4 |
712-mumnp-2011-wo international publication report(12-4-2011).pdf |
2018-08-11 |
| 4 |
712-mumnp-2011-description(complete)-(12-4-2011).pdf |
2018-08-11 |
| 5 |
712-mumnp-2011-general power of attorney(12-4-2011).pdf |
2018-08-11 |
| 5 |
712-mumnp-2011-drawing(12-4-2011).pdf |
2018-08-11 |
| 6 |
712-mumnp-2011-form 5(12-4-2011).pdf |
2018-08-11 |
| 6 |
712-mumnp-2011-form 1(12-4-2011).pdf |
2018-08-11 |
| 7 |
712-mumnp-2011-form 3(12-4-2011).pdf |
2018-08-11 |
| 7 |
712-mumnp-2011-form 2(12-4-2011).pdf |
2018-08-11 |
| 8 |
712-mumnp-2011-form 2(title page)-(12-4-2011).pdf |
2018-08-11 |
| 9 |
712-mumnp-2011-form 3(12-4-2011).pdf |
2018-08-11 |
| 9 |
712-mumnp-2011-form 2(12-4-2011).pdf |
2018-08-11 |
| 10 |
712-mumnp-2011-form 1(12-4-2011).pdf |
2018-08-11 |
| 10 |
712-mumnp-2011-form 5(12-4-2011).pdf |
2018-08-11 |
| 11 |
712-mumnp-2011-general power of attorney(12-4-2011).pdf |
2018-08-11 |
| 11 |
712-mumnp-2011-drawing(12-4-2011).pdf |
2018-08-11 |
| 12 |
712-mumnp-2011-wo international publication report(12-4-2011).pdf |
2018-08-11 |
| 12 |
712-mumnp-2011-description(complete)-(12-4-2011).pdf |
2018-08-11 |
| 13 |
712-mumnp-2011-correspondence(12-4-2011).pdf |
2018-08-11 |
| 14 |
712-MUMNP-2011-CORRESPONDENCE(12-10-2011).pdf |
2011-10-12 |
| 14 |
712-mumnp-2011-claims(12-4-2011).pdf |
2018-08-11 |
| 15 |
712-MUMNP-2011-FORM 3(12-10-2011).pdf |
2011-10-12 |
| 15 |
712-mumnp-2011-abstract(12-4-2011).pdf |
2018-08-11 |