Automated interface design

US10168998B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10168998-B2
Application numberUS-201715464279-A
CountryUS
Kind codeB2
Filing dateMar 20, 2017
Priority dateMar 20, 2017
Publication dateJan 1, 2019
Grant dateJan 1, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An automated interface generates a tree of design actions based on a predetermined set of functions and relationship information, each intermediary node of the tree representing a partial user interface design, and each branch of the tree representing a design action that creates or modifies the partial user interface design. A plurality of candidate user interface designs are determined, each implementing the received plurality of functions, by traversing the tree along multiple traversal paths from a root node of the tree to respective leaf nodes of the tree and executing respective design actions represented by branches along the traversal paths. A completed interface design is selected from the plurality of completed interface designs based on a predetermined selection algorithm, and the final user interface is generated based on the selected candidate user interface design.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a plurality of functions and relationship information describing how the plurality of functions relate to each other in order to automatically generate a user interface; generating a tree of design actions based on the plurality of functions and relationship information, each intermediary node of the tree representing a partial user interface design, and each branch of the tree representing a design action that creates or modifies the partial user interface design; determining, automatically without user intervention, a plurality of candidate user interface designs, each implementing the received plurality of functions, by automatically traversing the tree along multiple traversal paths from a root node of the tree to respective leaf nodes of the tree and executing respective design actions represented by branches along the traversal paths; selecting, automatically without user intervention, a selected candidate interface design from the plurality of candidate interface designs; and generating the user interface based on the selected candidate user interface design. 2. The method of claim 1 , further comprising: creating a respective candidate user interface design that implements the received plurality of functions by traversing the tree along a respective traversal path from the root node of the tree to a respective leaf node of the tree and executing respective design actions represented by branches along the traversal path; calculating, automatically without user intervention, a design score for the respective candidate user interface design based on an evaluation of the respective candidate user interface design; repeating, automatically without user intervention, the creating and calculating steps to generate the plurality of candidate user interface designs and a corresponding plurality of design scores; and selecting, automatically without user intervention, the selected candidate interface design from the plurality of candidate interface designs based on the plurality of design scores. 3. The method of claim 2 , further comprising: determining, for a respective intermediary node, an aggregate score that aggregates design scores for candidate user interface designs determined using respective traversal paths that include the respective intermediary node, wherein, when the tree is traversed, a branch along the traversal path is selected from a plurality of branches based on respective aggregate scores of each node associated with each of the plurality of branches. 4. The method of claim 2 , further comprising: determining an intermediary node for which all branches of the intermediary node have been explored; and excluding the intermediary node from a future traversal path. 5. The method of claim 2 , wherein the relationship information is received via a design interface in a form of a hierarchy of groups, each group comprising one or more of a state variable, a command, and textual information. 6. The method of claim 5 , wherein the branches of a first node at a first node level of the tree correspond to different design actions for merging a first group of the hierarchy of groups into a second group of the hierarchy of groups. 7. The method of claim 6 , wherein the branches of a second node at a second node level of the tree correspond to different widget types for a respective function of the plurality of functions, the method further comprising: selecting a selected widget type of the different widget types based on a traversal of a branch of the second node corresponding to the selected widget type; and placing a widget of the selected widget type into the generated user interface for the respective function when the branch corresponding to the widget type is in the traversal path of the selected candidate user interface design. 8. The method of claim 6 , wherein the branches of a second node at a second node level of the tree correspond to different page layouts for a panel of the user interface, the page layouts comprising a grid layout and a list-style layout, the method further comprising: selecting a selected page layout of the different page layouts based on a traversal of a branch of the second node corresponding to the selected page layout. 9. The method of claim 6 , wherein the branches of a second node at a second node level of the tree correspond to different separators for a panel of the user interface, the method further comprising: identify different sub-groups of items to be displayed on the panel of the user interface; and selecting a selected separator of the different separators for the identified different sub-groups based on a traversal of a branch of the second node corresponding to the selected separator, two or more of the identified different sub-groups being separated from each other based on the selected separator. 10. The method of claim 6 , wherein the branches of a second node at a second node level of the tree correspond to predetermined navigation types for the user interface, the method further comprising: selecting a selected navigation type of the predetermined navigation types for the user interface based on a traversal of a branch of the second node corresponding to the selected navigation type. 11. The method of claim 10 , wherein the selected navigation type is selected from a plurality of predetermined top-level navigation types comprising top-level navigation tabs and a top-level navigation carousal. 12. The method of claim 2 , wherein the determining and calculating is repeated for a predetermined number of iterations, or until at least one of the plurality of design scores satisfies a threshold design score. 13. The method of claim 2 , wherein the design score is calculated one or more of a group of predetermined evaluation algorithms comprising: a first evaluation algorithm that calculates the design score based on an amount of the plurality of functions and relationship information implemented by the respective candidate user interface design; or a second evaluation algorithm that identifies whether the respective candidate user interface design includes default information not in the received plurality of functions and relationship information, and reduces the calculated design score when the default information is identified; or a third evaluation algorithm that calculates the design score based on an amount of screens implemented in the respective candidate user interface design; or a fourth evaluation algorithm that calculates the design score based on a height to width ratio of the screens implemented in the respective candidate user interface design; or a fifth evaluation algorithm that calculates the design score based unused screen space in the respective candidate user interface design; or a sixth evaluation algorithm that identifies whether the respective candidate user interface design includes horizontal scrolling of one or more screens, and reducing the calculated design score if the horizontal scrolling is identified; or a seventh evaluation algorithm that identifies a task based on the received plurality of functions and relationship information, and a number of user-interactions required to initiate and complete the task, and calculating the design score based on the number of user-interactions; or an eighth evaluation algorithm that determines a count of different decisions made based on a same user-interaction input, and reduces the calculated design score based on the determined count; or a ninth evaluation algorithm that identifies a task based on the received plurality of functions and relationsh

Assignees

Inventors

Classifications

  • for implementing user interfaces · CPC title

  • Requirements analysis; Specification techniques · CPC title

  • G06F8/20Primary

    Software design · CPC title

  • model driven · CPC title

  • for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10168998B2 cover?
An automated interface generates a tree of design actions based on a predetermined set of functions and relationship information, each intermediary node of the tree representing a partial user interface design, and each branch of the tree representing a design action that creates or modifies the partial user interface design. A plurality of candidate user interface designs are determined, each …
Who is the assignee on this patent?
Google Inc, Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 01 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).