Aspects of the invention relate generally to type-ahead hints in software systems, and more particularly, to a type-ahead hint system with dynamically configurable user preferences.
Type-ahead hint systems are used to aid users to improve input speed and choose the right word(s) and/or phrases. The type-ahead hint lists drawn from a type-ahead hint system are often voluminous. Users vary greatly in their particular matching desires however. The look-ahead hint (e.g., word, phrase, etc.) first provided by the type-ahead hint system may be entirely accurate for a first user, but nowhere near adequate for a second user. Further, often the same user's desires for hint matchability even varies during different sessions and/or over the course of the same session. As such, the likelihood that the specific input string entered by the user under the type-ahead hint system will provide the “correct”, or desired, type-ahead hint for that particular user during a session is greatly diminished.
In order improve the general quality of the hints provided, some type-ahead hint systems limit the hints to those based on statistics of an entire user population. Amongst other shortcomings, this type of user-wide statistical embellishment can waste additional server resources by providing hints that are rarely selected, thus making it counterproductive.
Accordingly, there is an opportunity to improve upon the effectiveness of type-ahead hint systems.
Aspects of the invention provide an improved solution in type-ahead hint systems.
A first aspect of the invention provides a method for providing type-ahead hints, the method comprising: receiving an input string; providing a configurable preference interface; obtaining a preference from the interface; and generating at least one type-ahead hint, based upon the input string and the preference.
A second aspect of the invention provides a system for providing type-ahead hints, the system comprising: a module for receiving an input string; a module for providing a configurable preference interface; a module for obtaining a preference from the interface; and a module for generating at least one type-ahead hint, based upon the input string and the preference.
A third aspect of the invention provides a computer program comprising program code stored on a computer-readable medium, which when executed, enables a computer system to implement a method for providing type-ahead hints, the method comprising: receiving an input string; providing a configurable preference interface; obtaining a preference from the interface; and generating at least one type-ahead hint, based upon the input string and the preference.
A fourth aspect of the invention provides a method of generating a system for providing type-ahead hints, the method comprising: providing a computer system operable to: receive an input string; provide a configurable preference interface; obtain a preference from the interface; and generate at least one type-ahead hint, based upon the input string and the preference.
A fifth aspect of the invention provides a data processing system for providing type-ahead hints, comprising: a processing unit; a bus coupled to the processing unit; and a memory medium coupled to the bus comprising program code, which when executed by the processing unit causes the data processing system to: receive an input string; provide a configurable preference interface; obtain a preference from the interface; and generate at least one type-ahead hint, based upon the input string and the preference.
A sixth aspect of the invention provides computer software embodied in at least one propagated signal for providing type-ahead hints, the at least one propagated signal comprising instructions for causing at least computer system to: receive an input string; provide a configurable preference interface; obtain a preference from the interface; and generate at least one type-ahead hint, based upon the input string and the preference.
A seventh aspect of the invention provides a business method for managing a method for providing type-ahead hints, the business method comprising: managing a network that includes at least one computer system that performs the process described herein; and receiving payment based on the managing.
The illustrative aspects of the invention are designed to solve one or more of the problems herein described and/or one or more other problems not discussed.
These and other features of the invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:
It is noted that the drawings are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
As indicated above, aspects of the invention provide an improved solution for type-ahead hint systems. In an embodiment of the invention, a method for providing type-ahead hints comprises: receiving an input string; providing a configurable preference interface; obtaining a preference from the interface; and generating at least one type-ahead hint, based upon the input string and the preference. As used herein, unless otherwise noted, the term “set” means one or more (i.e., at least one); the term “input string” means, in any quantity, a symbol, letter, numeral, and/or combinations thereof; and the phrase “any solution” means any now known or later developed solution.
Turning to the drawings,
Computing device 14 is shown including a processor 20, a memory 22A, an input/output (I/O) interface 24, and a bus 26. Further, computing device 14 is shown in communication with an external I/O device/resource 28 and a storage device 22B. In general, processor 20 executes program code, such as hint generating component 30, which is stored in a storage system, such as memory 22A and/or storage device 22B. While executing program code, processor 20 can read and/or write data, such as user profile(s) 40, etc. to/from memory 22A, storage device 22B, and/or I/O interface 24. Bus 26 provides a communications link between each of the components in computing device 14. I/O device 28 can comprise any device that transfers information between a user 16 and computing device 14 and/or other elements and computing device 14. To this extent, I/O device 28 can comprise a user I/O device to enable an individual user 16 to interact with computing device 14 and/or a communications device to enable an element (e.g., display 36) to communicate with computing device 14 using any type of communications link.
In any event, computing device 14 can comprise any general purpose computing article of manufacture capable of executing program code installed thereon. However, it is understood that computing device 14 and hint generating component 30 are only representative of various possible equivalent computing devices that may perform the process described herein. To this extent, in other embodiments, the functionality provided by computing device 14 and hint generating component 30 can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Similarly, computer system 12 is only illustrative of various types of computer systems for implementing aspects of the invention. For example, in one embodiment, computer system 12 comprises two or more computing devices that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the process described herein, one or more computing devices in computer system 12 can communicate with one or more other computing devices external to computer system 12 using any type of communications link. In either case, the communications link can comprise any combination of various types of wired and/or wireless links; comprise any combination of one or more types of networks; and/or utilize any combination of various types of transmission techniques and protocols.
As discussed herein, hint generating component 30 enables computer system 12 to provide dynamically configurable user preferences in a type-ahead hint system. To this extent, hint generating component 30 is shown including an input module 32, a preference interface module 34, and a type-ahead hint module 36. Operation of each of these modules is discussed further herein. However, it is understood that some of the various modules shown in
Aspects of the invention provide an improved solution for type-ahead hint systems that employs dynamically configurable user preferences in a type-ahead hint system. To this extent,
Aspects of the invention allow the computer system 12 employing the hint generating component 30 to dynamically configure user preferences. As a result, accurate and more useful (e.g., matchable) type-ahead hints are generated for the user. Ultimately, time and system throughputs are saved. Referring to
The preference interface module 34 may interact with both the input module 32, the type-ahead hint module 36, and/or the user profile 40. The preference interface module 34 provides a configurable preference interface (CPI) to the user 16 (
Various examples of the CPIs in a graphical user interface (GUI) setting, provided by the preference interface module 34 are shown in
The three examples provided depict preferences for certain subjects 44 for the same hypothetical user 16. The user 16 has the greatest interest in the subject of finance; a second interest in the arts; a moderate interest in food; and the least interest of the five categories in human resources and sports. Referring to
Similarly,
Returning to
In another embodiment, the invention provides a computer program stored on a computer-readable medium, which when executed, enables a computer system to provide dynamically configurable user preferences in a type-ahead hint system. To this extent, the computer-readable medium includes program code, such as hint generating component 30 (
In another embodiment, the invention provides a method of generating a system for providing dynamically configurable user preferences in a type-ahead hint system. In this case, a computer system, such as computer system 12 (
In still another embodiment, the invention provides a business method that manages a method for providing dynamically configurable user preferences in a type-ahead hint system, which enables users to perform the process described herein on a subscription, advertising, and/or fee basis. That is, a service provider could offer to manage a network and/or a computer system 12 (
As used herein, it is understood that “program code” means any set of statements or instructions, in any language, code or notation, that cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, program code can be embodied as any combination of one or more types of computer programs, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing, storage and/or I/O device, and the like.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to an individual in the art are included within the scope of the invention as defined by the accompanying claims.