IP Library Granted Patent US 12,366,913
Granted Patent B2
US 12,366,913 · App. 18/484,787 · Granted Jul 22, 2025

Method and system for dynamic selection of application dialog layout design

Inventors: Raman Meenakshisundaram (Bangalore, IN); Jeroen van Rotterdam (Berkeley, CA)
Assignee: Open Text Corporation
G06F3/01G06F3/048G06F3/0481G06F9/451G06F11/3006G06F11/34G06F11/3438G06F11/3452G06F3/00
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 12,366,913
App. No.
18/484,787
Granted
Jul 22, 2025
Kind
B2
Abstract

This disclosure provides a system and method for selecting an application dialog layout design based on a response pattern for a task-based application. A plurality of user interface layouts may be generated based on a first user interface layout, where the first user interface layout is associated with a task included in a process of a computer-implemented software application. One or more performance metrics associated with each user interface layout of the plurality of user interface layouts may be monitored, where the one or more performance metrics characterize a performance of the task by one or more task users. A second user interface layout may be selected based on an analysis of the one or more performance metrics. The second user interface layout may be provided to a plurality of users of a computer-implemented software application.

Claims (44)

1. A method, comprising:

receiving, by a user interface (UI) optimizer executing on a computer, a request for optimization of a dialog layout utilized by an application, wherein the request includes a first unique identifier that identifies the dialog layout for optimization and a second unique identifier that identifies a task user who uses the dialog layout in a predetermined process implemented by the application;

retrieving, by the UI optimizer from a storage system utilizing the second unique identifier, context information associated with the request, wherein the context information identifies the task user's current state in the predetermined process and describes which user interface components should be included in the dialog layout based on the task user's current state in the predetermined process, wherein the context information further comprises historical information describing a sequence of previous tasks performed by the task user in the predetermined process to arrive at the task user's current task for the task user's current state in the predetermined process, the historical information identifying a subset of the user interface components accessed or modified during the sequence of previous tasks;

providing, by the UI optimizer, the context information to an analytics engine, wherein the analytics engine is operable to analyze the context information and determine dialog layout information which defines locations of the user interface components within a dialog and which defines relationships between the user interface components;

receiving, by the UI optimizer, the dialog layout information from the analytics engine, wherein the dialog layout information includes a third unique identifier that identifies a configuration of the user interface components included in the dialog layout;

retrieving, by the UI optimizer from a dialog library utilizing the third unique identifier, the dialog layout having the configuration;

rendering, by the UI optimizer, the retrieved dialog layout having the configuration; and

providing, by the UI optimizer, the dynamically rendered dialog layout to a client machine for display to the task user.

2. The method according to claim 1 , wherein the request is issued by an automated process associated with the application in response to detecting a particular task in a process taking longer than a threshold period of time, the particular task being associated with the dialog layout.

3. The method according to claim 1 , wherein the request is issued periodically by an automated process associated with the application.

4. The method according to claim 1 , wherein the predetermined process comprises a predetermined series of steps or tasks for handling a call from a customer, each step or task having an associated dialog.

5. The method according to claim 4 , wherein the task user's current state identifies the task user's progress or location in the predetermined series of steps or tasks.

6. The method according to claim 4 , wherein the set of tasks comprises at least one of: creating a new file for the customer, creating a new record for the customer's case, or reading an appropriate script for responding to the customer's inquiry.

7. The method according to claim 1 , wherein the storage system stores unique identifiers of dialog layouts that have been optimized and wherein the analytics engine is operable to check whether the first unique identifier matches any of the unique identifiers.

8. A system, comprising:

a processor;

a non-transitory computer-readable medium; and

instructions stored on the non-transitory computer-readable medium and translatable by the processor for:

receiving a request for optimization of a dialog layout utilized by an application, wherein the request includes a first unique identifier that identifies the dialog layout for optimization and a second unique identifier that identifies a task user who uses the dialog layout in a predetermined process implemented by the application;

retrieving, from a storage system utilizing the second unique identifier, context information associated with the request, wherein the context information identifies the task user's current state in the predetermined process and describes which user interface components should be included in the dialog layout based on the task user's current state in the predetermined process, wherein the context information further comprises historical information describing a sequence of previous tasks performed by the task user in the predetermined process to arrive at the task user's current task for the task user's current state in the predetermined process, the historical information identifying a subset of the user interface components accessed or modified during the sequence of previous tasks;

