IP Library Granted Patent US 12710968
Granted Patent B2
US 12710968 · App. 18/463,806 · Granted Aug 18, 2026

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 12710968
App. No.
18/463,806
Granted
Aug 18, 2026
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 (54)

1 . A system for generating user interfaces, comprising:

a processor; and

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

generating, by a first user interface manager, a first user interface to express a first desktop experience;

receiving an association of the first user interface manager with a first project;

generating, by a second user interface manager, a second user interface to express a second desktop experience;

receiving an association of the second user interface manager with a second project;

concurrently displaying the first user interface and the second user interface to allow interaction with the first desktop experience and the second desktop experience concurrently;

detecting a change in hardware of the system; and

in response to detecting the change in the hardware of the system, morphing the display of the first user interface into a display of a third user interface, wherein morphing the display of the first user interface into the display of the third user interface includes changing a layout of the first user interface, and wherein the third user interface is concurrently displayed with the second user interface.

2 . The system of claim 1 , wherein the operations further comprise hosting the second user interface manager inside the first user interface manager.

3 . The system of claim 2 , wherein hosting the second user interface manager inside the first user interface manager includes displaying the second user interface as an overlapped window with the first user interface.

4 . The system of claim 1 , wherein the operations further comprise:

generating, by a fourth user interface manager, a fourth user interface; and

receiving an association of the fourth user interface manager with a third project.

5 . The system of claim 4 , wherein the operations further comprise concurrently displaying the fourth user interface with the third user interface and the second user interface.

6 . The system of claim 1 , wherein the operations further comprise:

generating a first partition of a first subset of hardware of the system;

generating a second partition of a second subset of hardware of the system;

assigning the first partition to the first user interface manager; and

assigning the second partition to the second user interface manager.

7 . The system of claim 6 , wherein the first subset of hardware includes a first input device and the second subset of hardware includes a second input device.

8 . The system of claim 7 , wherein, while the first user interface and the second user interface are concurrently displayed, interactions with the first input device are received by the first user interface manager and interactions with the second input device are received by the second user interface manager.

9 . The system of claim 7 , wherein the first subset of hardware includes a first output device and the second subset of hardware includes a second output device.

10 . A method for generating user interfaces, comprising:

generating, by a first user interface manager of a computing device, a first user interface to express a desktop experience;

receiving an association of the first user interface manager with a first project;

generating, by a second user interface manager of the computing device, a second user interface to express a gaming console experience;

receiving an association of the second user interface manager with a second project; and

concurrently displaying the first user interface and the second user interface to allow interaction with the desktop experience and the gaming console experience concurrently;

generating, by a third user interface manager of the computing device, a third user interface;

receiving an association of the third user interface manager with a third project; and

morphing from the second user interface to the third user interface, wherein morphing from the second user interface to the third user interface includes providing a seamless visual transition from the second user interface to the third user interface using animation.

11 . The method of claim 10 , further comprising hosting the second user interface manager inside the first user interface manager.

12 . The method of claim 11 , wherein hosting the second user interface manager inside the first user interface manager includes displaying the second user interface as an overlapped window with the first user interface.

13 . The method of claim 10 , further comprising concurrently displaying the third user interface with the first user interface.

14 . The method of claim 10 , further comprising:

generating a first partition of a first subset of hardware;

generating a second partition of a second subset of hardware;

assigning the first partition to the first user interface manager; and

assigning the second partition to the second user interface manager.

15 . The method of claim 14 , wherein the first subset of hardware includes a first input device and the second subset of hardware includes a second input device.

16 . The method of claim 15 , wherein, while the first user interface and the second user interface are concurrently displayed, interactions with the first input device are received by the first user interface manager and interactions with the second input device are received by the second user interface manager.

17 . The method of claim 15 , wherein the first subset of hardware includes a first output device and the second subset of hardware includes a second output device.

18 . A computer-implemented method of generating user interfaces on a computing system, the method comprising:

generating, by a first user interface manager, a first user interface to express a first desktop experience;

receiving an association of the first user interface manager with a first project;

generating, by a second user interface manager, a second user interface to express a second desktop experience;

receiving an association of the second user interface manager with a second project;

concurrently displaying the first user interface and the second user interface to allow interaction with the first desktop experience and the second desktop experience concurrently;

detecting a change in hardware of the system; and

in response to detecting the change in the hardware of the system, morphing the display of the first user interface into a display of a third user interface, wherein morphing the display of the first user interface into the display of the third user interface includes changing a layout of the first user interface, and wherein the third user interface is concurrently displayed with the second user interface.

19 . The method of claim 18 , wherein the method further comprises hosting the second user interface manager inside the first user interface manager.

20 . The method of claim 19 , wherein hosting the second user interface manager inside the first user interface manager includes displaying the second user interface as an overlapped window with the first user interface.