WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Single-document active user interface, method and system for implementing same    
United States Patent6192381   
Link to this pagehttp://www.wikipatents.com/6192381.html
Inventor(s)Stiegemeier; Mark R (Park City, UT); Hacking; Cory L. (St. George, UT)
AbstractA data management system user interface allows users to enter, store, retrieve, and display multiple, related groups of information in a single document. The interface loads document data into a separate template which defines various fields, and the interface determines the fields that should be displayed based on the information entered by the user. The user enters an unlimited amount of data into each field, thus creating a free-flowing document, and the user can create groups of entries for each field. The interface also contains a data validation and error correction feature, that provides automatic correction, prompts for manual correction, and allows the user to save a draft document with a list of errors for future correction at a later date.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6192381
Single-document active user interface, method and system for implementing

     same - US Patent 6192381 Drawing
Single-document active user interface, method and system for implementing same
Inventor     Stiegemeier; Mark R (Park City, UT); Hacking; Cory L. (St. George, UT)
Owner/Assignee     MEGG Associates, Inc. (Richmond, VA)
Patent assignment
All assignments
Publication Date     February 20, 2001
Application Number     09/165,354
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 2, 1998
US Classification     715/505 715/500 715/506 715/508
Int'l Classification     G06F 015/00 G06F 017/00
Examiner     Feild; Joseph H.
Assistant Examiner     Kindred; Alford W.
Attorney/Law Firm     Villacorta; Gilberto M. Pepper Hamilton LLP
Address
Parent Case     This application claims priority from U.S. provisional patent application No. 60/061,025, filed Oct. 6, 1997, incorporated herein by reference.
Priority Data    
USPTO Field of Search     707/505 707/504 707/506 707/507 707/508 707/526 707/507 707/508 707/521 707/500 707/908 345/433 345/326 345/333 345/335
Patent Tags     single-document active user interface, implementing
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
6026433
D'Arlach
709/217
Feb,2000

[0 after 0 votes]
5963967
Umen
715/513
Oct,1999

[0 after 0 votes]
5924109
Ackerman
715/531
Jul,1999

[0 after 0 votes]
5900002
Bottomly

May,1999

[0 after 0 votes]
5835712
DuFresne
709/203
Nov,1998

[0 after 0 votes]
5806071
Balderrama
707/104.1
Sep,1998

[0 after 0 votes]
5619685
Schiavone
703/20
Apr,1997

[0 after 0 votes]
5530961
Janay
715/744
Jun,1996

[0 after 0 votes]
5267155
Buchanan
715/540
Nov,1993

[0 after 0 votes]
5043891
Goldstein
715/531
Aug,1991

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising:

(a) loading a document containing data from the storage device;

(b) loading a template containing format instructions and at least one data field from the storage device, each data field having a size that is not limited by the data management system;

(c) linking the document with the template; and

(d) displaying the document and the data within the document responsive to the template on the display device as specified by the format instructions.

2. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the steps of:

(a) loading, prior to the displaying step, a client script program;

(b) entering, after the displaying step, by a user, additional data having size and format;

(c) validating, via the client script program, at least one of the size and format of the data; and

(d) adjusting, via the client script program, the data to result in valid data.

3. The method of entering, storing, displaying, and retrieving data according to claim 1,

wherein the format instructions create one or more fields which are displayed on the display device, the one or more fields having field identifications, formats and locations, the data having data identifications, and

wherein the linking step links data to fields where the data identifications and field identifications at least one of substantially and logically match.

4. The method of entering, storing, displaying, and retrieving data according to claim 3, wherein said method further comprises the steps of:

(a) determining, via the client script program, the data fields that are relevant based on the additional data and predetermined criteria; and

(b) modifying, on the display device, the displayed data by at least one of hiding, deactivating and removing the data fields that are not relevant.

5. The method of entering, storing, displaying, and retrieving data according to claim 4, further comprising the step of modifying, by the client script program, on the display device, the locations of the data fields.