providing the context information to an analytics engine, wherein the analytics engine is operable to analyze the context information and determine dialog layout information which defines locations of the user interface components within a dialog and which defines relationships between the user interface components in the dialog;

receiving the dialog layout information from the analytics engine, wherein the dialog layout information includes a third unique identifier that identifies a configuration of the user interface components included in the dialog layout;

retrieving, from a dialog library utilizing the third unique identifier, the dialog layout having the configuration;

rendering the retrieved dialog layout having the configuration; and

providing the rendered dialog layout to a client machine for display to the task user.

9. The system of claim 8 , wherein the request is issued by an automated process associated with the application in response to detecting a particular task in a process taking longer than a threshold period of time, the particular task being associated with the dialog layout.

10. The system of claim 8 , wherein the request is issued periodically by an automated process associated with the application.

11. The system of claim 8 , wherein the predetermined process comprises a predetermined series of steps or tasks for handling a call from a customer, each step or task having an associated dialog.

12. The system of claim 11 , wherein the task user's current state identifies the task user's progress or location in the predetermined series of steps or tasks.

13. The system of claim 11 , wherein the set of tasks comprises at least one of: creating a new file for the customer, creating a new record for the customer's case, or reading an appropriate script for responding to the customer's inquiry.

14. The system of claim 8 , wherein the storage system stores unique identifiers of dialog layouts that have been optimized and wherein the analytics engine is operable to check whether the first unique identifier matches any of the unique identifiers.

15. A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor for:

receiving a request for optimization of a dialog layout utilized by an application, wherein the request includes a first unique identifier that identifies the dialog layout for optimization and a second unique identifier that identifies a task user who uses the dialog layout in a predetermined process implemented by the application;

retrieving, from a storage system utilizing the second unique identifier, context information associated with the request, wherein the context information identifies the task user's current state in the predetermined process and describes which user interface components should be included in the dialog layout based on the task user's current state in the predetermined process, wherein the context information further comprises historical information describing a sequence of previous tasks performed by the task user in the predetermined process to arrive at the task user's current task for the task user's current state in the predetermined process, the historical information identifying a subset of the user interface components accessed or modified during the sequence of previous tasks;

providing the context information to an analytics engine, wherein the analytics engine is operable to analyze the context information and determine dialog layout information which defines locations of the user interface components within a dialog and which defines relationships between the user interface components in the dialog;

receiving the dialog layout information from the analytics engine, wherein the dialog layout information includes a third unique identifier that identifies a configuration of the user interface components included in the dialog layout;

retrieving, from a dialog library utilizing the third unique identifier, the dialog layout having the configuration;

rendering the retrieved dialog layout having the configuration; and

providing the rendered dialog layout to a client machine for display to the task user.

16. The computer program product of claim 15 , wherein the request is issued by an automated process associated with the application in response to detecting a particular task in a process taking longer than a threshold period of time, the particular task being associated with the dialog layout.

17. The computer program product of claim 15 , wherein the request is issued periodically by an automated process associated with the application.

18. The computer program product of claim 15 , wherein the predetermined process comprises a predetermined series of steps or tasks for handling a call from a customer, each step or task having an associated dialog.

19. The computer program product of claim 18 , wherein the task user's current state identifies the task user's progress or location in the predetermined series of steps or tasks.

20. The computer program product of claim 15 , wherein the storage system stores unique identifiers of dialog layouts that have been optimized and wherein the analytics engine is operable to check whether the first unique identifier matches any of the unique identifiers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2023
From: MEENAKSHISUNDARAM, RAMAN; VAN ROTTERDAM, JEROEN
To: EMC CORPORATION
Reel/Frame 065284/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2023
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 065284/0399 →
Continuity (5)
Continuation 17322823 · May 17, 2021
Continuation 16451303 · Jun 25, 2019
Continuation 15701127 · Sep 11, 2017
Continuation 13683024 · Nov 21, 2012
Related Publication 20240036633A1 · Feb 1, 2024
References Cited (4)
US 20020156797A1 · Lee · 2002 [cited by examiner]
US 20050131934A1 · Gilbert · 2005 [cited by examiner]
US 20070300185A1 · Macbeth · 2007 [cited by examiner]
US 20130212487A1 · Cote · 2013 [cited by examiner]