User interface framework and techniques
First Claim
1. A method for presenting to a user of a software application a user interface permitting the user to select an object associated with the application, the method comprising:
- providing a first set of declarative-language instructions having a plurality of data structures, includinga first data structure storing a plurality of items of first data, each item of first data representing a corresponding user-selectable object presentable to the user via the user interface, wherein selection by the user via the user interface of a particular user-selectable object accesses one or more other user-selectable objects or a resource, or both, associated with the object selected by the user,a second data structure storing items of second data hierarchically associated with the first data structure, each item of second data representing a corresponding action to be taken upon user selection of a particular user-selectable object via the user interface, anda third data structure storing items of third data, each being hierarchically associated with a corresponding first data structure or second data structure or both, wherein the items of third data include references to locations of other user-selectable objects or resources to be accessed by selection of objects corresponding to items of first data;
providing a second set of declarative-language instructions including a plurality of sets of computer-executable instructions, wherein each set corresponds to an action represented by a particular item of second data and is configured to accept items of third data as one or more arguments used in executing the instructions; and
at runtime of the software application,presenting to a user via the user interface a first selection of items comprising user-selectable objects corresponding to respective items of first data;
receiving a user selection of a user-selectable object from the first selection;
identifying the selected user-selectable object as a currently-selected object, the currently-selected object being a first placeholder that is not directly coupled with particular functionality;
identifying the item of second data representing the corresponding action to be taken upon user selection of the currently-selected object;
identifying the set of computer-executable instructions corresponding to the action;
identifying one or more items of third data associated with the currently-selected object;
executing the identified set of computer-executable instructions using as one or more arguments as location references in the one or more identified items of third data, the one or more arguments collectively being a second placeholder that is not directly coupled with particular functionality wherein execution of the identified set of computer-executable instructions indirectly accesses information associated with one or more other user-selectable objects associated with the currently-selected object or one or more resources associated with the currently-selected object or both;
using the information accessed by execution of the identified set of computer-executable instructions to identify a second selection of user-selectable items comprising either one or more of the other user-selectable objects or one or more resources or both, associated with the currently-selected object; and
presenting the second selection to the user via the user interface so that the second selection of user-selectable items is dynamically triggered via runtime indirection responsively to the first and second placeholders.
2 Assignments
0 Petitions
Accused Products
Abstract
A set of declarative language instructions (“DEIs”) defines three hierarchically-related data structures (“DSs”) to provide a naming taxonomy for use with a user interface (“UT”) framework. A first DS stores references to user-selectable objects (“USOs”) that are presentable via a UI of a software application. The USOs provide access to other USOs or to resources. A second DS stores references to actions to be taken upon user selection of particular USOs. A third DS stores information for indirectly accessing resources or USO configuration data during runtime of the software application. Another set of DEIs defines sets of computer-executable instructions (“CEIs”) corresponding to actions referred to via the second DS, which are triggered for execution upon user selection of particular USOs. Information from the third DS associated with a selected USO is passed to a particular set of CEIs. Runtime indirection and decoupling of content/functionality from UI components is achieved.
-
Citations
20 Claims
-
1. A method for presenting to a user of a software application a user interface permitting the user to select an object associated with the application, the method comprising:
-
providing a first set of declarative-language instructions having a plurality of data structures, including a first data structure storing a plurality of items of first data, each item of first data representing a corresponding user-selectable object presentable to the user via the user interface, wherein selection by the user via the user interface of a particular user-selectable object accesses one or more other user-selectable objects or a resource, or both, associated with the object selected by the user, a second data structure storing items of second data hierarchically associated with the first data structure, each item of second data representing a corresponding action to be taken upon user selection of a particular user-selectable object via the user interface, and a third data structure storing items of third data, each being hierarchically associated with a corresponding first data structure or second data structure or both, wherein the items of third data include references to locations of other user-selectable objects or resources to be accessed by selection of objects corresponding to items of first data; providing a second set of declarative-language instructions including a plurality of sets of computer-executable instructions, wherein each set corresponds to an action represented by a particular item of second data and is configured to accept items of third data as one or more arguments used in executing the instructions; and at runtime of the software application, presenting to a user via the user interface a first selection of items comprising user-selectable objects corresponding to respective items of first data; receiving a user selection of a user-selectable object from the first selection; identifying the selected user-selectable object as a currently-selected object, the currently-selected object being a first placeholder that is not directly coupled with particular functionality; identifying the item of second data representing the corresponding action to be taken upon user selection of the currently-selected object; identifying the set of computer-executable instructions corresponding to the action; identifying one or more items of third data associated with the currently-selected object; executing the identified set of computer-executable instructions using as one or more arguments as location references in the one or more identified items of third data, the one or more arguments collectively being a second placeholder that is not directly coupled with particular functionality wherein execution of the identified set of computer-executable instructions indirectly accesses information associated with one or more other user-selectable objects associated with the currently-selected object or one or more resources associated with the currently-selected object or both; using the information accessed by execution of the identified set of computer-executable instructions to identify a second selection of user-selectable items comprising either one or more of the other user-selectable objects or one or more resources or both, associated with the currently-selected object; and presenting the second selection to the user via the user interface so that the second selection of user-selectable items is dynamically triggered via runtime indirection responsively to the first and second placeholders. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for presenting a graphical user interface to a user of a software application, the method comprising:
-
in a first portion of the graphical user interface, displaying a first subset of a plurality of user-selectable objects, wherein a particular object is selectable by the user to either access a resource or access another user-selectable object associated with the particular user-selectable object, each of the plurality of user-selectable objects being represented by a corresponding item of first data stored in a first declarative-language data structure; waiting to receive a user selection via the graphical user interface of a displayed user-selectable object from the first subset; when the user selection is received, identifying the selected user-selectable object as a currently-selected object, the currently-selected object being a first placeholder that is not directly coupled with particular functionality; identifying the particular item of first data associated with the currently-selected object; identifying a second declarative-language data structure hierarchically associated with the first declarative-language data structure, the second declarative-language data structure storing items of second data, each representing a corresponding action to be taken upon user selection of a particular user-selectable object; based on the particular item of first data, identifying the particular item of second data representing the action corresponding to the currently-selected object; identifying a third declarative-language data structure hierarchically associated with the first declarative-language data structure or the second declarative-language data structure or both, wherein the third declarative-language data structure stores items of third data including references to locations of other user-selectable objects or resources associated with the currently-selected object; identifying one or more items of third data associated with the currently-selected object; and using a set of computer-executable instructions to perform the action corresponding to the currently-selected object by providing to the computer-executable instructions location references in the identified one or more items of third data as arguments used in executing the computer-executable instructions, the arguments collectively being a second placeholder that is not directly coupled with particular functionality wherein execution of the set of computer-executable instructions accesses information associated with the resource or other user-selectable object so that a selection of the other user-selectable items is dynamically triggered for display to the user via runtime indirection responsively to the first and second placeholders without utilization of common functions that are hardcoded during programming of the data structures. - View Dependent Claims (15, 16, 17)
-
-
18. An apparatus for presenting to a user of a software application a user interface permitting the user to select an object associated with running the application, the apparatus comprising:
-
a computer-readable storage medium; and a processor responsive to the computer-readable storage medium and to a computer program, the computer program, when loaded into the processor, being configured to perform a method comprising providing a first set of declarative language instructions having a plurality of data structures including a first data structure storing a plurality of items of first data, each item of first data representing a corresponding user-selectable object presentable to the user via the user interface, wherein selection by the user via the user interface of a particular user-selectable object accesses one or more other user-selectable objects or a resource, or both, associated with the object selected by the user, a second data structure storing items of second data hierarchically associated with the first data structure, each item of second data representing a corresponding action to be taken upon user selection of a particular user-selectable object, and a third data structure storing items of third data, each being hierarchically associated with a corresponding first data structure or second data structure or both, wherein the items of third data include references to locations of other user-selectable objects or resources to be accessed by selection of objects corresponding to items of first data; providing a second set of declarative language instructions including a plurality of sets of computer-executable instructions, wherein each set corresponds to an action represented by a particular item of second data and is configured to accept items of third data as one or more arguments used in executing the instructions; and
;at runtime of the software application, presenting to a user via the user interface a first selection of items comprising user-selectable objects corresponding to respective items of first data; receiving a user selection of a user-selectable object from the first selection; identifying the selected user-selectable object as a currently-selected object, the currently-selected object being a first placeholder that is not directly coupled with particular functionality; identifying the item of second data representing the corresponding action to be taken upon user selection of the currently-selected object; identifying the set of computer-executable instructions corresponding to the action; identifying one or more items of third data associated with the currently-selected object; and executing the identified set of computer-executable instructions using as one or more arguments as location references in the one or more identified items of third data, the one or more arguments collectively being a second placeholder that is not directly coupled with particular functionality wherein execution of the identified set of computer-executable instructions indirectly accesses information associated with one or more other user-selectable objects associated with the currently-selected object or one or more resources associated with the currently-selected object or both so that a selection of the one or more other user-selectable items or one or more resources associated with the currently-selected object is dynamically triggered for display to the user via runtime indirection responsively to the first and second placeholders. - View Dependent Claims (19, 20)
-
Specification