IP Library Granted Patent US 10,402,034
Granted Patent B2
US 10,402,034 · App. 14/453,445 · Granted Sep 3, 2019

Adaptive user interface pane manager

Inventors: Jonathan S. Kaufthal (Seattle, WA); Travis Spomer (Redmond, WA); Ryan Sloan (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/0481G06F3/0484G06F9/451G06F2203/04803
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,402,034
App. No.
14/453,445
Granted
Sep 3, 2019
Kind
B2
Abstract

Embodiments of a system for automatically managing panes in relation to the application canvas in a user interface. The system includes a pane manager that works in conjunction with applications to provide access to panes while keeping a minimum amount of user content visible. The system allows an application to define a protected canvas size. When a pane is needed, the system determines if sufficient room for the pane exists or can be created by dismissing another pane. If so, the pane is added. If not, the pane may be displayed in a temporary manner. The system also responds to changes in the user interface size. If the user interface size decreases to a point where sufficient room for existing panes is no longer available, one or more of the existing panes are dismissed.

Claims (55)

1. A computer-implemented method of automatically managing panes in relation to an application canvas in a user interface having a width, the method comprising:

receiving an indication from an application of a minimum width for the application canvas;

receiving a request to add a selected persistent pane in the user interface of the application, wherein a persistent pane comprises a pane that is displayed along with the canvas without overlapping the canvas;

determining that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas;

based on the determination that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas, determining if any persistent panes are currently displayed in the user interface;

based on a determination that two or more persistent panes are currently displayed in the user interface:

closing a sufficient number of the two or more persistent panes, in order of least priority, that are currently displayed, so that the selected persistent pane is able to be displayed along with the canvas without overlapping the canvas while maintaining the minimum width of the canvas; and

displaying the selected persistent pane as an opened persistent pane;

based on a determination no persistent panes are currently displayed in the user interface:

opening a transient pane, wherein a transient pane comprises a pane that exists above the canvas enabling overlapping the canvas; and

displaying the selected persistent pane as the transient pane;

based on a determination that only one persistent pane is currently displayed in the user interface:

determining if the currently displayed persistent pane is a critical pane, wherein a criticality of the persistent pane is previously designated by the application;

based on the determination that the currently displayed persistent pane is a non-critical pane, closing the critical pane and determining if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas; and

based on the determination that the currently displayed persistent pane is a critical pane, temporarily closing or suspending display of the critical pane and determining if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas.

2. The method of claim 1 , wherein the priority is determined based on one or more of primacy of the persistent pane, recency of the persistent pane and criticality of the persistent pane.

3. The method of claim 1 , further comprising dismissing the transient pane when the transient pane loses focus.

4. The method of claim 1 , wherein displaying the selected persistent pane as the opened persistent pane includes reducing the width the of the canvas to its minimum width.

5. A computer-implemented system for automatically managing application panes in relation to the application canvas in a user interface, the computer-implemented system comprising:

a computing device comprising a processor, a minimum canvas size memory, and an output device for presenting a visual output to a user, the visual output comprising the user interface of an application, wherein the computing device is caused to:

receive an indication from an application of a minimum width for the application canvas;

receive a request to add a selected persistent pane in the user interface of the application, wherein a persistent pane comprises a pane that is displayed along with the canvas without overlapping the canvas;

determine that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas;

based on the determination that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas, determine if any persistent panes are currently displayed in the user interface;

based on a determination that two or more persistent panes are currently displayed in the user interface:

close a sufficient number of the two or more persistent panes, in order of least priority, that are currently displayed so that the selected persistent pane is able to be displayed along with the canvas without overlapping the canvas while maintaining the minimum width of the canvas; and

display the selected persistent pane as an opened persistent pane;

based on a determination no persistent panes are currently displayed in the user interface:

open a transient pane, wherein a transient pane comprises a pane that exists above the canvas enabling overlapping the canvas; and

display the selected persistent pane as the transient pane;

based on a determination that only one persistent pane is currently displayed in the user interface:

determine if the currently displayed persistent pane is a critical pane, wherein a criticality of the persistent pane is previously designated by the application;

based on the determination that the currently displayed persistent pane is a non-critical pane, close the critical pane and determine if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas; and

based on the determination that the currently displayed persistent pane is a critical pane, temporarily close or suspend display of the critical pane and determine if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas.

6. The system of claim 5 , wherein the priority is determined based on one or more of primacy of the persistent pane, recency of the persistent pane and criticality of the persistent pane.

7. The system of claim 5 , wherein the computing device is further caused to dismiss the transient pane when the transient pane loses focus.

8. The system of claim 5 , wherein display of the selected persistent pane as the opened persistent pane includes the reduction of the width the of the canvas to its minimum width.

9. A computer readable storage medium, implemented in hardware, containing computer executable instructions which, when executed by a computer, perform a method of automatically managing panes in relation to the application canvas in a user interface of an application, the method comprising:

receiving an indication from an application of a minimum width for the application canvas;

receiving a request to add a selected persistent pane in the user interface of the application, wherein a persistent pane comprises a pane that is displayed along with the canvas without overlapping the canvas;

determining that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas;

based on the determination that the selected persistent pane cannot be displayed while maintaining the minimum width of the canvas, determining if any persistent panes are currently displayed in the user interface;

based on a determination that two or more persistent panes are currently displayed in the user interface:

closing a sufficient number of the two or more persistent panes, in order of least priority, that are currently displayed so that the selected persistent pane is able to be displayed along with the canvas without overlapping the canvas while maintaining the minimum width of the canvas; and

displaying the selected persistent pane as an opened persistent pane;

based on a determination no persistent panes are currently displayed in the user interface:

opening a transient pane, wherein a transient pane comprises a pane that exists above the canvas enabling overlapping the canvas; and

displaying the selected persistent pane as the transient pane;

based on a determination that only one persistent pane is currently displayed in the user interface:

determining if the currently displayed persistent pane is a critical pane, wherein a criticality of the persistent pane is previously designated by the application:

based on the determination that the currently displayed persistent pane is a non-critical pane, closing the critical pane and determining if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas; and

based on the determination that the currently displayed persistent pane is a critical pane, temporarily closing or suspending display of the critical pane and determining if the selected persistent pane can now be displayed along with the canvas, without overlapping the canvas, while maintaining the minimum width of the canvas.

10. The computer-readable storage medium of claim 9 , wherein the priority is determined based on one or more of primacy of the persistent pane, recency of the persistent pane and criticality of the persistent pane.

11. The computer-readable storage medium of claim 9 , the method further comprising dismissing the transient pane when the transient pane loses focus.

12. The computer-readable storage medium of claim 9 , wherein displaying the selected persistent pane as the opened persistent pane includes reducing the width the of the canvas to its minimum width.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: KAUFTHAL, JONATHAN S.; SPOMER, TRAVIS; SLOAN, RYAN
To: MICROSOFT CORPORATION
Reel/Frame 033480/0445 →
Continuity (2)
Provisional Application 61974377 · Apr 2, 2014
Related Publication 20150286344A1 · Oct 8, 2015