The present invention generally relates to methods and systems for entering data. More particularly, the present invention relates to a graphic user interface for entering data in an efficient manner.
Data may be exchanged between a client and a server over a network. For instance, when the network comprises the Internet, the client may connect with the network using, for example, an Internet browser. Likewise, the server may be connected to the network through a server network access interface (“access interface”). In some situations, the client may access application programs on the server. For example, the client may execute an application program via the access interface on the server over the network through the Internet browser on the client and the server access interface on the server. During execution, the application program may be configured to cause one or more windows to be displayed on the client, while the access interface may be configured to support a separate communication channel for each window displayed on the client. Thus, the conventional strategy is to maintain separate communication channels between the client and the server for each window displayed on the client. Certain access interfaces, however, are not capable of maintaining two communication channels. Such access interfaces are therefore unable to support the application program's ability to maintain more than one window at a time, preventing the user from utilizing the features of applications that are designed to be displayed in a second window.
Frequently, applications require a user to enter data in order to facilitate a transaction of some nature. For instance, a user may be required to enter a date on which he wants to reserve a hotel room. Often, such data is entered through a second window that is opened by engaging a link from the first window. Many times, such data is entered via multiple drag-down menus. For example, an application requiring the user to enter a precise time may display three separate drag-down menus from which the user must select the appropriate hour, minute and second, respectively. A fourth menu may be required to apply A.M. or P.M. to the selected hour value. Particularly in the case of minutes and seconds, this procedure is burdensome and time-consuming, forcing the user to scroll through as many as sixty incremental values before reaching the appropriate entry. Drag-down menus of the type designed to allow a user to scroll through available values using a point-and-click device can also be unreliable in that it is easy for the user to inadvertently and unknowingly slide the cursor past the correct value, leading to the exchange of incorrect information. Drag-down menus may be similarly awkward and time-consuming for the entry of dates, such as date of birth, requiring the user to separately scroll to the appropriate year, month and day. Depending on the array of potential year values, a user may have to scroll through several dozen years, as well as up to thirty-one days, to enter the correct date.
A system for entering data, implemented with a computer processor, streamlines the process of entering multiple data values. More particularly, the system for entering data may comprise a graphical user interface (GUI) operative to display a list of first values from which a user may select. The GUI may automatically display, after the user has selected a first value form the list of first values, a list of second values from which the user may select a second value. The GUI may be operative to display a second value increase/decrease feature that the user may engage to incrementally increase or decrease the second value at any point in the data entry process.
A method performed by a processor facilitates the entry of data into a computer application. The method includes: (ii) displaying a list of first values on a graphical user interface; (ii) selecting a first value; (iii) automatically displaying a list of second values in increments greater than one on the graphical user interface after selecting one of said first values; (iv) selecting one of the second values; and (v) displaying a second value increase/decrease feature that allows the second value to be adjusted in increments of one at any point in the time entry procedure.
A computer-readable medium contains instructions, the execution of which causes a computer to perform a method for facilitating the entry of data through a user interface. The method includes: (i) receiving, on a client, first content data from a server, the first content data configured to cause a first window to be displayed on the client, the first window requiring the user to enter information into at least one field wherein, to enter information into the at least one field, the user may open a second window adapted to transfer information entered into the second window to the server; (ii) displaying in the second window a list of first values from which the user may select, and further providing a first value increase/decrease feature allowing the user to incrementally raise or lower the selected first value at any step in the information entry process; (iii) automatically displaying in the second window, after the user has selected a first value from the list of first values, a list of second values from which the user may select a second value, and further providing a second value increase/decrease feature allowing the user to incrementally raise or lower the selected second value at any step in the information entry process; and (iv) transmitting the selected first value and second value from the second window to the server.
A system for entering data may comprise a GUI operative to display a list of first values from which a user may select a first value. The GUI may simultaneously display a list of second values from which the user may select a second value. The GUI may also simultaneously display a second value increase/decrease feature that the user may engage to incrementally increase or decrease the second value at any point in the data entry process. The GUI may also simultaneously display a link that the user may engage to finalize the data entry process.
Accordingly, the disclosed system and method may be used to enter data in an efficient and reliable manner. The data entry system efficiently reacts to user input to speed the flow of data entry, while maintaining flexibility to allow the user to alter previously entered values throughout the process. Further features and embodiments of the invention will become apparent from the description and the accompanying drawings.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and should not be considered restrictive of the scope of the invention, as described and claimed. The foregoing background and summary are not intended to provide any independent limitations on the claimed invention.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments and aspects of the present invention. In the drawings:
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the invention are described herein, modifications, adaptations and other implementations are possible without departing from the spirit and scope of the invention. For example, substitutions, additions and/or modifications may be made to the components illustrated in the drawings, and the exemplary methods described herein may be modified by substituting, reordering, or adding steps to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
Systems and methods consistent with the principles of the present invention exchange data between a client and a server. More particularly, the system exchanges data through a server network access interface using an application program executed on the server configured to maintain more than one window at a time on the client. For example, a client may execute an application program located on a server. In order to accomplish this application program execution, the client and server may communicate over a network. To carry out this network communication, the client may connect to the network using an Internet web browser, and the server may connect to the network using an access interface. During execution, the application program may attempt to display more than one window on the client. In some instances, the access interface may not support the application program in displaying more than one window on the client. In this case, the communication between the client and server may fail.
Consistent with the principles of the present invention, when a first (or primary) window associated with the application program is opened on the client, data associated with content for display on a second window associated with the first window may flow to the client through a first communication channel associated with the first window. If a user selects a user selectable element on the first window directed toward causing the second window to be displayed on the client, the second window is caused to be displayed by the client and not by the server. In other words, a second communications channel associated with the second window need not be established between the client and the application program. For example, a second communication channel associated with the second window need not be established, rather any data associated with the second window displayed on the client may be communicated to the application program using the first communication channel associated with the first window. Accordingly, only one communication channel need be established for data associated with both the first and second windows. A second communication channel need not be established for data associated with the second window; instead, data associated with the second window may flow to the application through the first communication channel associated with the first window. Consequently, the access interface only needs to support one communication channel to the client and communication between the client and server will not fail, even though it appears that two communication channels are open simultaneously.
An embodiment consistent with the principles of the invention may comprise a system for obtaining data from an access interface. The system may comprise a memory storage for maintaining a database and a processing unit coupled to the memory storage. The processing unit may be operative to receive first content data from a server, the first content data configured to cause a first window to be displayed, the first window comprising at least one user selectable element configured to cause, when selected, a second window to be displayed wherein second content data for the second window is supplied from the memory storage. Furthermore, the processing unit may be operative to transmit, to the server through the first window, input data entered in the second window.
Consistent with the principles of the present invention, the aforementioned memory, processing unit, and other components may be implemented in a data exchanging system, such as an exemplary data exchanging system 100 of
Furthermore, the data exchanging system may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. The data exchanging system may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, the data exchanging system may be practiced within a general purpose computer or in any other circuits or systems.
By way of a non-limiting example,
Server 105 may include a server network access interface software module 106 (e. g. an access interface) and a server application software module 108. While
Client 110 may include a processing unit 125 and a memory 130. Memory 130 may include a data gathering software module 135, a client network interface software module 137, and a database 140. Software module 135 residing in memory 130 may be executed on processing unit 125, may access database 140, and may implement processes in conjunction with exchanging data such as the method described below with respect to
Server 105 or client 110 (“the processors”) included in system 100 may be implemented using a personal computer, network computer, mainframe, or other similar microcomputer-based workstation. However, the processors may comprise any type of computer operating environment, such as hand-held devices, multiprocessor systems, microprocessor-based or programmable sender electronic devices, minicomputers, mainframe computers, and the like. The processors may also be practiced in distributed computing environments where tasks are performed by remote processing devices. Furthermore, any of the processors may comprise a mobile terminal, such as a smart phone, a cellular telephone, a cellular telephone utilizing wireless application protocol (WAP), personal digital assistant (PDA), intelligent pager, portable computer, a hand held computer, a conventional telephone, or a facsimile machine. The aforementioned systems and devices are exemplary and the processor may comprise other systems or devices.
Network 120 may comprise, for example, a local area network (LAN) or a wide area network (WAN). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet, and are known by those skilled in the art. When a LAN is used as network 120, a network interface located at any of the processors may be used to interconnect any of the processors. When network 120 is implemented in a WAN networking environment, such as the Internet, the processors may typically include an internal or external modem (not shown) or other means for establishing communications over the WAN. Further, in utilizing network 120, data sent over network 120 may be encrypted to insure data security by using known encryption/decryption techniques.
In addition to utilizing a wire line communications system as network 120, a wireless communications system, or a combination of wire line and wireless may be utilized as network 120 in order to, for example, exchange web pages via the Internet, exchange e-mails via the Internet, or for utilizing other communications channels. Wireless can be defined as radio transmission via the airwaves. However, it may be appreciated that various other communication techniques can be used to provide wireless transmission, including infrared line of sight, cellular, microwave, satellite, packet radio, and spread spectrum radio. The processors in the wireless environment can be any mobile terminal, such as the mobile terminals described above. Wireless data may include, but is not limited to, paging, text messaging, e-mail, Internet access and other specialized data applications specifically excluding or including voice transmission.
Next, client 110 may receive the first content data (stage 320). For example, the first content data may be received by client 110 through client network interface software module 137 (e.g. Internet web browser) from network 120. Once received, software module 137 may display the first content data in the first window on a monitor (not shown) connected to client 110.
Once client 110 receives the first content data, data exchange method 300 may transmit input data entered in second window 505 to server 105 through first communication channel (stage 330). For example, after client 110 transmits the input data, server 105 may receive the input data via the first communication channel (stage 340).
Alternatively, user 115 may use a mouse to select a user selectable element 410 on first window 405. After user selectable element 410 is selected, a second window 505 may be displayed, as shown in
As described with respect to
As mentioned above, second window 505 may be adapted to receive data input, or a series of data values, from a user and transfer that information to one or more fields of first window 405. While the methods and systems for data entry are described in regard to entering data into second window 505 for transfer to first window 405, it is understood that this is exemplary only, and that the methods and systems for data entry described herein are not limited to the manner of exchanging data between a client and a server as described above.
Second window 505 may be operative to initially display an array or list of first values from which the user may select. After the user has selected a first value, second window 505 may be configured to automatically load an array of second values. Once the second value has been selected, second window 505 may be operative to load an array of third values, and so forth. Each value entered by the user may be a component of a single field of information requested by first window 405, or each value may correspond to a separate requested field.
In one embodiment, second window 505 may be adapted to receive time entry information from the user. Second window 505 may function to streamline the data collection process in order to alleviate the need for the user to manually type the time information into separate fields or, potentially more burdensome, to scroll through as many as four different drag-down menus to select: (i) the appropriate hour value; (ii) A.M. or P.M.; (iii) the appropriate minute value; and (iv) the appropriate seconds value.
After the user has selected an hour value 512, second window 505 may be adapted to load a minute display 520 that may allow the user to select the appropriate minute value 522. In one aspect, minute display 520 may be oriented in an analog clock face pattern similar to hour display 510. As shown in
In order to provide for occasions in which the user desires to enter a minute value 522 that does not correspond to one of the five-minute increments 524 shown in
In one aspect, as illustrated in
Although the exemplary hour displays 510 shown in
Second window 505 may also comprise a link 546 that the user may select once he has completed the time entry process. Link 546 may be adapted to transfer the time entry from second window 505 to the designated field or fields of first window 405 or directly to a network application. Alternatively, second window 505 may be adapted to automatically transfer the entered data once the user has entered a value for hours, minutes and seconds.
There are numerous variations for the time entry user interface consistent with the present invention. For instance, in one embodiment shown in
In another version, in order to avoid the need for the user to pass through two consecutive hour displays 510 or to select an A.M./P.M. link, hour display 510 may simultaneously present both A.M. hours 516 and P.M. hours 518. Second window 505 may be adapted to load minute display 520 once the user selects an hour value 512 from either A.M. hours 516 or P.M. hours 518. This embodiment may be presented in a number of ways. For example, as shown in
In yet another embodiment of the data entry graphic user interface, second window 505 may be operative to display hour display 510, minute display 520 and seconds display 530 simultaneously. Like the embodiments previously described, this version may be accomplished in numerous ways. In one aspect, shown in
Alternatively, second window 505 may provide hour display 510, minute display 520 and seconds display 530 simultaneously, but may present the displays in a manner other than concentric circles. For example, hour display 510, minute display 520 and seconds display 530 may all be presented as analog clock faces, but rather than being concentric to one another, they may be side-by-side or arranged vertically.
In another embodiment consistent with the present invention (not pictured), second window 505 may function as a date entry graphic user interface. In one version, second window 505 may first load a predetermined listing of years from which the user may select, such as, for example, every year between 1970 and 2000. After the user selects the desired year value, second window 505 may be adapted to load a list of months, either all twelve months or some portion of them as necessary for the particular application. After the user selects the appropriate month, second window 505 may be adapted to load a listing of the days in the selected month from which the user may choose. Similar to the time entry embodiment described above, the date entry embodiment may comprise increase/decrease buttons for the year, the month, and the day to allow the user to change each of those values at any point in the date entry process.
In one version, second window 505 may present the month or day values to the user before the year values. Depending on the manner of use, month or day values may change more frequently than year values, and the system may be operative to save the user a step by allowing him to choose the appropriate month and day in the manner described above, and by further displaying a default year that the user does not have to change unless necessary. Also, a date entry user interface may incorporate the various embodiments of data entry user interfaces described above in regard to time entry interfaces, including versions in which the year, month and date values are displayed in second window 505 simultaneously, so that second window 505 is not required to load multiple screens.
While certain features and embodiments of the invention have been described, other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments of the invention disclosed herein. Further, the steps of the disclosed methods may be modified in any manner, including by reordering steps and/or inserting or deleting steps, without departing from the principles of the invention.
It is intended, therefore, that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims and their full scope of equivalents.