Claims
- 1. A system for generating user interfaces so that a user may interact with a computer system, the system comprising:
an application having an incomplete user interface and being adapted to store multiple intentions of a user interface designer of the application, each intention including a set of parameters and being selected from a group consisting of posing a question to the user, presenting a piece of information to the user, and defining a task for the user to perform, the incomplete user interface of the application being completed when the one or more intentions are realized; and an expert system having one or more components for realizing the multiple intentions, the expert system receiving one of the multiple intentions and each received intention identifying and activating a corresponding component for realizing the received intention, each corresponding component programmatically containing a set of rules extracted from guidelines, conventions, and principles of user interface design, the set of parameters supplied with each received intention aiding the corresponding component to choose and execute a rule from the set of rules, each rule producing a user interface from a template different from other templates used by other rules.
- 2. The method of claim 1, wherein the produced user interface is selected from a group consisting of a graphical user interface, a command-line interface, and an audio user interface.
- 3. The system of claim 1, further comprising a source of external factors, the source of external factors containing information related to the operating environment of the application as well as the background of the user so as to aid the corresponding component to choose and execute a rule from the set of rules.
- 4. The system of claim 3, wherein each external factor is selected from a group consisting of the type of computer on which the application is running, the type of operating system on which the application is running, the types of available input devices, the types of available output devices, the background of the user, the existence of other software, and other facts external to the system.
- 5. The system of claim 1, wherein each parameter from the set of parameters is selected from a group consisting of textual information, a set of choices from which the user is expected to make a selection, pieces of data which the user is allowed to manipulate, a default response to a question posed by the user, an indication that the user is required to respond to the question, an indication that the user may opt out from responding to the question, a type of data that is expected to be received in response to an interaction with the user, a set of constraints on the dimensions of the generated user interface, and an indication of the visual style which the generated user interface may take.
- 6. A method for generating user interfaces by an expert system for a user to interact with a computer system, comprising:
receiving a user interface goal by the expert system, the user interface goal being selected from a group consisting of a question to be posed to the user, a piece of information to be communicated to the user, and a task to be performed by the user; receiving a set of parameters by the expert system, each parameter being selected from a group consisting of information for presenting to the user, information for the task to be performed by the user, and information for constraining the generated user interface; and generating a user interface by selecting a code module from a set of code modules, each code module being designed to generate user interfaces from multiple templates, the act of selecting a code module including selecting a rule from a set of rules extracted from guidelines, conventions, and principles of user interface design, the act of selecting a rule being aided by the set of parameters, the user interface being produced from a template when the selected rule is executed.
- 7. The method of claim 6, further comprising examining selectively a set of external factors by the expert system, each factor being selected from the operating environment of the computer system and the background of the user, the act of selecting a rule being further aided by the set of external factors.
- 8. The method of claim 6, wherein a user interface goal is selected from a group consisting of making the user supply a single string of text, making the user supply a single number, making the user pick a single item from a list, making the user pick several items from a list, making the user arrange the items in a list in a preferred order, making the user manage a list of items, making the user organize items in a given structure, and making the user apply one or more operations on a selection of items in a list.
- 9. The method of claim 6, wherein the method is executed at run time while other applications are running.
- 10. The method of claim 6, wherein the method is executed at design time so that user interfaces generated by the method are stored on storage media.
- 11. The method of claim 6, wherein the generated user interface includes a pagefunction.
- 12. A system for producing instructions suitable for making a user interface, comprising:
a) an application for generating, in response to user interface designer inputs, at least one intention, said at least one intention including an associated set of parameters; and b) an expert system for receiving said at least one intention and said associated set of parameters, said expert system including a multitude of code modules, each of said code modules including a set of rules, each of said rules including a template, in response to receiving said at least one intention and said associated set of parameters said expert system:
i) selecting a code module for said multitude of code modules; ii) selecting a rule from said set of rules included in said selected code module; and iii) generating user interface instructions in accordance with the template associated with said selected rule.
- 13. A method of producing a user interface for an application running on a computer having an associated display, said method comprising:
a) in response to user interface designer inputs, said application producing at least one intention, said at least one intention having an associated set of parameters; b) supplying said at least one intention and its associated set of parameters to an expert system; c) in response to receiving said at least one intention and its associated set of parameters, the expert system:
i) selecting a code module from a multitude of code modules; ii) selecting a rule from a set of rules within the selected code module; and iii) generating user interface instructions from a template associated with the selected rule; d) supplying said user interface instructions to said application; and e) in response to receiving said user interface instructions, said application producing a user interface on said display.
CROSS-REFERENCE TO A RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/272,006, filed Feb. 27, 2001, which is expressly incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60272006 |
Feb 2001 |
US |