IP Library › Granted Patent US 11,809,217
Granted Patent B2
US 11,809,217 · App. 16/613,613 · Granted Nov 7, 2023

Rules based user interface generation

Inventors: Ramrajprabu Balasubramanian (Sammamish, WA); Darren R. Davis (Woodinville, WA); Kenton A. Shipley (Woodinville, WA); Nathan T. Radebaugh (Wheaton, IL); Paul Dykstra (Issaquah, WA); Jan Harold Karachale (Sammamish, WA); Brian David Cross (Seattle, WA); Patrick J. Derks (Seattle, WA); William Scott Stauber (Seattle, WA); Nishad Mulye (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/451G06F3/0484
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 11,809,217
App. No.
16/613,613
Granted
Nov 7, 2023
Kind
B2
Abstract

A system for generating a user interface described herein can include a processor to detect a type of the system based on hardware components residing within the system or coupled to the system and determine a user interface manager to execute based on the type of the system. The processor can also execute the user interface manager to generate a user interface for the system, wherein the type of the user interface manager comprises a plurality of rules to indicate a layout of the user interface.

Claims (49)

1. A system for generating a user interface, comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the system to perform operations comprising:

based on hardware components residing within the system or coupled to the system, detect a type of the system to be one of a mobile system, a gaming console system, an augmented reality system, a tablet system, or a desktop system;

determine a first user interface manager, from a plurality of user interface managers each configured for a different system type, to execute based on the type of the system, wherein the plurality of user interface managers include:

the first user interface manager that includes a first plurality of layout rules that indicate a first layout for an operating system user interface and prevent windows corresponding to multiple applications from overlapping; and

a second user interface manager that includes a second plurality of layout rules that indicate a second layout for the operating system user interface and allow the windows to overlap;

execute the first user interface manager to generate a first visual appearance for an operating system of the of the system and a user interface for displaying the multiple applications executed by the operating system according to the first layout and prevent the windows corresponding to the multiple applications from overlapping, wherein the first layout of the user interface is a two-dimensional representation of the applications and system controls;

detect a change in a hardware component coupled to the system;

based on the detected change to the system, select the second user interface manager;

execute the second interface manager to generate a second visual appearance for the operating system; and

morph from the first visual appearance to the second visual appearance.

2. The system of claim 1 , wherein the user interface comprises at least one active application and at least one visible application.

3. The system of claim 1 , wherein the type of the system comprises a gaming console system or an augmented reality system.

4. The system of claim 1 , wherein the operations further comprise: display the user interface based on at least one display characteristic corresponding to the first user interface manager.

5. The system of claim 1 , wherein the first user interface manager is to manage at least two subordinate user interface managers, wherein each of the at least two subordinate user interface managers is to execute a separate application.

6. The system of claim 1 , wherein the first user interface manager is also to manage a shell application that is to support experiences.

7. The system of claim 1 , wherein the operations further comprise: detect an input device is coupled to the system and generate a new user interface manager based on the input device.

8. The system of claim 7 , wherein the input device is a gaming controller and the new user interface manager is to provide a gaming console user interface.

9. The system of claim 7 , wherein the operations further comprise: store a state of the user interface in response to transitioning from the first user interface manager to the new user interface manager.

10. A method for generating a user interface, comprising:

detecting a type of a system based on non-display hardware components residing within the system;

determining a first user interface manager, from a plurality of user interface managers each configured for a different system type, to execute based on the type of the system, wherein the plurality of user interface managers include:

the first user interface manager that includes a first plurality of layout rules that indicate a first layout for an operating system user interface and prevent windows corresponding to multiple applications from overlapping; and

a second user interface manager that includes a second plurality of layout rules that indicate a second layout for the operating system user interface and allow the windows to overlap; and

executing the first user interface manager to generate a first visual appearance for an operating system of the of the system and a user interface for displaying the multiple applications and an application launcher by the system according to the first layout and prevent the windows corresponding to the multiple applications from overlapping, wherein the first user interface manager further comprises a plurality of rules to indicate a layout of the user interface including an area of a screen of the system that is to be occupied by the application launcher and the multiple applications;

detecting a change in a hardware component coupled to the system;

based on the detected change to the system, select the second user interface manager;

executing the second interface manager to generate a second visual appearance for the operating system; and

transition from the from the first visual appearance to the second visual appearance, wherein transitioning includes an animation.

11. The method of claim 10 , wherein the user interface comprises at least one active application and at least one visible application.

12. The method of claim 10 , wherein the type of the system that is detected is one of a gaming console system or an augmented reality system.

13. The method of claim 10 , wherein the detected change to the system is subsequent to executing the first user interface manager, and the detected change is that a gaming controller has been coupled to the system.

14. The method of claim 10 , wherein the first user interface manager is to manage at least two subordinate user interface managers, wherein each of the at least two subordinate user interface managers is to execute a separate application.

15. The method of claim 10 , wherein the first user interface manager is also to manage a shell application that is to support experiences.

16. A system for generating a user interface comprising:

a processor; and

a storage device to store a plurality of instructions that, in response to being executed by a processor, cause the processor to:

detect a type of the system based on non-display hardware components residing within the system;

select a first user interface manager from a visual tree of user interface managers to execute based on the type of the system, wherein the visual tree resides in a user interface host and the user interface managers correspond to different system types; and

execute the selected first user interface manager to generate a first operating-system user interface for displaying multiple applications by the system, wherein the selected first user interface manager comprises a first plurality of rules to indicate a layout of the first operating-system user interface and to prevent windows corresponding to the multiple applications from overlapping;

detect a change in a hardware component coupled to the system;

based on the detected change, select a second user interface manager from the visual tree of user interface mangers;

execute the selected second user interface manager to generate a second operating-system user interface for the system, wherein the second user interface manager maintains a state of the first operating-system user interface, and the second user interface manager comprises a second plurality of rules to indicate a layout of the second operating-system user interface, the second plurality of rules including second layout rules that allow windows corresponding to the multiple applications to overlap; and

morph from the first operating-system user interface to the second operating-system user interface.

17. The system of claim 16 , wherein the user interface comprises at least one active application and at least one visible application.

18. The system of claim 16 , wherein the type of the system detected comprises a mobile system, a gaming console system, an augmented reality system, a tablet system, or a desktop system.

19. The system of claim 18 , wherein the type of system is an augmented reality system.

20. The system of claim 16 , wherein the first layout rules allow the multiple applications to be visible in a full screen mode, and the second layout rules prevent the multiple applications from being visible in a full screen mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: BALASUBRAMANIAN, RAMRAJPRABU; DAVIS, DARREN R.; SHIPLEY, KENTON A.; RADEBAUGH, NATHAN T.; DYKSTRA, PAUL; KARACHALE, JAN HAROLD; DERKS, PATRICK J.; CROSS, BRIAN DAVID; STAUBER, WILLIAM SCOTT; MULYE, NISHAD
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051011/0876 →
Continuity (1)
Related Publication 20210286632A1 · Sep 16, 2021
Cited By (2)
US 12,190,011 US 12,254,232