US2004056894A1PendingUtilityA1

System and method for describing and instantiating extensible user interfaces

Priority: Sep 19, 2002Filed: Sep 19, 2002Published: Mar 25, 2004
Est. expirySep 19, 2022(expired)· nominal 20-yr term from priority
G06F 9/454
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A “UI producer” is used to automatically instantiate extensible user interface (UI) windows. The automatically instantiated UI windows are based on dynamic definitions of those UI's. These UI definitions, which include descriptions of controls or other elements used to populate one or more UI windows, are read and interpreted by the UI producer prior to rendering the UI windows. In addition, these UI definitions may also define or reference one or more event handlers or “listeners” that are to be associated with particular controls, groups of controls, or entire UI windows so that the controls or UI windows are capable of interacting with an associated application. After reading the UI definitions, the UI descriptions are acted upon to automatically instantiate each UI window using at least one database of predefined controls and custom elements, with automatic layout rules being used to organize controls and elements within each UI window.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A computer-readable medium having computer executable instructions for automatically instantiating user interface windows for interacting with at least one application program, comprising: 
 providing at least one user interface definition, wherein the at least one user interface definition includes a description of any user interface elements and associated event handlers that are to be placed into at least one user interface window for interacting with at least one running application program;    automatically reading and interpreting the user interface definition prior to automatically instantiating the at least one user interface window; and    automatically instantiating the at least one user interface window based on the at least one user interface definition.    
     
     
         2 . The computer-readable medium of  claim 1  further comprising storing the at least one user interface description separately from the at least one running application program.  
     
     
         3 . The computer-readable medium of  claim 1  further comprising: 
 automatically downloading at least one updated user interface definition from a remote server computer; and  
 automatically instantiating the at least one user interface window based on the at least one updated user interface definition.  
 
     
     
         4 . The computer-readable medium of  claim 1  further comprising: 
 automatically downloading at least one updated user interface definition from a remote server computer while the at least one application program is running; and  
 automatically instantiating the at least one user interface window based on the at least one updated user interface definition while the at least one application program continues running.  
 
     
     
         5 . The computer-readable medium of  claim 1  further comprising dynamically updating at least one of the user interface definitions while the at least one application program is running.  
     
     
         6 . The computer-readable medium of  claim 3  further comprising automatically instantiating an updated user interface window using the at least one dynamically updated user interface definition while the at least one application program is running.  
     
     
         7 . The computer-readable medium of  claim 1  wherein the at least one user interface description is read and interpreted at the time that the at least one application program is run.  
     
     
         8 . The computer-readable medium of  claim 1  further comprising at least one set of layout rules for automatically arranging the user interface elements described by the at least one UI definition when automatically instantiating the at least one user interface window.  
     
     
         9 . The computer-readable medium of  claim 8  wherein the at least one set of layout rules includes any of “horizontal” layout rules, “vertical” layout rules, “horizontal flow” layout rules, “vertical flow” layout rules, “table” layout rules, and “overlap” layout rules.  
     
     
         10 . The computer-readable medium of  claim 8  wherein the user interface definition includes a description of general relationships between the user interface elements, and wherein the general relationships are interpreted by the automatic layout rules for automatically arranging the user interface elements.  
     
     
         11 . The computer-readable medium of  claim 1  wherein the user interface elements include any of button controls, hyperlink controls, labels, rich labels, check boxes, radio buttons, text boxes, combo boxes, dropdown lists, list boxes, lines, group headings, list views, popup container controls, color pickers, progress bars, HTML controls, customizable ActiveX objects, images, vector graphics, animations, video clips, and audio clips.  
     
     
         12 . The computer-readable medium of  claim 1  further comprising at least one local user interface definition, wherein the at least one local user interface definition provides alternate user interface definitions for the at least one user interface window.  
     
     
         13 . The computer-readable medium of  claim 12  wherein the alternate user interface definitions represent at least one alternate language to be used in automatically instantiating the at least one user interface window.  
     
     
         14 . The computer-readable medium of  claim 12  wherein the alternate user interface definitions are used to provide at least one alternate user interface window in at least one alternate language without modifying source code representing the at least one running application program.  
     
     
         15 . The computer-readable medium of  claim 1  further comprising at least one global user interface definition, wherein the at least one global user interface definition provides common settings to be applied to each of the automatically instantiated user interface windows.  
     
     
         16 . The computer-readable medium of  claim 1  further comprising at least one set of resource data which is referenced by the at least one user interface definition for including resources represented by the resource data in the at least one automatically instantiated user interface window.  
     
     
         17 . The computer-readable medium of  claim 1  further comprising automatically validating the at least one user interface definition prior to automatically instantiating the at least one user interface window.  
     
     
         18 . The computer-readable medium of  claim 1  wherein the user interface definitions are provided in an XML file format.  
     
     
         19 . The computer-readable medium of  claim 1  wherein the user interface definitions are provided in a binary file format.  
     
     
         20 . A system for automatically generating user interface windows for interacting with at least one computer program, comprising: 
 loading at least one primary user interface description file, wherein the at least one primary user interface description file specifies any of user interface elements to be included in a user interface window, general relationships between the user interface elements, and zero or more event handlers to be associated with particular user interface elements; and    interpreting the at least one primary user interface description file for arranging the at least one user interface elements for at least one user interface window and automatically rendering the at least one user interface window for interfacing with at least one computer program.    
     
     
         21 . The system of  claim 20  wherein the at least one primary user interface description file is stored separately from compiled source code representing the at least one computer program.  
     
     
         22 . The system of  claim 20  wherein at least one of the primary user interface description files is automatically downloaded from a remote server computer.  
     
     
         23 . The system of  claim 20  wherein at least one of the primary user interface description files is updated while the at least one computer program is running.  
     
     
         24 . The system of  claim 23  further comprising automatically laying out and rendering at least one updated user interface window based on the at least one updated primary user interface description file for interfacing with at least one computer program while the at least one computer program continues to run.  
     
     
         25 . The system of  claim 20  further comprising at least one alternate user interface description file, said at least one alternate user interface description file including any of at least one localization user interface description file and at least one global user interface description file.  
     
     
         26 . The system of  claim 25  further comprising loading and interpreting the at least one alternate user interface description file for arranging the at least one user interface elements for at least one user interface window and rendering the at least one user interface window.  
     
     
         27 . The system of  claim 26  wherein the at least one localization user interface file provides at least one alternate user interface description for localizing at least one user interface window in at least one alternate language.  
     
     
         28 . The system of  claim 26  wherein the at least one global user interface file provides at least one common setting to be applied to each of the automatically rendered user interface windows.  
     
     
         29 . The system of  claim 26  wherein any of the at least one primary user interface description file, the at least one localization user interface description file, and the at least one globalization user interface file is updated while the at least one computer program is running.  
     
     
         30 . The system of  claim 29  further comprising automatically arranging and rendering at least one updated user interface window based on any of the at least one updated primary user interface description file, the at least one localization user interface description file, and the at least one globalization user interface file for interfacing with at least one computer program while the at least one computer program continues to run.  
     
     
         31 . The system of  claim 25  further comprising binding at least one user interface element with at least one event handler as specified in any of the at least one primary user interface description file, the at least one localization user interface description file and at the least one global user interface description file.  
     
     
         32 . The system of  claim 20  further comprising at least one set of dynamic layout rules for automatically arranging the user interface elements within each automatically rendered user interface window.  
     
     
         33 . The system of  claim 32  wherein the at least one set of dynamic layout rules interprets any general relationships between the user interface elements specified in the at least one primary user interface description file for automatically arranging the user interface elements within each automatically rendered user interface window.  
     
     
         34 . The system of  claim 32  wherein the at least one set of layout rules provides for any of automatic horizontal layout, vertical layout, row-based flow layout, column-based flow layout, table-based layout, and overlapping layout for the user interface elements specified in the at least one user interface description file.  
     
     
         35 . The system of  claim 32  wherein the at least one user interface windows are resizable.  
     
     
         36 . The system of  claim 35  further comprising dynamically rearranging the at least one user interface element based on the at least one set of layout rules when the at least one user interface window is resized.  
     
     
         37 . The system of  claim 20  wherein the at least one user interface elements include any of button controls, hyperlink controls, labels, rich labels, check boxes, radio buttons, text boxes, combo boxes, dropdown lists, list boxes, lines, group headings, list views, popup container controls, color pickers, progress bars, HTML controls, customizable ActiveX objects, images, vector graphics, animations, video clips, and audio clips.  
     
     
         38 . The system of  claim 20  further comprising at least one set of resource data which is referenced by the at least one primary user interface description file for including resources represented by the resource data in the at least one automatically rendered user interface window.  
     
     
         39 . The system of  claim 25  further comprising at least one set of resource data which is referenced by the at least one alternate user interface description file for including resources represented by the resource data in the at least one automatically rendered user interface window.  
     
     
         40 . The system of  claim 20  further comprising automatic error checking of the at least one primary user interface description file for validating the at least one primary user interface description file prior to automatically instantiating the at least one user interface window.  
     
     
         41 . The system of  claim 25  further comprising automatic error checking of any of the at least one primary user interface description file, the at least one localization user interface description file and the at least one global user interface description file for validating those user interface description files prior to automatically instantiating the at least one user interface window.  
     
     
         42 . A computer-implemented process for describing user interface windows, comprising using a computing device to: 
 create at least one user interface (UI) definition file;    wherein each UI definition file includes descriptions of any UI elements that are to be used in automatically instantiating at least one UI window;    wherein at least one of the UI definition files includes descriptions of any listeners that are to be associated with one or more of the UI elements for providing an interface between the UI elements and one or more computer programs; and    wherein the at least one UI definition file includes descriptions of any parent, child, and sibling relationships between each UI element within each UI window.    
     
     
         43 . The computer-implemented process of  claim 42  further comprising: 
 automatically reading and interpreting the at least one UI definition file; and  
 automatically instantiating the at least one UI window based on the at least one UI definition file.  
 
     
     
         44 . The computer-implemented process of  claim 42  wherein the at least one UI definition file includes any of at least one primary UI definition file, at least one localization UI definition file and at least one global UI definition file.  
     
     
         45 . The computer-implemented process of  claim 44  wherein the at least one localization UI definition file provides at least one alternate UI definition for localizing at least one UI window in at least one alternate language.  
     
     
         46 . The computer-implemented process of  claim 44  wherein the at least one global UI definition file provides at least one common setting to be applied to each UI window.  
     
     
         47 . The computer-implemented process of  claim 43  wherein the at least one UI definition file is stored separately from compiled source code representing the one or more computer programs, and wherein the at least one UI definition file is capable of being modified while the one or more computer programs are running.  
     
     
         48 . The computer-implemented process of  claim 42  wherein at least one of the UI definition files is automatically downloaded from a remote server computer.  
     
     
         49 . The computer-implemented process of  claim 42  further comprising at least one set of dynamic layout rules.  
     
     
         50 . The computer-implemented process of  claim 49  wherein the at least one set of dynamic layout rules interprets any general relationships between the UI elements specified in the at least one UI definition file for automatically arranging the UI elements within each automatically instantiated user interface window.  
     
     
         51 . The computer-implemented process of  claim 49  wherein the at least one set of layout rules provides for any of automatic horizontal layout, vertical layout, row-based flow layout, column-based flow layout, table-based layout, and overlapping layout for the user interface elements specified in the at least one UI definition file.  
     
     
         52 . The computer-implemented process of  claim 43  further comprising at least one set of dynamic layout rules for automatically arranging the UI elements within each automatically instantiated UI window.  
     
     
         53 . The computer-implemented process of  claim 52  wherein the at least one UI windows are resizable.  
     
     
         54 . The computer-implemented process of  claim 53  further comprising dynamically rearranging the at least one UI element based on the at least one set of layout rules when the at least one UI window is resized.  
     
     
         55 . The computer-implemented process of  claim 42  wherein the at least one UI elements include any of button controls, hyperlink controls, labels, rich labels, check boxes, radio buttons, text boxes, combo boxes, dropdown lists, list boxes, lines, group headings, list views, popup container controls, color pickers, progress bars, HTML controls, customizable ActiveX objects, images, vector graphics, animations, video clips, and audio clips.  
     
     
         56 . The computer-implemented process of  claim 43  further comprising at least one set of resource data which is referenced by the at least one UI definition file for including resources represented by the resource data in the at least one automatically instantiated UI window.  
     
     
         57 . The computer-implemented process of  claim 20  further comprising automatic error checking and validation of the at least one UI definition file.

Join the waitlist — get patent alerts

Track US2004056894A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.