6. The method of entering, storing, displaying, and retrieving data according to claim 3, wherein said method further comprises the steps of:

(a) identifying the data fields which require entry of the additional data;

(b) identifying the additional data which requires validation; and

(c) displaying a list of the data fields which require the entry of the additional data and the additional data which requires the validation.

7. The method of entering, storing, displaying, and retrieving data according to claim 1, wherein the data management device is one of a computer, a computer network, and a portable electronic device used over at least one of a local area network, a global network, the Internet, optionally using thin client processing.

8. The method of entering, storing, displaying, and retrieving data according to claim 1, wherein the document and the template each contain template codes in order to link at least one document with at least one template with at least substantially identical template codes.

9. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the steps of:

(1) entering, by the user, a plurality of additional data;

(2) validating, by the computer, that the plurality of additional data is in substantial conformance with a predetermined format, as the user enters the plurality of additional data;

(3) when the plurality of additional data is not in conformance with the predetermined format, creating a "to do list" for review and correction by the user at a later time; and

(4) repeatedly performing said steps (1)-(3), continuously adding to the "to do list", and allowing the user to continue to enter the plurality of additional data.

10. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the step of entering, by the user, a plurality of additional data in accordance with a free form data entry format, the free form data format including unlimited field sizes, and the user not being restricted in size of an entry for a particular field.

11. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the steps of:

(1) entering, by the user, a plurality of additional data, the plurality of additional data including multiple groups with multiple entries of data for a substantially same field or substantially same set of fields;

(2) managing, by the data management system, the plurality of the additional data including the multiple groups with the multiple entries of data in at least one of a single document, single logical document and file, by maintaining each of the multiple entries directly after each other corresponding with each of the multiple groups.

12. The method of entering, storing, displaying, and retrieving data according to claim 11, further comprising the step of displaying only the field in the substantially same field or the substantially same set of fields corresponding to the entry selected by the user.

13. The method of entering, storing, displaying and retrieving data according to claim 11, further comprising the step of entering by the user a number of entries having a size that is not limited by the data management system into at least one of the multiple groups.

14. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the steps of:

(1) entering, by the user, a plurality of additional data, the plurality of additional data including multiple groups with multiple entries of data;

(2) linking a word processing program to the data management system;

(3) transmitting the plurality of additional data from the data management system to the word processing program, wherein each of the groups is an instance of a data object in an object oriented programming environment; and

(4) formatting by the word processing program the plurality of additional data for at least one of print previewing, printing and displaying, including converting each instance of each of the groups into separate data representative of each of the groups.

15. The method of entering, storing, displaying, and retrieving data according to claim 1, further comprising the steps of:

(1) entering, by the user, a plurality of additional data, the plurality of additional data including multiple groups with multiple entries of data;

(2) linking a word processing program to the data management system;

(3) transmitting the plurality of additional data from the data management system to the word processing program; and

(4) formatting by the word processing program the plurality of additional data for at least one of print previewing, printing and displaying, including converting each of the multiple entries of the multiple groups into separate formatted data representative of each of the multiple groups.

16. The method of entering, storing, displaying, and retrieving data according to claim 1, wherein the data comprises one or more of digitized text and digitized images.

17. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising the steps of:

(1) entering, by the user, a plurality of the data;

(2) validating, by the computer, that the plurality of the data is in substantial conformance with a predetermined format, as the user enters the plurality of the data;

(3) when the plurality of the data is not in conformance with the predetermined format, creating a "to do list" for review and correction by the user at a later time; and

(4) repeatedly performing said steps (1)-(3), continuously adding to the "to do list", and allowing the user to continue to enter the plurality of the data, even though previously the plurality of data is not in conformance with the predetermined format.

18. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising the steps of:

(1) entering, by the user, a plurality of the data including multiple groups with multiple entries of data for a substantially same field or substantially same set of fields;

(2) managing, by the data management system, the plurality of the data including the multiple groups with the multiple entries of data in at least one of a single document, single logical document and file, by maintaining each of the multiple entries directly after each other corresponding with each of the multiple groups; and

