Not applicable.
Not applicable.
Not applicable.
Mobile devices may comprise touch screen displays configured to display a keyboard. Due to the small size of the screens, mobile devices may use multiple fixed pages to display the keyboard keys. In such cases, a user clicks a key on one keyboard page to access keys displayed on the following page. Thus, a user has to perform several clicks and go through multiple pages in order to reach a character on the last page. If a character on the last page is often used, the user must perform the several clicks on a regular basis, which makes for an unpleasant user experience.
In an embodiment, a mobile device is provided. The mobile device includes a processor and a touch screen that is coupled to the processor and configured to display a plurality of keyboard pages in a sequential order. The keyboard pages comprise a plurality of relocatable keys, and the relocatable keys are relocatable based on their proportionate frequency of usage.
In an embodiment, provided is a method for reconfiguring a mobile device touch-screen keyboard. The keyboard includes at least a first keyboard page, a second keyboard page, and a third keyboard page, and the keyboard pages contain relocatable keys. The method includes displaying the keyboard pages in a sequential order on a mobile device touch screen. The method includes relocating a first relocatable key from one of the first keyboard page, the second keyboard page, or the third keyboard page to another one of the first keyboard page, the second keyboard page, or the third keyboard page. The relocating is based on the first relocatable key's frequency of execution.
In an embodiment, a computer program product is provided for reconfiguring a plurality of mobile device keyboard pages that comprise a plurality of relocatable keys. The computer program product is stored in a non-transitory medium. The computer program product is configured to designate a weight value to each relocatable key. The computer program product is configured to detect execution of a first relocatable key located on a second page, and increase the weight value of the first relocatable key based on the execution. The computer program product is further configured to relocate the first relocatable key based on the increase in weight.
These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
It should be understood at the outset that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
Mobile devices may comprise touch screens for displaying keyboards containing keys. Due to the small size of the touch screens, the keyboard keys may be displayed by way of a plurality of sequentially accessible keyboard pages (e.g., a first keyboard page, a second keyboard page, and a third keyboard page). In operation, upon a user accessing the keyboard, a first page is displayed on the screen, thereby allowing the user to execute keys on the first page. If the user then wishes to use a key on the second page, the user first gains access to the second page by clicking a “jump to second page” key. Likewise, if the user has access to the first page but wishes to use a key on the third page, then the user first clicks the “jump to second page” key in order to access the second page and, from the second page, clicks the “jump to third page” key in order to access the third page. For users that use character keys on the third page frequently, the repetitious clicking of the “jump to” keys may serve as time consuming and burdensome. Accordingly, disclosed herein is a reconfigurable keyboard for incorporation into a mobile device that reduces the number of times a user must click the “jump to” keys throughout usage. In doing so, the disclosed reconfigurable keyboard relocates keys so that frequently used keys are more easily accessible to the user.
The mobile device may comprise a processor that is configured to monitor a user's usage of the keys and reconfigure the keyboard accordingly. Reconfiguring the keyboard may comprise relocating frequently used keys to keyboard pages that are more accessible to the user. Thus, the reconfigurable keyboard adapts to each particular user and thereby offers a more time efficient and pleasant user experience.
In an embodiment, some of the character keys are relocatable while other character keys are non-relocatable but remain on their initial pages. For example, in an embodiment, the alphabetic keys are non-relocatable and thus remain on the first page, and the numerical keys are non-relocatable and thus remain on the second page, while the special character keys are relocatable and move among pages according to their usage. In an embodiment, the user is capable of controlling the settings in order to choose which character keys are non-relocatable.
Reconfiguration may take place by way of a processor that is configured to monitor the usage of the character keys and reconfigure the keyboard according thereto. In doing so, the processor may first designate to each relocatable key a particular weight. The mobile device may be sold to a user with all the weights of the character keys on each page equal to one another. For example, the character keys on the first page are each designated a first weight value, the character keys on the second page are each designated a second weight value, and the character keys on the third page are each designated a third weight value, wherein the first weight value is greater than the second and third weight values, and wherein the second weight value is greater than the third weight value. Thus, the character keys possessing higher weight values are located on more convenient pages. The processor may refrain from designating weight values to the non-relocatable keys.
The processor may be configured so that each time a user executes a relocatable character key, the relocatable character key's weight value increases by an incremental amount. Thus, frequently used keys will acquire a higher weight value than less frequently used keys. The processor may also be configured to reconfigure the keyboard such that more convenient pages contain relocatable character keys of higher weight values, while less convenient pages contain relocatable character keys of lower weight values. As a result, because more frequently used keys will acquire higher weight values, the more frequently used keys will be moved to the more convenient pages. Consequently, the keyboard may be adaptable to a particular user, thereby providing the user with easy access to the keys most frequently used.
In some embodiments, the keyboard may not undergo reconfiguration until it is initiated. Thus, while the weight values of the relocatable keys are monitored and stored, the relocatable keys relocate only upon a reconfiguration initiation. In some embodiments, a user initiates a reconfiguration. In other embodiments, the initiation occurs after a fixed amount of time has elapsed. In some embodiments the user can control how often a reconfiguration is initiated (e.g., once a week). In other embodiments, reconfiguration frequency is fixed by the manufacturer. In other embodiments, the reconfiguration initiation is controlled by a communications network associated with the mobile device (e.g., via software updates). In some embodiments, a user can control through the user settings whether keyboard reconfigurations take place at all.
In some embodiments, the keyboard is automatically reconfigurable without requiring an initiation. For example, in an embodiment, a first relocatable key on a less convenient page may exchange locations with a second relocatable key on a more convenient page as soon as the first relocatable key's weight value exceeds that of the second relocatable key. In another embodiment, a first relocatable key on a less convenient page may exchange locations with a second relocatable key on a more convenient page only upon the first relocatable key's weight value exceeding the weight value of the second relocatable key by a predetermined amount. This predetermined amount may be set in order to prevent the keys from changing locations too frequently and thereby confusing the user. In an embodiment, the predetermined amount is fixed (e.g., by the mobile device manufacturer). In another embodiment, the predetermined amount may be altered by the user, so the keyboard is reconfigurable more or less often according to the user's preferences.
In some embodiments, a reconfiguration may require user authorization for specific relocations. For example, before relocating a relocatable key to a different page, the user may be asked to authorize the reconfiguration. If the user answers yes, then the reconfiguration takes place. If, on the other hand, the user says no, then the reconfiguration will not take place. The user may also have the opportunity to answer “never relocate this key.” In such cases, the key is designated as a non-relocatable key and the key's weight value is no longer accounted for in the reconfiguration analysis. The user may also have the opportunity to answer “always relocate this key when necessary.” In such cases, the key will be relocated according to its usage without again asking for the user's authorization.
Referring now to
In the
As seen in
If, at step 507, it is determined that the executed relocatable key is not located on the most convenient page, then the processor moves to step 508 and determines whether the executed relocatable key's new weight value exceeds the weight value of any key on a more convenient page. If not, then it returns to step 503. If, on the other hand, the answer at step 508 is yes, then it moves to step 509 and the executed relocatable key exchanges locations with whichever key on the more convenient page has the lower weight value. In step 510, the reconfigured keyboard is displayed. In step 511, the executed relocatable key's new weight value is saved, and the process returns to step 503.
If, at step 507, it is determined that the executed relocatable key is located on the most convenient page, then the processor moves to step 512 and determines whether the executed relocatable key's weight value exceeds the weight value of all the other relocatable keys by a threshold value. If the answer to step 512 is no, then it returns to step 503. If the answer to step 512 is yes, then the preferred portion will be reconfigured so as to contain the executed relocatable key at step 513. As a result thereof, a second relocatable key contained on the third page and having the highest weight value of all other relocatable keys on the third page will move to the executed relocatable key's location on the second page. Also, a copy of the executed relocatable key will be placed in the second relocatable key's place on the third page. In step 510, the reconfigured keyboard is displayed. In step 511, the executed relocatable key's new weight value is saved, and the process returns to step 503.
In some embodiments, an initiation may be required for the keyboard to undergo the preferred portion reconfiguration. Thus, while the weight values of the relocatable keys are monitored and stored, the most frequently used relocatable key is not copied and relocated until and unless the preferred portion reconfiguration is initiated. In some embodiments, a user initiates such reconfiguration. In other embodiments, the initiation occurs after a fixed amount of time has elapsed. In some embodiments the user can control how often a preferred portion reconfiguration is initiated (e.g., once a week). In other embodiments, such reconfiguration frequency is fixed by the manufacturer. In other embodiments, the reconfiguration initiation is controlled by a communications network associated with the mobile device (e.g., via software updates).
In some embodiments, the keyboard is automatically reconfigurable without requiring an initiation. For example, in an embodiment, the processor may be configured so that upon the weight value of the relocatable key exceeding the weight value for all other relocatable keys by the threshold amount, the relocatable key is relocated and a copy of the relocatable key is included in the preferred portion. In some embodiments, the particular threshold value may be altered in order to make such reconfigurations take place more or less frequently. In some embodiments, the threshold value is fixed by the manufacturer. In other embodiments, the user may control the threshold value through the user settings.
In some embodiments, the preferred portion reconfiguration may require user authorization. For example, before including a copy of a relocatable key in a preferred portion and relocating the relocatable key, the user may be asked to authorize the reconfiguration. If the user answers yes, then the reconfiguration takes place. If, on the other hand, the user says no, then the reconfiguration will not take place. The user may also have the opportunity to answer “never include a copy of this key in the preferred portion.” In such cases, the processor will never determine whether the weight value of the relocatable key exceeds the weight value of the other relocatable keys by a threshold value. The user may also have the opportunity to answer “always conduct a preferred portion reconfiguration for this key when necessary.” In such cases, the key will be copied and relocated according to its usage without again asking for the user's authorization.
In some embodiments, the user may turn off the preferred portion reconfiguration so copies of relocatable keys never become included in the preferred portion. In some embodiments, a user may lock the preferred portion in place. In cases when a user locks the preferred portion in place, whichever relocatable key is included in the preferred portion at the time of the lock will remain in the preferred portion until the user decides to unlock the preferred portion. When the preferred portion is locked, the processor refrains from determining whether the weight value of a relocatable key located on the most convenient page exceeds the weight values of all other relocatable keys by a threshold value.
The secondary storage 621 may be comprised of one or more solid state drives, disk drives, and/or other memory types and is used for non-volatile storage of data and as an over-flow data storage device if RAM 623 is not large enough to hold all working data. Secondary storage 621 may be used to store programs that are loaded into RAM 623 when such programs are selected for execution. The ROM 622 may be used to store instructions and perhaps data that are read during program execution. ROM 622 may be a non-volatile memory device may have a small memory capacity relative to the larger memory capacity of secondary storage 621. The RAM 623 may be used to store volatile data and perhaps to store instructions. Access to both ROM 622 and RAM 623 may be faster than to secondary storage 621.
The mobile device 600 may communicate data (e.g., packets) wirelessly with a network via a network access point 650. As such, the mobile device 600 may comprise a receiver (Rx) 612, which may be configured for receiving data (e.g. wireless packets or frames) from other components. The receiver 612 may be coupled to the processor 620, which may be configured to process the data and determine to which components the data is to be sent. The mobile device 600 may also comprise a transmitter (Tx) 632 coupled to the processor 620 and configured for transmitting data to other components, for example by using protocols such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, IEEE 802.16, 3rd Generation Partnership Project (3GPP), Global System for Mobile Communications (GSM), or similar wireless protocols. The receiver 612 and transmitter 632 may be coupled to at least one antenna 630, which may be configured to receive and transmit wireless radio frequency (RF) signals. In some embodiments, Tx 632 and Rx 612 may be replaced by a transceiver comprising the functionality of both Tx 632 and Rx 612.
The mobile device 600 may also comprise a display device 640 coupled to the processor 620, that displays output thereof to a user. The mobile device 600 and the display device 640 may configured to display representations of data to a user. The display device 620 may comprise a Color Super Twisted Nematic (CSTN) display, a thin film transistor (TFT) display, a thin film diode (TFD) display, an organic light-emitting diode (OLED) display, an active-matrix OLED display, or any other display screen. The display device 640 may display in color or monochrome and may be equipped with a touch sensor based on resistive and/or capacitive technologies.
The mobile device 600 may further comprise an input device 641 coupled to the processor 620, which may allow the user to input commands to the mobile device 600. In the case that the display device 640 comprises a touch sensor, the display device 640 may also be considered the input device 641. In addition to and/or in the alternative, an input device 641 may comprise a mouse, trackball, built-in keyboard, external keyboard, and/or any other device that a user may employ to interact with the mobile device 600.
It is understood that by programming and/or loading executable instructions onto the mobile device 600, at least one of the processor 620, memory 621-623, and/or Rx/Tx 612/632 are changed, transforming the mobile device 600 in part into a particular machine or apparatus, e.g., a mobile communication device having novel and adaptive reconfiguration characteristics. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules. Decisions between implementing a concept in software versus hardware typically hinge on considerations of stability of the design and numbers of units to be produced rather than any issues involved in translating from the software domain to the hardware domain. Generally, a design that is still subject to frequent change may be preferred to be implemented in software, because re-spinning a hardware implementation is more expensive than re-spinning a software design. Generally, a design that is stable that will be produced in large volume may be preferred to be implemented in hardware, for example in an ASIC, because for large production runs the hardware implementation may be less expensive than the software implementation. Often a design may be developed and tested in a software form and later transformed, by well-known design rules, to an equivalent hardware implementation in an application specific integrated circuit that hardwires the instructions of the software. In the same manner as a machine controlled by a new ASIC is a particular machine or apparatus, likewise a computer that has been programmed and/or loaded with executable instructions may be viewed as a particular machine or apparatus.
At least one embodiment is disclosed and variations, combinations, and/or modifications of the embodiment(s) and/or features of the embodiment(s) made by a person having ordinary skill in the art are within the scope of the disclosure. Alternative embodiments that result from combining, integrating, and/or omitting features of the embodiment(s) are also within the scope of the disclosure. Where numerical ranges or limitations are expressly stated, such express ranges or limitations should be understood to include iterative ranges or limitations of like magnitude falling within the expressly stated ranges or limitations (e.g., from about 1 to about 10 includes, 2, 5, 4, etc.; greater than 0.10 includes 0.11, 0.12, 0.15, etc.). For example, whenever a numerical range with a lower limit, R1, and an upper limit, Ru, is disclosed, any number falling within the range is specifically disclosed. In particular, the following numbers within the range are specifically disclosed: R=R1+k*(Ru-R1), wherein k is a variable ranging from 1 percent to 100 percent with a 1 percent increment, e.g., k is 1 percent, 2 percent, 5 percent, 4 percent, 5 percent, . . . , 50 percent, 51 percent, 52 percent, . . . , 95 percent, 96 percent, 97 percent, 98 percent, 99 percent, or 100 percent. Moreover, any numerical range defined by two R numbers as defined in the above is also specifically disclosed. The use of the term about means±10% of the subsequent number, unless otherwise stated. Use of the term “optionally” with respect to any element of a claim means that the element is required, or alternatively, the element is not required, both alternatives being within the scope of the claim. Use of broader terms such as comprises, includes, and having should be understood to provide support for narrower terms such as consisting of, consisting essentially of, and comprised substantially of. Accordingly, the scope of protection is not limited by the description set out above but is defined by the claims that follow, that scope including all equivalents of the subject matter of the claims. Each and every claim is incorporated as further disclosure into the specification and the claims are embodiment(s) of the present disclosure. The discussion of a reference in the disclosure is not an admission that it is prior art, especially any reference that has a publication date after the priority date of this application. The disclosure of all patents, patent applications, and publications cited in the disclosure are hereby incorporated by reference, to the extent that they provide exemplary, procedural, or other details supplementary to the disclosure.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.