Layout of user interface elements
US-8984424-B2 · Mar 17, 2015 · US
US10168998B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10168998-B2 |
| Application number | US-201715464279-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 20, 2017 |
| Priority date | Mar 20, 2017 |
| Publication date | Jan 1, 2019 |
| Grant date | Jan 1, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
for implementing user interfaces · CPC title
Requirements analysis; Specification techniques · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.