Patent ID: 7441200

Claim:
A method of generating displayed elements in a user interface (UI) on a device selected from a plurality of devices, comprising: a) providing three conceptual components to represent said displayed elements in said UI, said three conceptual components comprising a container component defining frame objects relating to parent objects in common frames in said UI and having a set of child conceptual components defining child elements in said common frames; a control component defining control objects used to generate input selections relating to said displayed elements in said UI; and a text component defining text entry objects used to process text entries relating to said displayed elements in said UI; b) providing a first data structure as a tree providing a representation of said UI, where each node of said tree represents a part of said displayed elements and comprises a second data structure for one of said three conceptual components; a third data structure for labels used to identify said frame objects, said control objects and said text entry objects; a vector parameter containing array data associating said labels to said frame objects, said control objects and said text entry objects; a set of directions representing a layout of said displayed elements in said UI and being mapped to each dimension of said vector parameter; and a fourth data structure comprising one of: a set of child conceptual components if said node is said container component; an input selection template, if said node is said control component, that allows a user to perform selections, comprising a label data structure providing selection domain and identifiers; and a text field template, if said node is said text component, that allows text to be entered by a user for said element; c) rendering said representation for said device to generate native controls used to display said displayed elements of said UI, utilizing said array data in said vector parameter to determine a size for said first data structure; and a size for said frame objects, said control objects and said text entry objects, corresponding to a size of said frame objects of a parent of said container component, if said parent exists, and said vector parameter; and in said each node in said tree, its vector parameter, the vector parameters of its parent nodes and its fourth data structure to render its element on said UI for said device; and d) rendering said displayed elements on said device using said native controls.