(3) displaying only the field in the substantially same field or the substantially same set of fields corresponding to the entry selected by the user.

19. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising the steps of:

(1) entering, by the user, a plurality of the data, the plurality of the data including multiple groups with multiple entries of data;

(2) linking a word processing program to the data management system;

(3) transmitting the plurality of the data from the data management system to the word processing program; and

(4) formatting by the word processing program the plurality of the data for at least one of print previewing, printing and displaying, including converting each of the multiple entries of the multiple groups into separate formatted data representative of each of the multiple groups.

20. A data management system executing the processes in accordance with one of claims 1, 17, 18 or 19.

21. A computer readable tangible medium storing the processes in accordance with one of claims 1, 17, 18 or 19, to be executed by a data management system.

22. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising:

(a) loading a document containing data and a document code from the storage device;

(b) identifying a template containing format instructions, at least one data field having unlimited size and a template code, based on correspondence of the document code and the template code;

(c) loading the template from the storage device;

(d) linking the document with the template; and

(e) displaying the document and the data within the document responsive to the template on the display device as specified by the format instructions.

23. A method of entering, storing, displaying, and retrieving data using a data management system having a display device, one or more input devices, and a storage device, said method comprising:

(a) entering, by the user, a plurality of data through one or more data fields of a template containing format instructions;

(b) identifying, by the data management system, a document corresponding to the data entered by the user;

(c) linking the document with the template;

(d) creating a new document that contains the data entered by the user and relevant data from the identified document; and

(e) displaying, by the data management system, the new document and the data within the new document responsive to the template on the display device as specified by the format instructions.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to a user interface, process and/or architecture for a computer implemented and/or assisted system for managing varying types of data, and more particularly, a user interface, process and/or architecture that allows or provides users the ability to enter, store, retrieve, and display multiple, related groups of information in a single document.

2. Background of the Related Art

In the latter half of the twentieth century, computer systems have proven to be a powerful tool for managing large quantities of data in many different aspects of everyday life. In particular, computer-implemented data management software has given a wide variety of users an easy way to manage both numerical and narrative information. For example, software is available that allows bank personnel to manage customer account information such as deposits, withdrawals, earnings, and fees associated with individual accounts. Many types of business-related software allow companies to manage business information such as personnel records, transaction data, customer records, and financial information.

Data management programs typically contain user interfaces that display a document and contain various fields for user input. Each user input field typically represents a different category of information, and the user typically enters one piece of information per field. For example, a business application may define a "document" as an invoice, and the user interface may display fields where the user may enter products of sale that are accounted for in that invoice. The programs and their interfaces may also contain limited data validation features, such as options that check the spelling of user entries and prompts that advise the user if the format of the user's entries are improper (e.g., if the user entered a letter in a field for which only numbers are valid, the interface may prompt the user to retype the entry).

However, the prior art data management software presents several disadvantages. In particular, the user interfaces used by the existing data management software are inflexible and lack a means to display complex, interrelated data in a manner that hides the data complexity from the user. The prior art data management system user interfaces typically require all data to be displayed in a single display format or "template," and each field must be displayed regardless of whether every individual field is necessary or appropriate for the data contained in the document. Further, existing data management system user interfaces do not allow users to enter multiple instances of data in a single field.

In addition, existing data management systems have defined field sizes, and users are either restricted in the amount of data that can be entered in a field, or required to use forms that include large blank spaces to accommodate large entries regardless of whether such spaces are needed. Finally, the data validation features of existing data management system user interfaces are limited in that they may correct minor items such as typographical errors, or they may prompt the user to re-enter an item, but they contain no means to allow the user to correct, validate, or enter additional information by retrieving it from a another database on a network, and they do not allow the user to save a "draft document" so that the user can enter corrections and missing information and validate the document information at a later date.

