# US 10,372,443 B2 · Multi-platform pattern-based user interfaces

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,443 B2
- Document ID: US10372443B2
- Status: Granted
- Kind: B2
- Application number: 15/497,701
- Filed: 2017-04-26
- Published: 2018-04-19
- Granted: 2019-08-06
- Earliest claimed: 2016-10-18
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Duncan Richard Mills; Kenichi Mizuta
- Web page: https://patentgrep.com/patent/US10372443B2

## CPC

- G06F 8/73: Program documentation
- G06F 8/20: Software design
- G06F 8/316: {Aspect-oriented programming techniques}
- G06F 8/35: model driven
- G06F 8/38: for implementing user interfaces
- G06F 8/76: Adapting program code to run in a different environment; Porting
- G06F 9/44542: {Retargetable}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques are provided for encapsulating a user experience design for user interfaces of an application, where the user experience design comprises a look and feel of the application and a plurality of functional elements of the application. A plurality of rules for implementing the one or more user interfaces may be defined, and the rules may be based at least in part on the user experience design. Additionally, a pattern may be generated based at least in part on the plurality of rules. The pattern may be deployed to a distributed network of computing devices, and reused in the design of multiple other applications. The new user interfaces for those applications may be generated based at least in part on the pattern, where the additional applications comply with the look and feel and the plurality of functional elements of the other applications that share the pattern.

## Claims

### Claim 1

A method, comprising:
determining a user experience design for one or more user interfaces of a first application configured to be executed in a first platform, the user experience design comprising display attributes and behavioral elements of the first application and a plurality of functional elements of the first application;
defining a plurality of rules for implementing the one or more user interfaces based at least in part on the user experience design;
generating a pattern based at least in part on the plurality of rules, the pattern comprising a hierarchy of sub-elements for configuring specific aspects of the display attributes and behavioral elements of the first application;
deploying the hierarchy of sub-elements for configuring the specific aspects of the display attributes and behavioral elements of the first application to a distributed network of computing devices;
receiving a request to design a second application configured to be executed in a second platform; and
generating a new user interface for the second application based at least in part on the pattern, the second application complying with the display attributes and behavioral elements of the first application and the plurality of functional elements associated with the first application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of functional elements comprise user actions that can be performed via the user interface of the application.

### Claim 3 (depends on 2)

The method of claim 2, wherein the user actions comprise at least one of finding a record, duplicating a record, drilling down into a record, or rotating a device configured to display the user interface of the application.

### Claim 4 (depends on 2)

The method of claim 2, wherein the pattern is configured as a carrier component that is embedded into the one or more user interfaces or the new user interface during a design phase.

### Claim 5 (depends on 4)

The method of claim 4, further comprising replacing the carrier component with the pattern at runtime or at a second time, wherein the second time is based at least in part on a technology stack associated with the second application.

### Claim 6 (depends on 4)

The method of claim 4, wherein the carrier component is configured by a pattern usage document.

### Claim 7 (depends on 2)

The method of claim 2, further comprising enabling event handlers for the pattern to be defined by a consumer that provided the request to design the second application.

### Claim 8 (depends on 2)

The method of claim 2, further comprising:
deploying the second application; and
generating a cached version of the pattern based at least in part on a pattern usage document that defines the pattern.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving a request to update the pattern;
providing the pattern usage document;
receiving a revised pattern usage document; and
redeploying the second application based at least in part on the revised pattern usage document.

### Claim 10 (depends on 9)

The method of claim 9, wherein the pattern usage document is provided within a customization sandbox.

### Claim 11 (depends on 1)

The method of claim 1, further comprising surfacing the new user interface in accordance with a particular adapter that corresponds to a type of the second application.

### Claim 12 (depends on 1)

The method of claim 1, wherein the new user interface is generated utilizing an event processor.

### Claim 13

A system, comprising:
a memory configured to store computer-executable instructions; and
a processor configured to access the memory and execute the computer-executable instructions to at least:
determine a user experience design for one or more user interfaces of a first application configured to be executed in a first platform, the user experience design comprising display attributes and behavioral elements of the first application and a plurality of functional elements of the first application;
define a plurality of rules for implementing the one or more user interfaces based at least in part on the user experience design;
generate a pattern based at least in part on the plurality of rules, the pattern comprising a hierarchy of sub-elements for configuring specific aspects of the display attributes and behavioral elements of the first application;
deploy the hierarchy of sub-elements for configuring the specific aspects of the display attributes and behavioral elements of the first application to a distributed network of computing devices;
receive a request to design a second application configured to be executed in a second platform; and
generate a new user interface for the second application based at least in part on the pattern, the second application complying with the display attributes and behavioral elements of the first application and the plurality of functional elements associated with the first application.

### Claim 14 (depends on 13)

The system of claim 13, wherein the plurality of functional elements comprise user actions that can be performed via the user interface of the application.

### Claim 15 (depends on 14)

The system of claim 14, wherein the user actions comprise at least one of finding a record, duplicating a record, drilling down into a record, or rotating a device configured to display the user interface of the application.

### Claim 16 (depends on 14)

The system of claim 14, wherein the pattern is configured as a carrier component that is embedded into the one or more user interfaces or the new user interface during a design phase, and wherein the carrier component is defined in a pattern usage document.

### Claim 17

A computer-readable medium storing computer-executable code that, when executed by a processor, cause the processor to perform the operations comprising:
determining a user experience design for one or more user interfaces of a first application configured to be executed in a first platform, the user experience design comprising display attributes and behavioral elements of the first application and a plurality of functional elements of the first application;
defining a plurality of rules for implementing the one or more user interfaces based at least in part on the user experience design;
generating a pattern based at least in part on the plurality of rules, the pattern comprising a hierarchy of sub-elements for configuring specific aspects of the display attributes and behavioral elements of the first application;
deploying the hierarchy of sub-elements for configuring the specific aspects of the display attributes and behavioral elements of the first application to a distributed network of computing devices;
receiving a request to design a second application configured to be executed in a second platform; and
generating a new user interface for the second application based at least in part on the pattern, the second application complying with the display attributes and behavioral elements of the first application and the plurality of functional elements associated with the first application.

### Claim 18 (depends on 17)

The computer-readable medium of claim 17, wherein the operations further comprise deploying the second application.

### Claim 19 (depends on 18)

The method of claim 18, wherein the operations further comprise generating a cached version of the pattern based at least in part on a pattern usage document that defines the pattern.

### Claim 20 (depends on 19)

The method of claim 19, wherein the operations further comprise:
receiving a request to update the pattern;
providing the pattern usage document in a sandbox;
receiving, within the sandbox, a revised pattern usage document; and
redeploying the second application based at least in part on the revised pattern usage document.