If a user interface that avoids these disadvantages were available, data management software could have many new and useful applications. For example, law enforcement officers could use computers or hand-held electronic devices to generate complete case reports in the office, at home, in their car, or at the scene. In addition, the software driving the user interface could automatically prompt the officers to enter only the specific information necessary to document the particular type of incident.

Accordingly, we have determined that it is desirable to provide a user interface, method and/or architecture that displays complex, interrelated data in a manner that does not reveal its complexity to the user.

We have also determined that it is desirable to provide a user interface, method and/or architecture that stores the data and the display template separately, and which links the data with the template when the display is activated.

We have also determined that it is desirable to provide a user interface, method and/or architecture that automatically selects the data fields that should be displayed based on the data that the user enters.

We have also determined that it is desirable to provide a user interface, method and/or architecture that allows users to create free-flowing forms for varying sizes of entered data.

We have also determined that it is desirable to provide a user interface, method and/or architecture that allows users to enter multiple instances of data in a single field.

We have also determined that it is desirable to provide a user interface, method and/or architecture that allows the user to correct, validate, and/or enter additional information by retrieving it from a another database on a network or by saving a "draft document" and entering corrections, missing information and/or validating the information at a later date.

SUMMARY OF THE INVENTION

It is therefore a feature and advantage of the present invention to provide a user interface, method and/or architecture that displays complex, interrelated data in a manner that does not reveal its complexity to the user.

It is another feature and advantage of the present invention to provide a user interface, method and/or architecture that stores data and templates separately and links the data with an appropriate template when the data is displayed.

It is another feature and advantage of the present invention to provide a user interface, method and/or architecture that automatically determines the data fields that should be displayed based on the data that the user enters.

It is another feature and advantage of the present invention to provide a user interface, method and/or architecture that allows the user to create free-flowing forms.

It is another feature and advantage of the present invention to provide a user interface, method and/or architecture that allows the user to enter multiple instances of data in a single field.

It is another feature and advantage of the present invention to provide a user interface, method and/or architecture that allows the user to correct, validate, and/or enter additional information by retrieving it from another database on a network, or by saving a "draft document" and entering corrections, missing information and/or validating the information at a later date.

The above and other features and advantages are achieved through the use of a novel data management system user interface, method and/or architecture as herein disclosed.

Real world computer information often contains a complex web of relationships and data. As electronic documents become more complex, these relationships are easily overlooked. The present invention allows complex data to be stored and retrieved more easily than traditional client/server methods. The present invention is a collection of unique technologies that solve the problem of gathering, viewing, printing, managing, and storing complex information across networks and computer systems. This provides application programmers with an advantage in system development by allowing them to focus their efforts on the product of the system, the output, rather than the form in which the information is gathered.

The present invention is composed of several shared, interactive components:

Application

Documents

Transaction Services

Document Managers

The Application advances the means by which developers consolidate and control the collection, manipulation and management of data. These technologies combine to create a system that is easy to develop with, use, and maintain. The Application can be programmed from a variety of application development environments including C++, Visual Basic, Delphi, Java, Visual Basic Script, Active Server Pages, Web Servers, etc.

Application Documents are a compound collection of template information and subject data. Transaction Services provide a single point of contact through which the Application communicates to other services on the network, standing as a proxy between the Application and the various document managers and other services. When a user wants to edit, view, or print a document, the Application ensures that the latest version of the template exists locally. This includes the latest versions of any associated, dependent programs. If a newer version is available, the system automatically downloads the updated component and properly registers all of its parts with the client operating system, and a request is made through transaction services to the document manager.

A Document Manager is built for each type of document. This server application is responsible for managing access to the document and managing the storage and retrieval of the document to and from document repositories (e.g., a file server, database server or other mass storage device). It is important to note that information can be extracted from any number of sources and combined into a single document. Document managers are also responsible for creating and managing the templates containing the view definitions, tables, document structure, etc. They may also provide services specifically designed for the needs of any client script modules.

In accordance with the preferred embodiment of the present invention, a computer system contains one or more input devices, preferably a keyboard and a mouse; a display device such as a screen; active memory (such as random access memory) within which portions of a program reside while the computer runs the program; and a storage means such as a hard disk, floppy disk, removable drive, or network server. The user employs a "container application" such as Microsoft Windows Explorer or File Manager to load a "document" (i.e., a data file) from the storage means into the computer's active memory. The present invention then retrieves a template and a client script program from the storage device. The template contains the format instructions pursuant to which the computer displays the document on the display device.

The display includes various fields as defined by the template, and the user uses the input devices to enter additional data into the document fields. As the user enters data into the document, the client script program validates the entries by performing functions such as spell checking and correction, field size verification, and linking of entered data with other data that is maintained in either active memory or on a storage means or remote device. The invention automatically adds or removes fields to or from the display based on the information which the user enters in previous fields. In addition, if the user enters multiple items in a single field, the method creates groups of information within that single field.

In accordance with another embodiment of the invention, a computer readable tangible medium is provided that stores the process thereon, for execution by the computer. In accordance with another embodiment of the invention, a computer system is provided that stores the processes described herein.

In accordance with another embodiment of the invention, a computer readable tangible medium is provided that stores an object thereon, for execution by the computer.

There has thus been outlined, rather broadly, the more important features of the invention in order that the detailed description thereof that follows may be better understood, and in order that the present contribution to the art may be better appreciated. There are, of course, additional features of the invention that will be described hereinafter and which will form the subject matter of the claims appended hereto.

In this respect, before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.

As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes of the present invention. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present invention.

Further, the purpose of the foregoing abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers, and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The abstract is neither intended to define the invention of the application, which is measured by the claims, nor is it intended to be limiting as to the scope of the invention in any way.

The scope of the invention, together with other objects of the invention, along with the various features of novelty which characterize the invention, are pointed out with particularity in the claims annexed to and forming a part of this disclosure. For a better understanding of the invention, its operating advantages and the specific objects attained by its uses, reference should be had to the accompanying drawings and descriptive matter which illustrate preferred embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 2 illustrate a computer of a type suitable for implementing and/or assisting in the implementation of the processes described according to the present invention;

FIG. 3 is a flowchart depicting the process whereby the present invention loads and links a document with a template and a client script program;

FIG. 4 is a flowchart that provides a more detailed description of the process of linking a document with a template;

FIG. 5a is a flowchart illustrating the instructions that a template may use to define a display;

FIG. 5b illustrates how the template formats an exemplary document on a display device, wherein the document includes such features as fields of entry as modified by the client script program;

FIGS. 6a-6d illustrate the present invention's ability to display and/or hide data fields in response to user-entered data;

FIG. 6e illustrates the steps which may be taken by the present invention's client script program;

FIG. 7 illustrates the "grouping" feature of the present invention in an exemplary document on a display device;

FIG. 8 illustrates an exemplary application of the present invention to law enforcement data management; and

FIG. 9 illustrates the present invention's ability to display images.

NOTATIONS AND NOMENCLATURE

The detailed descriptions which follow may be presented in terms of program procedures executed on a computer or network of computers. These procedural descriptions and representations are the means used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.

A procedure is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.

The present invention also relates to an apparatus for performing these operations. This apparatus may be specially constructed for the required purpose, or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given.

DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE INVENTION

I. Overview

Real world computer information often contains a complex web of relationships and data. As electronic documents become more complex, these relationships are easily overlooked. The present invention allows complex data to be stored and retrieved more easily than traditional client/server methods. The present invention is a collection of unique technologies that solve the problem of gathering, viewing, printing, managing, and storing complex information across networks and computer systems. This provides application programmers with an advantage in system development by allowing them to focus their efforts on the product of the system, the output, rather than the form in which the information is gathered.

The system is composed of several shared, interactive components:

Application

Documents

Transaction Services

Document Managers

The Application advances the means by which developers consolidate and control the collection, manipulation and management of data. These technologies combine to create a system that is easy to develop with, use, and maintain. The Application can be programmed from a variety of application development environments including C++, Visual Basic, Delphi, Java, Visual Basic Script, Active Server Pages, Web Servers, etc.

Additionally, the uniformity of data collection that is provided by the Application user interface reduces training and retraining time. Users are able to enter and edit information faster, resulting in greater business productivity. The Application introduces a new user interface model for entering information, which presents a consistent and simple interface to the user regardless of the complexity of the data. As information is entered into the system, the user interface adjusts to the amount of the data entered. Read-only documents can display in a different form than the data entry view, giving the ability to make the interface fast and easy to use.

Developers traditionally spend a large amount of time placing prompts, labels and data fields on data entry forms and ensuring that all graphical objects line up property. The Application forms are free flowing, in much the same way as paragraphs of text on a page. Each group can be expanded to show the associated fields. Also, traditional Grid views may be embedded within any group. A field may be used to enter and/or display text and/or images. Thus, complex structured data can be easily presented to the user.

In an effort to increase the readability of the document being edited, the Application only displays control or option boxes and buttons on the currently active field. Prompts that allow a restricted set of values can be associated with a table that contains the list of allowed values and descriptions. In addition to the traditional "drop-down list" view of the possible selections, the Application will search for possible matches as the user types. This allows the user to quickly find a value or group of values from large tables.

The Application introduces a new concept in managing data entry errors and emissions. All errors and incomplete data or actions are displayed in the document "To Do" list. Each error must be corrected before the user is allowed to save the document in anything but a draft form. Whenever a data entry error occurs, the prompt data may be underlined in red, and a new To Do item is created. The user, at any point in the entry process, can click on the item to move to the associated prompt where they can fix the problem.

A script module may optionally be attached to any document during the development process. The Application installs and attaches the script module to the document, and it provides control points to allow custom behaviors to be activated during the edit process. For example, a script module might be activated whenever a certain field is changed. The program can then check to see if the data is appropriate for the given circumstances, perform special formatting, or other validation on the data. If necessary, an appropriate To Do item can also be added to the document.

Each document may optionally contain one or more print formats. The Application combines the document data with the print format to create a new printable document. Currently, this document is viewable by Microsoft Word.TM. or other rich text format (RTF) or other compatible viewer.

The layout manager is responsible for dynamically placing information on the screen. This allows the Application to be used on computers with different screen resolutions as well as different user preferences without special versions of the form needing to be developed. Font sizes may also be adjusted to accommodate different resolutions or users with disabilities.

There are currently two layout models: Free Flow, and Left Aligned. The first mode places prompts and data on the form one right after the other, moving to the next line only when needed. The second mode left aligns all of the prompts so they appear vertically in the window.

The layout manager also accommodates the need to hide or display prompts dynamically. There are times when, based upon data entered, you would like to collect additional information. However, you may not want those fields always displayed. The Application handles this by placing the visible prompts on the screen according to the active layout model.

The Application handles repeating groups of information by displaying summary information in a group header. The Application moves the focus away from developing the front-end data entry form to building refined output reports and printed paper views. The Application handles the process of downloading all of the information necessary to properly edit, view, and print the document. The Application also automatically handles sending the document back to the server when it is complete.

Application Documents are a compound collection of template information and subject data. The Application Template component contains:

Information about the nature of the data that are contained in the Document;

User Interface (UI) view definitions;

Print and print preview definitions;

Data entry and editing validation requirements;

Tables used to assist the user entering data; and

Client scripting code.

All of the control information needed to ensure the completeness and accuracy of the data being collected is contained in the Template. To reduce network traffic, templates are cached on the local computer system. The Application checks that the proper version of the template exists before allowing the user to begin editing. Document view definitions control display and modification of the data but not permanent storage.

This document architecture keeps the data separate from its display and control attributes and from user operations on the subject data. It also allows programs that access the data to do so in a uniform manner, ensuring that the proper data structure is maintained. Multiple views can be attached to documents allowing different users to access documents in ways specific to their individual needs. Documents can be transmitted to other users through traditional email systems. Documents c