The design of typable devices, in particular, touch-typable devices embodying ambiguous codes, presents numerous ergonomic problems. Solutions for these problems are herein disclosed. This invention teaches methods for the selection of ambiguous codes from the classes of strongly-touch-typable ambiguous codes and substantially optimal ambiguous codes for touch-typable devices such as computers, telephones, pagers, personal digital assistants, smart cards, television set-top devices and other information appliances, given design constraints such as the size, shape, and computational capacity of the device, the typical uses of the device, and conventional constraints such as respect of alphabetic ordering or Qwerty ordering.
|
1. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols, said keyboard comprising a plurality of keys; an output which selectively outputs sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols, wherein at least one of said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols, said ambiguous code characterized in that it is strongly touch typable; a plurality of decoding-symbol-assigned keys formed by an assignment of said decoding symbols to said keys, said assignment characterized in that it is not even-as-possible, given the number of said decoding-symbol-assigned keys.
4. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols, said keyboard comprising a plurality of keys; an output which selectively outputs sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols, wherein at least one of said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols, said ambiguous code characterized in that it is substantially optimal with respect to at least one of lookup error rate and query error rate; an assignment of said decoding symbols to said keys, said assignment characterized in that it is not even-as-possible, given the number of said keys to which said decoding symbols have been assigned by said assignment.
3. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols, said keyboard comprising a plurality of keys; an output sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols; wherein at least one said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols, said ambiguous code characterized in that it substantially satisfies at least one constraint selected from the group consisting of anatomic fidelity, conservation of conventional gestures, conservation of convention, cross-platform compatibility, learnability, and scan time; an assignment of a plurality of said decoding symbols to said keys, said assignment characterized in that it is not even-as-possible.
2. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols, said keyboard comprising a plurality of keys; an output which selectively outputs sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols, wherein at least one of said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols, said ambiguous code characterized in that it is maximally touch typable in that at least one of the conditions is true of said ambiguous code, said conditions selected from i) its lookup error rate is at least of level C, ii) its query error rate is at least of level B, iii) its effective key number is at least 10, given statistics drawn from a representative corpus of a language.
28. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols; an output which selectively outputs sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols, wherein at least one of said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols; said ambiguous code characterized in that it is strongly touch typable; an assignment of said decoding symbols to said keys; said ambiguous code together with said assignment characterized in that they substantially satisfy at least one constraint selected from the group consisting of anatomic fidelity, conservation of conventional gestures, conservation of convention, cross-platform compatibility, learnability, and scan time.
5. An apparatus comprising: encoding symbols; decoding symbols; a keyboard comprising a plurality of keys responsive to user activation to generate sequences of said encoding symbols; an output which selectively outputs sequences of said decoding symbols in response to said user activation of said keyboard; an ambiguous code which maps said sequences of said encoding symbols to said sequences of said decoding symbols, wherein at least one of said sequences of said encoding symbols is mapped to a plurality of said sequences of said decoding symbols, said ambiguous code characterized in that said sequences of said encoding symbols are max-2 sequences of length at most two, comprising at least one max-2 sequence of length 2; and said sequences of said decoding symbols are max-1 sequences of length 1 whereby said ambiguous code is a mapping between said max-2 sequences of said encoding symbols and subsets of said decoding symbols and whereby input of one of said max-2 sequences of said encoding symbols explictly selects for ambiguous output one of said subsets of said decoding symbols.
0. 107. An ambiguous keyboard disambiguating system for a natural language comprising:
a) encoding and decoding symbols;
b) an ambiguous keyboard having at least three rows of keys and four to ten columns of keys, both of said three rows and four to ten columns having indicia that denote one or more letters assigned to one or more keys, wherein said one or more letters are used to write common words in said natural language, wherein:
each of said one or more keys corresponds to one of said encoding symbols; and
each of said one or more letters corresponds to one of said decoding symbols, the total number of said keys having at least one letter assigned to them being less than the number of said one or more letters in an alphabet used to form words in said natural language such that at least one key of said keys must have more than one letter of said alphabet assigned to it;
wherein said ambiguous keyboard could be relabeled with said letter indicia presented in continuous alphabetic order along each row without repetition and without violating said assignment of said letters to said keys;
wherein said indicia may be presented in continuous alphabetic order along each row without violating said assignment of said letters to said keys;
d) an output which selectively outputs sequences of said decoding symbols in response to user activation of said ambiguous keyboard;
e) an ambiguous code which maps a sequence of said encoding symbols to one or more sequences of decoded symbols;
f) at least one of said sequences of the encoding symbols is mapped to a plurality of said sequences of said decoding symbols.
0. 43. An ambiguous keyboard disambiguating system for a natural language, comprising:
a) encoding symbols and decoding symbols;
b) an ambiguous keyboard having at three rows of keys and one to ten columns of keys, both of said three rows and one to ten columns having indicia that denote one or more letters assigned to one or more keys, wherein said one or more letters are used to write common words in said natural language, wherein:
each of said one or more keys corresponds to one of said encoding symbols; and
each of said one or more letters corresponds to one of said decoding symbols,
the total number of said keys having at least one letter assigned to them being less than the number of said one or more letters in an alphabet used to form words in said natural language such that at least one key of said keys must have more than one letter of said alphabet assigned to it;
c) said assignment of respective said one or more letters assigned to respective said keys permitting a partial conservation layout of said indicia in that in said partial conservation layout at least a ratio of 18/26 of said indicia are at or adjacent to their respective ordered positions in a letter indicia layout of a conventional typewriter keyboard for said natural language, while respecting said assignment, where said ordered positions are ordered in a conventional presentation order for said conventional typewriter keyboard;
wherein said conventional typewriter keyboard layout is a non-alphabetic order for said natural language, wherein said non-alphabetic order includes at least one letter assigned to one or more keys of said ambiguous keyboard violating an alphabetic order for said natural language;
wherein said ambiguous keyboard has:
1) a same set of letters, assigned to at least one row or one column of said ambiguous keyboard as are assigned to a corresponding row in a conventional typewriter keyboard;
2) wherein an order of reading of said same set of letters on at least one row or at least one column of said ambiguous keyboard admits an order of reading of said same set of letters on at least one corresponding row or one corresponding column of said conventional typewriter keyboard, wherein said admittance comprises:
i) an order of reading of keys of said at least one row or said at least one column of said ambiguous keyboard that is in a same order as a reading of keys of said at least one row or said at least one column of said conventional typewriter keyboard,
ii) wherein said ambiguous keyboard could be relabeled with said letter indicia presented in the same order along each row as the corresponding indicia on a corresponding row of said conventional typewriter, without repetition and without violating said assignment of said letters to said keys;
d) an output which selectively outputs sequences of said decoding symbols in response to user activation of said ambiguous keyboard;
e) an ambiguous code which maps a sequence of said encoding symbols to one or more sequences of said decoding symbols;
f) wherein at least one of said sequences of the encoding symbols is mapped to a plurality of said sequences of said decoding symbols.
6. The apparatus of
7. The apparatus of
8. The apparatus of
9. The apparatus of
10. The apparatus of
11. The apparatus of
12. The apparatus of
13. The apparatus of
14. The apparatus of
15. The apparatus of
16. The apparatus of
17. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
21. The apparatus of
22. The apparatus of
23. The apparatus of
24. The apparatus of
25. The apparatus of claim where said disambiguation software is selected from the set comprising word-based, sequence-based, prefix-based and any combination thereto.
26. The apparatus of
27. The apparatus of
29. The apparatus of
30. The apparatus of
31. The apparatus of
32. The apparatus of
33. The apparatus of
34. The apparatus of
35. The apparatus of
36. The apparatus of
37. The apparatus of
38. The apparatus of
39. The apparatus of
40. The apparatus of
41. The apparatus of
42. The apparatus of
0. 44. The ambiguous keyboard of claim 43, wherein said ambiguous keyboard has a strongly touch typable property in:
1) having fixed symbol assignments,
2) being based on an ambiguous code, and yet
3) such that in a normal mode of operation, a touch typist can use the typable device to produce text at an acceptable level of accuracy.
0. 45. The system of claim 44, wherein said strongly touch typable property is measured relative to a corpus containing at least 10 million words drawn at random from a general-interest newspaper in said natural language.
0. 46. The system of claim 44, wherein said lookup rate error is equal to or greater than 50/29 times a lookup error rate for a standard telephone keypad for said natural language where both said lookup error rate and said lookup error rate for said standard telephone keypad are measured on a same given corpus of text representative of said natural language.
0. 47. The system of claim 44, wherein said strongly touch-typable property is equal to or greater than level “A”, in that it has an acceptable level of accuracy for a user who,
1) accepts a query error rate of one query every 5 words on average, and;
2) accepts a lookup error rate of one error every 50 words on average.
0. 48. The system of claim 44, wherein said strongly touch-typable property is equal to or greater than level “B” in that it has an acceptable level of accuracy for a user who,
1) accepts a query error rate of one query every 10 words on average, and
2) accepts a lookup error rate of one error every 100 words on average.
0. 49. The system of claim 44, wherein said strongly touch-typable property is equal to or greater than level “C” for a user who,
1) accepts a query every 20 words on average, and
2) accepts a lookup error every 200 words on average.
0. 50. The ambiguous keyboard of claim 44, which has an effective key number greater than the effective key number corresponding to the point (50,5) in the (lookup error rate, query error rate) plane where lookup error rate and query error rate are normalized such that the standard ambiguous code for said natural language corresponds to the point (29, 2.2) in said (lookup error rate, query error rate) plane, and said lookup error rate and said query error rate are measured relative to a text corpus representative of said natural language.
0. 51. The system of claim 43, wherein a count of letter-assigned said keys on each of said rows decreases monotonically from top to bottom said rows.
0. 52. The system of claim 43, wherein said assignment of letters to said keys is an even as possible assignment on at least one of said rows, given the number of letter-assigned keys in said at least one row and the number of said letters assigned to said letter-assigned keys in said at least one row.
0. 53. The system of claim 43, wherein said assignment is not substantially optimal, because in a count of four random trials it is more likely than not to find an other assignment with better values of lookup error rate where said lookup error rate is measured relative to a same corpus representative of said natural language for both said assignment and said other assignment.
0. 54. The system of claim 43, wherein said assignment of said letters to said keys is not an even as possible assignment, given the total number of letter-assigned said keys of said ambiguous keyboard.
0. 55. The system of claim 43, wherein said assignment of said letters to said keys is a not even as possible assignment on at least one of said rows, given the number of letter-assigned said keys in said at least one row and the total number of said letters assigned to said letter-assigned keys in said at least one row.
0. 56. The system of claim 43, wherein said ambiguous keyboard will be substantially optimal with respect to a property if it is among the best codes with respect to that property given other constraints imposed on said ambiguous keyboard.
0. 57. The system of claim 56, wherein said property is a lookup error rate.
0. 58. The system of claim 56, wherein said property is a query error rate.
0. 59. The system of claim 43, wherein said ambiguous keyboard is substantially optimal given a constraint of even as possible for letter assignments for a given row, given that said conventional typewriter keyboard is a Qwerty conventional typewriter keyboard.
0. 60. The system of claim 56, wherein said constraint is a lookup error rate.
0. 61. The system of claim 56, wherein said constraint is a query error rate.
0. 62. The system of claim 56, wherein substantially optimality includes being within 5% of an absolute best of said lookup error rate, given specified constraints.
0. 63. The system of claim 56, wherein said constraint is a lookup error rate.
0. 64. The system of claim 56, wherein said constraint is a query error rate.
0. 65. The system of claim 43, wherein said assignment exceeds a threshold of “level A” touch typability of 1.724 in lookup error rate, when measured in units of the lookup error rate of the standard ambiguous code for said natural language for a given corpus representative of said natural language.
0. 66. The system of claim 43, wherein said assignment exceeds a threshold of “level A” touch typability of 2.27 in query error rate, when measured in units of query error rate of the standard ambiguous code for said natural language for a given corpus representative of said natural language.
0. 67. The system of claim 65, wherein said conventional typewriter keyboard is a qwerty conventional typewriter keyboard.
0. 68. The system of claim 65, wherein said ambiguous keyboard letter assignments are as even as possible on at least one row.
0. 69. The system of claim 66, wherein said ambiguous keyboard has 5 columns of letter-assigned keys in a top of said three rows and 5 columns of letter-assigned keys in a middle of said three rows.
0. 70. The system of claim 66, wherein said conventional typewriter keyboard is a Qwerty conventional typewriter keyboard.
0. 71. The system of claim 70, wherein said assignment is an even as possible letter assignment for a selected row.
0. 72. The system of claim 71, wherein said conventional typewriter keyboard is a qwerty conventional typewriter keyboard and said assignment is even as possible.
0. 73. The system of claim 72, wherein said system is cross platform compatible, as it can transition between a telephone keyboard and a typewriter keyboard.
0. 74. The system of claim 73, wherein the number of said letters is as near as possible to being twice the number of letter-assigned keys for said ambiguous keyboard, given qwerty letter-to-row assignments.
0. 75. The system of claim 43, wherein said ambiguous code is a multi-level code wherein a first sequence of encoding symbols serves to select a first subset of decoding symbols, a second sequence of encoding symbols serves to select a second subset of decoding symbols.
0. 76. The system of claim 43, wherein said ambiguous keyboard has a first set of letters qwertyuiop on a first row of said three rows, a second set of letters asdfghjkl on a second row of said three rows, and a third set of letters zxcvbnm on a third row of said three rows.
0. 77. The system of claim 43, wherein said ambiguous keyboard includes said set of letters in any given order: abcdefghijklmnopqrstuvwxyz.
0. 78. The system of claim 43, wherein a number letter-assigned said keys has a cardinality of a nearest whole number to half of a cardinality of said letters, given qwerty letter-to-row assignments, wherein said assignment is as even as possible letter assignment for a selected row.
0. 79. The system of claim 78, wherein said letters are a-z of the English alphabet.
0. 80. The system of claim 43, wherein said ambiguous keyboard is foldable.
0. 81. The system of claim 43, wherein said ambiguous keyboard is included in a steering wheel.
0. 82. The system of claim 43, wherein said ambiguous keyboard is incorporated into a computer mouse.
0. 83. The system of claim 43, wherein said conventional order is selected from a group that includes at least one of:
a qwerty order; and
an azerty order.
0. 84. The system of claim 43, where said conventional typewriter keyboard for said natural language is a qwerty conventional typewriter keyboard.
0. 85. The system of claim 43, wherein said conventional typewriter keyboard for said natural language is a close variant to a qwerty conventional typewriter keyboard.
0. 86. The system of claim 43, wherein a “presentation order” is a direction in which that letters are read in it its natural language; and wherein said “reading order” is a directional pattern in which words are conventionally read in said natural language, along lines and from line to line.
0. 87. The system of claim 86, wherein said: assignment permits a layout of indicia in which said indicia may be read in a reading order for said natural language in the same way as said indicia are read on said conventional typewriter keyboard for said natural language.
0. 88. The system of claim 43,
wherein said ambiguous keyboard has a strongly touch typable property in:
a) having fixed symbol assignments,
b) based on an ambiguous code, and yet
c) such that in a normal mode of operation, a touch typist can use the typable device to produce text at an acceptable level of accuracy,
wherein a corpus of words used by which said strongly touch typable is measured is with at least 10 million words of a general purpose newspaper,
wherein said look up rate error is equal to or greater than 50/29 times the lookup error rate of the standard ambiguous code for said natural language
wherein said strongly touch-typable property is equal to or greater than level “A”, in that a user,
a) accepts a query error rate of one query every 5 words on average, and;
b) accepts a lookup error rate of one lookup error every 50 words on average.
0. 89. The system of claim 43, wherein said ambiguous keyboard has a first set of letters qwertyuiop on a first row of said three rows, a second set of said letters asdfghjkl on a second row of said three rows, and a third set of said letters zxcvbnm on a third row of said three rows,
wherein the number of said letter-assigned said keys is no less than half of the number of said letters.
0. 90. The system of claim 89, in which said assignment is even as possible.
0. 91. The system of claim 89, wherein the number of letter-assigned said keys is as close as possible to half the number of said letters.
0. 92. The ambiguous keyboard of claim 91, wherein said ambiguous keyboard has a strongly touch typable property in:
1) having fixed symbol assignments,
2) being based on an ambiguous code, and yet
3) such that in a normal mode of operation, a touch typist can use the typable device to produce text at an acceptable level of accuracy.
0. 93. The system of claim 91, wherein said strongly touch typable property is measured relative to a corpus containing at least 10 million words drawn at random from a general-interest newspaper in said natural language.
0. 94. The system of claim 91, wherein said lookup rate error is equal to or greater than 50/29 times a lookup error rate for a standard telephone keypad for said natural language where both said lookup error rate and said lookup for a standard telephone keypad are measured on a same given corpus of text representative of said natural language.
0. 95. The system of claim 91, wherein said strongly touch-typable property is equal to or greater than level “A”, in that it has an acceptable level of accuracy for a user who,
1) accepts a query error rate of one query every 5 words on average, and;
2) accepts a lookup error rate of one error every 50 words on average.
0. 96. The system of claim 91, wherein said strongly touch-typable property is equal to or greater than level “B” in that it has an acceptable level of accuracy for a user who,
1) accepts a query error rate of one query every 10 words on average, and
2) accepts a lookup error rate of one error every 100 words on average.
0. 97. The system of claim 91, wherein said strongly touch-typable property is equal to or greater than level “C” for a user who,
1) accepts a query every 20 words on average, and
2) accepts a lookup error every 200 words on average.
0. 98. The ambiguous keyboard of claim 91, which has an effective key number greater than the effective key number corresponding to the point (50,5) in the (lookup error rate, query error rate) where lookup error rate and query error rate are normalized such that the standard ambiguous code for said natural language corresponds to the point (29, 2.2) in said (lookup error rate, query error rate) plane, and said lookup error rate and said query error rate are measured relative to a text corpus representative of said natural language.
0. 99. The system of claim 91, wherein a count of letter-assigned said keys on each of said rows decreases monotonically from top to bottom said rows.
0. 100. The system of claim 99, wherein said assignment of letters to said keys is an even as possible assignment on at least one of said rows, given the number of letter-assigned keys in said at least one row and the number of said letters assigned to said letter-assigned keys in said at least one row.
0. 101. The system of claim 91, wherein said assignment is not substantially optimal, because in a count of four random trials it is more likely than not to find an other assignment with better values of lookup error rate where said lookup error rate is measured relative to a same corpus representative of said natural language for both said assignment and said other assignment.
0. 102. The system of claim 101, wherein said assignment of said letters to said keys is not an even as possible assignment, given the total number of letter-assigned said keys of said ambiguous keyboard.
0. 103. The system of claim 43, wherein no said key has more than two said letters assigned to it.
0. 104. The system of claim 103, further comprising a first mode and a second mode, wherein said letters are said decoding symbols in said first mode, and digits are said decoding symbols in said second mode.
0. 105. The system of claim 104, where said digits correspond to indicia arranged such that said second mode can function as a conventional telephone.
0. 106. The system of claim 43, where said ambiguous keyboard is substantially optimal given a constraint of even as possible for letter assignments for letter-assigned keys and given a constraint that said conventional typewriter keyboard is a qwerty conventional typewriter keyboard.
0. 108. The system of claim 107, wherein said keyboard has a strongly touch typable property in:
1) having fixed symbol assignments,
2) being based on an ambiguous code, and yet
3) such that in a normal mode of operation, a touch typist can use the typable device to produce text at an acceptable level of accuracy.
0. 109. The system of claim 108, wherein said strongly touch typable property is measured relative to a corpus containing at least 10 million words drawn at random from a general-interest newspaper in said natural language.
0. 110. The system of claim 107, wherein a count of letter-assigned said keys on each of said rows decreases monotonically from top to bottom said rows.
0. 111. The system of claim 107, wherein said assignment of said letters to said keys is not an even as possible assignment, given the total number of letter-assigned said keys of said ambiguous keyboard.
0. 112. The system of claim 107, wherein said assignment of said letters to said keys is a not even as possible assignment on at least one of said rows, given the number of letter-assigned said keys in said at least one row and the total number of said letters assigned to said letter-assigned keys in said at least one row.
0. 113. The system of claim 107, wherein said ambiguous code is a multi-level code wherein a first sequence of encoding symbols serves to select a first subset of decoding symbols, a second sequence of encoding symbols serves to select a second subset of decoding symbols.
0. 114. The system of claim 107, wherein said ambiguous keyboard is foldable.
0. 115. The system of claim 107, wherein said ambiguous keyboard is included in a steering wheel.
0. 116. The system of claim 107, wherein said ambiguous keyboard is incorporated into a computer mouse.
0. 117. The system of claim 107, wherein a “presentation order” is a direction in which that letters are read in it its natural language; and wherein said “reading order” is a directional pattern in which words are conventionally read in said natural language, along lines and from line to line.
0. 118. The system of 107, wherein no said key has more than two said letters assigned to it.
0. 119. The system of claim 107, further comprising a first mode and a second mode, wherein said letters are decoding systems in said first mode, and digits are decoding symbols in said second mode.
0. 120. The system of claim 119, where said digits correspond to indicia arranged such that said second mode can function as a conventional telephone.
|
This application claims the benefit of Provisional Application No. 60/111,665, filed Dec. 10, 1998.
This invention relates to the design of touch-typable devices, and the use of touch-typable devices in computing and telecommunications, and more particularly to touch-typable devices based on strongly touch-typable ambiguous codes and substantially optimal ambiguous codes.
Since the invention of the typewriter more than 100 years ago, keyboard engineering has been an active field of research and development, resulting in many competing designs. With the growth of personal computing and telecommunications, the number of keyboard designs has multiplied as designers attempt to accommodate the wide variety of constraints and to exploit opportunities these new technologies present. Nonetheless, much of the variability of prior-art keyboard designs is not due to this variety of constraints and opportunities. Rather, it results from an incomplete appreciation on the part of keyboard designers of the constraints inherent in the problems they are trying to solve. It also reflects the lack of general, effective methods for optimizing with respect to these constraints. The present state of the art is thus represented by a plethora of partial solutions. These ills are cured by the keyboard design methods taught by the present invention. To illustrate the many facets of this invention, the optimizing methods are applied to the design of a variety of device embodiments, each preferred as the substantially optimal solution of a given set of design constraints.
The instant invention relates to touch-typable devices. Touch typing, like playing a musical instrument, is a manual skill which is difficult to learn. Once learned, it is difficult to modify the acquired motor patterns. This difficulty places strong constraints on keyboard design. The familiar Qwerty keyboard (and its close variants such as the Azerty keyboard used in France) owes its dominance to ingraining and overlearning of the motor patterns involved in touch typing. Thus, the wide established base of the Qwerty keyboard has created a barrier to entry to improved keyboards, such as the Dvorak keyboard. Indeed such keyboards have gathered but a limited user community. Due to its large number of keys, the Qwerty keyboard is unsuitable for handheld and smaller typable devices. The advent of such devices opens a niche for keyboard designers. A new design in this niche which becomes dominant will likely conserve its dominant position even if more optimal designs appear later, due to the intrinsic tendency of repetitive motor patterns to become fixed. This prospect imposes an enormous burden of responsibility on keyboard designers to avoid saddling future generations of keyboard users with suboptimal designs.
There are two main approaches in the prior art toward reducing the number of input means required to encode a given set of symbols 1) chording methods, in which a combination of input means are activated to encode each symbol, and 2) ambiguous codes, in which a combination of symbols are encoded by each input means. Chording methods have not met with practical success since they have been heretofore difficult to learn to operate, and few are willing to make the time investment required. Thus, only ambiguous codes, or ambiguous codes in combination with chording methods, hold any real promise as a solution to this problem.
It is thus an object of the present invention to provide methods for the design of substantially optimal ambiguous codes for typable devices.
It is a further object of this invention to provide methods for the design of strongly-touch-typable ambiguous codes for typable devices.
A further object of this invention is to provide keyboards suitable for touch typing on both full-sized and miniature keyboards.
A further object of this invention is to enable sending alphanumeric messages from ordinary phones or two-way pagers to other such devices, without human intervention, and thus inexpensively.
A further object of this invention is to provide touch-typable personal digital assistants.
A further object of this invention is to provide keyboards which are typable by the driver of a vehicle without unnecessarily distracting the driver.
A further object of this invention is to provide for typable communication devices which are inexpensive to manufacture and work with standard telephone communication systems.
A further object of some of the preferred embodiments of this invention is to facilitate the transfer of typing skills of touch typists trained on conventional keyboards to novel keyboards through partial conservation of the layout of the conventional keyboard in the layout of the novel keyboard.
A further object of this invention is to provide general methods to produce ambiguous codes which have a substantially minimal lookup error rate.
A further object of this invention is to provide general methods to produce ambiguous codes which have a substantially minimal query error rate.
A further object of this invention is to provide a device to reduce typing injuries.
A further object of this invention is to provide a handheld computing device which is twice foldable.
A further object of this invention is to provide a one-handed keypad suitable for implementation on a handheld computer.
A further object of this invention is to provide a one- and two-handed keypad suitable for implementation on a handheld computer or a desktop keypad.
A further object of this invention is to provide keyboards which are Qwerty-like.
A further object of this invention is to provide easily learnable chording keyboards.
A further object of this invention is to provide synergistic hybrids of chording and ambiguous keyboards.
A further object of this invention is to provide a touch-typing-oriented querying mechanism for typable devices embodying ambiguous codes.
A further object of this invention is to provide a touch-typing-oriented disambiguation mode for typable devices embodying ambiguous codes.
A further object of this invention is to provide a hybrid chording/ambiguous code keyboard fully compatible with the standard telephone keyboard.
A further object of this invention is to provide ergonomic assignments of symbols to modes.
A further object of this invention is to provide a substantially transparent touch-typable interface for typable devices comprising touch screens.
A further object of this invention is to provide optimization across a set of natural languages.
A further object of this invention is to provide a device typable using the one hand holding the device, with reduced scanning time.
Still further objects of this invention will be described in the detailed description below.
The detailed description of the preferred embodiments of the present invention will be discussed with reference to the drawings, a brief description of which follows.
In order to help the reader appreciate the unity of the present invention in the face of the multitude of apparatus embodiments which are required to clearly and distinctly point out the broad scope and various aspects of the invention, a table summarizing these embodiments and their major features is shown in
Definitions and Basic Notions
This section collects definitions of words and concepts which will be used in the following detailed specification.
The physical movement used to operate a keyboard is typically in the form of motion of fingers and/or thumb or of a hand-held stylus. This definition extends to other bodily motions, such as head, tongue, or eye motions which might serve to signal a choice of symbol from the keyboard. A device comprising a keyboard according to this definition will be referred to as a typable device.
By “typable device” we understand not just the physical device containing the keyboard, but the entire communication system in which this typable device is embedded, the limits of that system defined by dependence on the underlying ambiguous coding scheme. In the case of a typable device in which input symbols appear directly on a display which is physically part of the typable device, the limits of the system are clear and defined by the physical perimeters of the device. In more general cases, in which for example the typable device includes a telephone handset sending information to a central computer, the central computer begin responsible for decoding or otherwise acting on the textual information communicated from the handset, then the “typable device” must be understood to include the central computer, as configured to operate in the required manner by software built in view of the teachings of this invention.
It will be appreciated that each of the at least one input means comprised in a keyboard can take a wide variety of physical manifestations. The essential feature of an input means is that it permits an operator to select a subset from the set of symbols to be encoded by the keyboard. With this appreciation, and in order to increase the readability of this present specification, the word “key” will often be used interchangeably with the words “input means”.
We are particularly concerned with symbols and symbol sequences whose distribution in typical samples of text is substantially strongly correlated with the distribution of other symbols or symbol sequences, such symbols will be called strongly correlated symbols. For example, the symbol “.” often used in English and other languages to indicate the end of a sentence may be a strongly correlated symbol since the distribution of sentence length is not random in typical text. In Hebrew, the symbol “.” is correlated as well with particular letter symbols since Hebrew uses a different symbol for some letters occurring at the end of a word, and ends of sentences are correlated with ends of words.
Thus, the sequence of key presses associated to the digit sequence 233 also corresponds to the letter sequences add, bee, and bed, all of which are English words, as well as various meaningless letter sequences such as cff. Here, a sequence is considered to have meaning if it appears in a reference list of meaningful sequences. Thus all of these letter sequences, meaningful or not, are associated with the same digit sequence. We will say that the sequence of key presses 233 is an encoding and the sequences add, bee bed, eff and so on are decodings of the encoding 233. When no confusion will arise, “decodings” may be used to mean “meaningful decodings”. The set of symbols used in decodings, in this example, letters in the alphabet, will be referred to as decoding symbols, or simply symbols if no confusion will arise, and the set of symbols used in encodings, in this example, digits, will be referred to as encoding symbols.
Since several letters are encoded on each key, some method of disambiguation must be used to decide which of the several letters is intended by the operator. In typical applications, such as a voice response system, the intended letter is found by comparing the input sequence with a list of stored responses. In the event that several of the stored responses correspond to the input sequence, the user is presented with a list of these responses, from which he or she must choose. The order in which these choices are presented may be arbitrary, or may depend on the frequency by which each response is the correct response, with the responses presented in decreasing order of frequency.
Strong touch typability is a matter of degree; it is a measure of touch typability which depends on a host of factors, some pertaining to the individual typists, some pertaining to the uses to which the typable device will be typically put, and some pertaining to the structure of the typable device it self. Even for a given typist, a given typable device may be sufficiently strongly touch typable for some typing tasks, but not for others.
It is to be appreciated that the accuracy of the text produced depend on a number of factors, including:
Though strong touch typability, like temperature, is a mailer of a degree, it is, like temperature, perfectly well-defined. The strong touch typability of a typable device can be quantitatively measured, with respect to any user or group of users, once these various factors are fixed, using standard experimental protocols, well-known to those skilled in the art. Furthermore, two aspects of strong touch typability can be measured directly from an ambiguous code: lookup error and query error. Thus, numerical values of strong touch typability can be assigned without any direct reference to a population of users, but only with reference to the ambiguous code in question.
Like temperature, there is a lower bound to strong touch-typability. It is clear that a device which requires user intervention after every word or even after every three words in order to disambiguate cannot be considered strongly touch-typable with respect to any typist engaged in any task. The lower bound of strong touch typability can be expressed in terms of continuity of attention. If a user's attention must be substantially continually focused on the operation of the disambiguation mechanism to produce acceptable text then the device is not strongly touch typable.
The practical lower bound of strong touch typability pertains to a user of average skill in the art of touch typing, and is higher than the theoretical lower bound just described. In order to bring numerical as well as conceptual precision and definiteness to the inventive notion of strong touch typability, numerical values are assigned to strong touch typability in terms of values of lookup error and query error. This numerical characterization serves to further distinctly point out the differences between the inventive methods and devices of the present disclosure and all prior art methods and devices.
A strongly touch typable ambiguous code is an ambiguous code on which strongly touch typable devices may be based.
It is to be emphasized that the optimality of an ambiguous code cannot be discussed in the absolute, but must be evaluated relative to a set of reference statistics for the language to be encoded. Indeed, given any ambiguous code, it is possible to construct a set of statistics such that code is optimal with respect to the constructed statistics.
Given a set of reference statistics, an estimate of the optimality of a given code can be obtained from experiments comprising the generation of random codes, as well be discussed in more detail below.
At least two disambiguation methods are well known in the art. These are word-based and context-based disambiguation. In word-based disambiguation, a list of words along with their probabilities is used to choose among alternate decodings of a given encoding in the ambiguous code. For instance, all words in the list which are meaningful decodings of a given encoding may be compared, and the word with the largest probability selected. Block-based disambiguation is similar, except that the list contains fragments of text up to some size, along with the probability of the fragments.
Both word-based and context-based disambiguation methods are special cases of a more general framework, which we will call sequence-based disambiguation, in which a database of sequences of encoding symbols and of decoding symbols is associated with a probability, and disambiguation is effected by reference to this database. It is to be noted that the “space” symbol which defines word boundaries in languages such as English is for the purposes of this discussion no different from any other unambiguous symbol. One can define a list of sequences and sequence probabilities in which said sequences include the “space” symbol, and thus extend beyond word boundaries. One can go further and define sequences which include a wildcard symbol and thus define lists of sequences which contain arbitrary subsequences, which subsequences may or may not correspond to words in the language. In this way, arbitrarily complex representations of a language can be built up, and can be used in a disambiguation method. For instance, syntactic and semantic relationships between subsequences can be brought in to resolve conflicts between possible interpretations in terms of decoding symbols of an ambiguously coded sequence of encoding symbols. For clarity, we focus this specification on well-known word-based disambiguation, unless otherwise specified. It will be appreciated by those skilled in the art that the methods taught by this invention do not depend on word-based disambiguation; any other disambiguation method can be used.
There are two genera of ambiguous codes for which exclusive rights are herein claimed. These are 1) strongly touch-typable ambiguous codes, and 2) substantially optimal ambiguous codes. Ambiguous codes may be substantially optimal but not strongly touch typable, strongly touch typable but not substantially optimal, neither substantially optimal nor strongly touch typable, or both substantially optimal and strongly touch typable.
The disclosure begins by pointing out how to make ambiguous codes in both of these genera, and identifying whether a code is contained in either of the genera. It then explains how to use codes in both of these genera to make typable devices, and how these codes may be used to solve various design problems confronting the designer of typable devices.
The best mode for practicing this invention depends on the constellation of design constraints which are to be optimized according to the teachings of the invention. Thus, several particular, practically relevant and useful, situations are chosen to illustrate the range of the methods and devices taught by the present invention.
The range of machines which can be built by persons skilled in the art according to the teachings of this invention extends considerably beyond the specifics of the preferred embodiments presented herein. Various extreme or particular cases of design constraints are solved in these embodiments. Given the teachings embodied in these cases, it will be clear to one skilled in the art how to combine features appropriately in order to solve intermediate or hybrid design problems.
One embodiment is optimized with respect to lookup error rate exclusively. This embodiment is designed for a machine with limited memory and computing power, such as a smart card. With such a machine, computing resources may not be available to support a complex querying mechanism for user activation of disambiguation.
Thus this machine uses one of the simplest possible disambiguation mechanisms, which comprises systematic selection of the most-probable decoding symbol sequence corresponding to any given encoding symbol sequence.
Another embodiment is optimized with respect to query error rate exclusively. This embodiment is designed for use by the driver of a vehicle, such as an automobile. Though computing power may be available to support a complex querying mechanism, use of such mechanism should be kept to a minimum, so as to distract the driver as little as possible from driving.
A next embodiment provides a phone keypad optimized with respect to both lookup error rate and query error rate, and which is compatible with the layout of standard telephone keypads.
Another embodiment is optimized with respect to the constraint of conservation of a convention-:
Optimization over partitions leads to an additional embodiment in which keyboards with substantially optimal query and lookup error are exhibited which preserve as well as possible the conventional Qwerty keyboard arrangement.
A further embodiment illustrating the design of keyboards which correspond as well as possible to conventional designs is a keyboard based on an ambiguous code which conserves the key layout and numeric labels of a numeric keypad.
For many applications, a keyboard which can be ergonomically operated in both an ambiguous and a non-ambiguous fashion is desired. To this end, it is preferable to chose ambiguous codes on a number of keys which nearly divides the number of symbols to be encoded, permitting a nearly even-as-possible partition of symbols with respect to keys A number of keys equal to ½ the number of symbols is particularly preferred. The desirable consequences of this preferred choice are exhibited by this next embodiment.
Another embodiment shows how keyboards can be optimized for cross-platform compatibility. In this embodiment two keyboards, a one-handed keyboard and a two-handed keyboard, are designed to be operated in potentially rapid alteration, in such a way that touch-typing motions used to operate one of the keyboards transfer seamlessly to touch-typing motions used to operate the other keyboard. This keyboard has the additional advantage of having the potential to reduce typing injuries, as well as other objects and advantages, as will be described in the detailed specification.
The above-mentioned embodiments taken together show that different keyboard uses imply different kinds of optimality, which, since a given user may need keyboards for several different uses, in turn implies that mechanisms must be provided for several different solutions to co-exist in a single device. A surprising solution to this problem, made possible by the small typable device sizes achievable with ambiguous codes, is the twice-foldable personal digital assistant described in this embodiment.
The embodiments discussed up to this point involve both hardware and software specification. However, it is possible to achieve many of the objects of this invention using a purely, or predominantly, software solution. An example software solution is worked out in detail to show how specifics of existing hardware can be incorporated using appropriate software to achieve some of the objects of this invention.
A final set of embodiments synergistically unites, for the first time, two alternative approaches to producing keyboards with a small number of keys: chording methods and ambiguous-code methods.
First it is shown that by ergonomic construction of chording patterns, coupled with optimization of lookup error rate and query error rate, an ambiguous code on n keys can be made to behave like an ambiguous code on m substantially larger than n keys. When, in particular, this method is applied to the standard ambiguous code, the 8 letter keys of the standard ambiguous code gain the properties of substantially optimal codes without chording on 13 keys. Comments on how to extend ambiguous code creation discussed throughout with reference to English can be extended to other languages. For concreteness, this discussion is carried out with respect to this embodiment, but the comments apply generally to all embodiments.
Second, it is shown that combining a divide and conquer method with the methods exemplified by the previous embodiment, the number of input means can be further reduced, in this example, 4 input means are used to operate an ambiguous encoding with 16 elements. The number 4 is chosen so that a handheld device embodying this code can be operated using the fingers and thumb of the hand holding the device.
It should be pointed out that the ambiguous code of the device of
It will be appreciated that the steps 2000 through 2003 might be applied in any order, and that the application of one of these steps could influence the choices at other of these steps. Details regarding the application of these steps will now be explained.
Step 2000 selecting a set of statistically correlated symbols to be represented in an ambiguous code. This step is comprised of the substeps of 2007 selecting a set of reference statistics, and 2008 analyzing the statistical correlation of symbols relative to the statistics selected in step 2007. The goal of these steps is to identify those symbols which are capable of being represented ambiguously. All disambiguation methods work by exploiting correlations between symbols to make predictions about which sequence of decoding symbols should be associated with a given sequence of encoding symbols. If a decoding symbol is distributed randomly throughout all texts to be encoded, then it cannot be represented in an ambiguous code, since no predictions can be made about a randomly distributed symbol. Typically, for any natural language, the symbols used to encode that language (for instance, letters in the case of English, ideograms in the case of Chinese) are sufficiently statistically correlated that an effective ambiguous code for these symbols can be designed. There may be other symbols, such as punctuation symbols, which are significantly statistically correlated with each other, and with the letters or ideograms used to write the language. The fine details of steps 2007 and 2008 depend on the natural language to be represented. Analysis of statistical correlation of symbols used in written natural language is a well-known art to linguists.
Step 2001, selecting a disambiguation method. As has already been mentioned, there are currently at least two well-know methods of disambiguation, context-based and word-based disambiguation. Both of these methods use statistical context of symbols to make predictions about which sequence of decoding symbols to set in correspondence with a given sequence of encoding symbols. Both context-based and word-based methods can be augmented though use of higher-level information about a language, such as its syntax and semantics. The goal of this present method is to construct an ambiguous code such that, relative to the selected disambiguation method, optimal selection of a decoding sequence to correspond to each encoding sequence. Therefore, the details of the selected disambiguation method can influence the detailed nature of the ambiguous code to be thus designed. This method will be illustrated with respect to the selection of word-based disambiguation as the disambiguation method, though other disambiguation methods will also be discussed.
Step 2002, selecting the number of encoding symbols. The selection of the number of encoding symbols is crucial to the design of a typable device based on ambiguous codes. This selection is made in view of many factors, including the size of the typable device and the acceptable level of ambiguity. These factors and their interplay are best explained in reference to concrete examples; such examples are taken up later in this disclosure.
Step 2003, selecting the constraints with respect to which the code should be substantially optimal. An essential aspect of this invention is the discovery and definition of several constraints which determine the quality of a typable device based on ambiguous codes. These constraints include strong touch typability, lookup rate, query error rate, anatomic fidelity, conservation of conventional gestures, conservation of conventional layouts, partition structure, cross-platform compatibility, regularity of layout, and scan rate. Depending on the application, one or more of these constraints may be relevant to the design of a typable device.
Step 2004, weighting the importance of the constraints selected in step 2003. When more than one constraint is relevant to the design of a typable device, some weighting of the importance of these constraints must be decided upon. It is rarely the case that the same optimum with respect to a given constraint can be optimized as well in isolation as when it is optimized also with respect to other constraints.
Step 2005, selecting an optimization method. Two optimization methods will be discussed in more detail below, random selection, and directed random walk. of the two, random selection is typically easier to implement, yet directed random walk produces better codes. These two methods are representative of a large class of methods which might be appropriate for the design of a given typable device. In some cases, for instance the first chording/ambiguous code device considered below, the number of codes to be examined is small enough that all of them can be checked exhaustively.
Step 2006, applying the optimization method selected in step 2005, whereby substantially optimal ambiguous codes are produced. Regardless of the optimization method selected in step 2005, some skill must be used when applying the method to produce substantially optimal ambiguous codes. In particular, when an optimum is required with respect to several constraints at once, it is preferable to consider each constraint first in isolation, whereby an estimate can be made of the code quality ultimately achievable. This estimate can be invaluable for fine-tuning the optimization process, as will be discussed in more detail below.
Random search provides a benchmark by which the utility of other methods of code selection can be measured. Suppose that a set of constraints, and a weighting on those constraints is given. One can estimate the substantial optimality of a first ambiguous code with respect to those constraints and those weightings by generating additional ambiguous codes at random. If in a small number of random trials it is possible to find a code with equal or better values with respect to the given constraint than the first code, then that first code is not substantially optimal.
If, on the other hand, it can be shown that a substantially large number of random trials is required to produce a code with values better than or equal to the first code, or that on better code exists, then the first code is substantially optimal.
With reference to
Step 3000, determining a set of relevant constraints which define an appropriate set of codes which contains the candidate code. The set with respect to which the substantial optimality of a candidate code is to be evaluated must be appropriately defined. Some of the potentially relevant constraints are: number of encoding symbols, partition structure, and admission of a specified ordering, such as alphabetic ordering. Each of these constraints limits the set of codes to which the candidate code is appropriately compared to.
Step 3001, determining the set of constraints with respect to which the candidate code may be substantially optimal. Some of the constraints which might be relevant for the analysis of the candidate code are: lookup error rate, query error rate, admission of a specified ordering, such as alphabetic ordering, admission of a regular layout, and anatomic fidelity.
Once steps 3000 and 3001 are performed, a distribution of code properties over a set is defined, and this distribution can be sampled randomly.
To illustrate step 3004, a candidate code whose substantial optimality to be tested is selected. This code is the 14-key code pn gt cr zk wj a e hi so ud xf ym vl qb proposed by [1]. The lookup error of this code relative to our reference statistics is 105 words/lookup error. Proceeding as above, we determine that 14-key code with an even-as-possible partition with lookup error equal to or better than that of the candidate code can be found in 7 random trials on average. If we repeat the process, except for using query error rate instead of lookup error rate as the relevant measure, we find that a code with better query error rate than the candidate code (4 words/query) will be found in 3 out of 4 random trials on average. Thus the ambiguous code of [1] is not substantially optimal either with respect to lookup error rate, or with respect to query error rate. Indeed, with respect to query error rate, most codes are better than the given code.
As a rule of thumb, if a code has not been explicitly optimized with respect to a constraint, then it is likely that it is not substantially optimal with respect to that constraint, as measured with respect to any reasonable set of language statistics.
Directed random walk is an iterative optimization method wherein, at each step, a previously best code is used as a seed for generating new codes, one or more of which may be better than the best previously found. As the process is iterated, better and better codes are thus found. The procedure will first be explained intuitively, and then more formally.
In the present context, optimization of ambiguous codes with respect to one or more constraints, we assume no detailed knowledge of the structure of the space to be searched. In the absence of such knowledge, one is blind of foresight as to which direction to move to best continue the search. Thus, the safest procedure to take small as possible steps in as many as possible directions, and refrain from moving until steps in each of these as many as possible directions have been evaluated and compared. As an accumulation of small steps may lead a searcher into a cul-de-sac, any such search should be augmented with a “restart” procedure which allows the search step back out of unpromising or blocked avenues.
More formally, the problem is to take minimal steps though the space of ambiguous codes and direct these steps though that space toward the desired codes. According to the teachings of this invention, substantially minimal steps in space of ambiguous codes correspond to single pairwise permutations of assignments of decoding symbols to encoding symbols. At each step of the optimization method, it is desirable to test as many pairwise permutations as possible, preferably all possible pairwise permutations. The step is completed by choosing the pairwise permutation which gives the largest improvement in the property to be thereby optimized. If there is no largest improvement, then one of the pairwise permutations is chosen at random.
In reference to
When there is but one constraint to be optimized, selection of the best code from the set of candidate codes is a simple matter of choosing the code in the set which has the most optimal value of the constraint. However, when there are several constraints to be simultaneously optimized there is but a partial ordering on the values of the constraints, and it is not obvious how to select among these values in order to best advance the optimization procedure.
One way to perform simultaneous optimization is to optimize with respect to each variable independently. Then, in cases of conflict, where the simultaneous. optimum can not be achieved, this being the generic case, some weighting of the importance of each constraint must be established. And that relative weighting is part of the design constraints.
With reference to
Details of this method are as follows:
Step 5000, Determining quantitative values of acceptable lookup error rate and query error rate. This could be done by testing of an individual or group of individuals, or by simply preselecting desired values for lookup error rate and query error rate, for instance, by selecting a level of strong touch-typability as described above.
Step 5001, Selecting an ambiguous code optimization method. In reference to the construction of substantially optimal ambiguous codes above, two optimization methods were discussed: random search and directed random walk. Random search is less powerful than directed random walk, but may suffice if the number of allowed keys is high enough, and the level of desired strong touch-typability is low enough. An ever weaker method, selection of a code in a single random trial, could be sufficient in some circumstances. To see this in more quantitative detail, some experimental results are discussed in reference to
In this experiment, 5000 ambiguous codes with an even-as-possible partition were selected at random from each of the sets of ambiguous codes for 2-20 keys. In addition, for each number of keys 2-20, an optimization run was performed using directed random walk, in each of three conditions, 1) optimization for lookup error rate only, 2) optimization for query error rate only, and 3) optimization for both lookup error and query error rate, using a target value method. From the values of lookup error rate and query error rate calculated for the randomly selected codes, the following statistics were computed: best value, worst value, average value, and median value. All these statistics are plotted in
Step 5002, Determining the minimal number of keys required such that using said number of keys and the optimization method selected in step 5001 it is possible to achieve the values of lookup error rate and query error rate determined in step 5000.
With reference to the experimental results described above, and the selected levels of strong touch typability described above, one can construct a table giving the minimum number of keys required for each of the three levels of strong touch typability, and reference to the three types of optimization mentioned. This table is presented in
Step 5003, Determining the maximal number of keys allowable given the design of the target typable device. Ambiguous codes will be typically used in small devices, and the number of keys will generally be a compromise between key size and total typable device size. In some cases, convention may enforce a key number, such as the convention of using 12 keys for a telephone keypad.
Step 5004, Deciding if the design constraints are compatible. If the number determined in step 5003 is greater than or equal to the number determined in step 5002, then the design constraints are compatible, otherwise they are not.
As will be seen more clearly in the detailed specification of the device embodiments presented below, the number of keys permissible in a typable device can depend on many factors, and can be more or less rigidly determined by these factors.
Step 5005, If the design constraints are compatible, as determined in step 5004, apply the optimization procedure selected in step 5001 to construct an appropriate strongly touch-typable ambiguous code. If they are not compatible then the procedure fails.
If the procedure fails then at least one of the following things must happen:
A stronger optimization method is chosen.
The device design is modified to allow for more keys.
A lower value of strong touch typability is accepted.
The device is abandoned.
Given present technology, the small size of smart cards substantially forbids complex and power-consuming communication components for transmission of data entered on the keyboard on the card. Thus, this smart-card embodiment teaches a low-cost machine for ergonomically and efficiently sending messages using standard touch tones, and standard touch-tone generators.
Most telephones have but 12 keys, each associated with a touch tone, in the sense that activating each key causes a distinguished touch tone to be emitted by the phone. However, the universal DTMF standard provides for 16 touch tones, and the DTMF tone generator installed in most telephones is capable of generating all 16 of these tones. By exploiting the additional tones, each of up to 16 keys can be assigned to a touch tone, and used to encode alphanumeric symbol sequences. Other things being equal, the larger the number of keys, the lower the ambiguity of codes associated to these keys. The teaching of this embodiment is thus to use substantially all of the 16 touch tones to encode alphanumeric sequences. In this way, machinery for the communication of information with low-ambiguity codes can be produced using readily available, low-cost components.
This embodiment has the further objects of
We will now discuss in detail the manner in which these objects are achieved by the present embodiment.
For example, let us associate 16 encoding symbols with the 16 DTMF tones, so that said tones physically represent the encoding symbols. The tones will be labeled (0,1,2,3,4,5,6,7,8,9, *,#,A,B,C,D). We will take as the core set of symbols the letters [a-z], and associate them with the physically representable encoding symbols via a first ambiguous code as follow (0,aw), (1,bi), (2,cx), (3,d), (4,ej), (5,fo), (6,g), (7,hv), (8,ky), (9,1), (*,mu), (#,n), (A,pz), (B,qr), (C,s), (D,t), where the first element of each pair gives the encoding symbol, and the second element of each pair gives the decoding symbols associated to the encoding symbol. The auxiliary set of decoding symbols will be a singleton set consisting of the symbol “space”. Thus we synthesize one encoding symbol to represent the one decoding symbol “space”. A candidate sequence is A8A, which corresponds to the following decoding sequences (pkp pkz zkp zkz pyp pyz zyp zyz). None of these decoding sequences form part of any word in our reference list of meaningful sequences, thus the encoding sequence A8A is a suitable sequence for representing an element of the auxiliary set, and we form the pair (A8A, “space”) to represent the “space” symbol. The “space” symbol can then be associated with an input means, which input means will cause the sequence of tones associated to A8A to be emitted each time said input means is activated. On the receiving end, a decoding means will transform the sequence A8A to the “space” symbol. Whether a given input means is associated to a single physically representable encoding symbol, or a synthesized encoding symbol, is entirely transparent to the user. An arbitrarily large auxiliary set of decoding symbols can be represented in this way. It will be appreciated that given the above specification, a programmer of ordinary skill would be easily capable of creating software to automatically generate any desired number of synthesized encoding symbols, given a set of reference statistics, and a first (ambiguous) code for the core set of encoding symbols.
For any ambiguous code, most of the disambiguation effort, on the part of the computing hardware and software as well as on the part of the user, is incurred in selecting which of the alternative decodings to an ambiguous encoding should be selected. In view of the limited computing capability of the smart card, querying for alternative decodings can be eliminated entirely. In the absence of querying, only the most probable decoding for each encoding need be stored, for only the most-probable decoding sequence will be output by the disambiguation mechanism when each encoding sequence is received. With this simplification, a particularly compact form of the database can be obtained, e.g. in the form of a simple suffix tree. Since querying is eliminated sufficient visual feedback can be provided using only a simple, low-power requirement display, for example, a single-line traveling banner display related to the type of display used in pocket calculators or digital watches.
This method of disambiguation, in which only the most-probable decoding sequence is stored and output, we will refer to as simple lookup disambiguation. Simple lookup disambiguation is only effectively operable with ambiguous codes which are sufficiently strongly touch typable. Thus a surprising consequence of strongly touch typable codes is that they permit effective operation of very simplified disambiguation mechanisms.
An example 16-key substantially optimal ambiguous code suitable for application in the present embodiment is the code aw bi cx d ej fo g hv ky l mu n pz qr s t with lookup error rate 4043 words/lookup error, and a query error rate of 68 words/query, this code is shown is an example layout 51 on a 16-letter-key smart card in
Since queries are not permitted at the sending end in this embodiment, this code was chosen by directed-random-walk optimization using lookup error as the only constraint of optimality. It is to be noted that lookup errors using this code will occur on average only once every roughly 16 pages of typed text. Thus this code is suitable for accurate communication of substantially long messages, even in the absence of a querying mechanism. If it were desirable to sacrifice some lookup optimality at the sending end in order to reduce processing of queries at the receiving end, an example alternate code optimized for both query and lookup error is aw bu cx d ev fz go hj im ky l nq p r s t with a lookup error rate of 2670 words/lookup and a query error rate of 101 words/query. Choice of a code optimized both with respect to lookup error rate and query error rate would be appropriate in at least two circumstances, 1) if the smart card were in fact sufficiently powerful to support a query mechanism, and/or 2) a query-based disambiguation mechanism would be used at the receiving end of communications initialed at the smart card. This latter might be the case, for instance, if the user composed messages using a smart card, sent them to another computer over a phone line, and at some later moment performed a second disambiguation pass using a more powerful disambiguation mechanism. Indeed, the second disambiguation pass need not be performed by the person who composed the message, but could be performed by a second person, for instance the first person's secretary.
In any case, the lookup error rate of this second code is still extremely low, as compared, for instance, to the rate at which even very skilled typists make typing errors, approximately 1 error every 100 words. By any reasonable measure, both of these 16-letter-key codes must be considered strongly touch typable, as a typist typing 20 words per minute will only need to answer a query once every three minutes for the first 16-letter-key-code, and once every five minutes for the second 16-letter-key-code. Performing the same optimizations for ambiguous codes for 9 letter keys, we find, for example, the code akw bnq cly dhx epv fim gr jot suz optimized only for lookup error rate, and with lookup error and query error rates of 116 words/lookup error and 4.4 words/query respectively. This code is shown in an example layout on a 9-letter-key smart card in
Here it is pointed out that the computing resources needed to provide useful feedback are even less than the computing resources needed for simple lookup disambiguation. Even if no disambiguation database and software is present on the card, and using only rudimentary electronic circuitry, well known to those skilled in the art, a unique character can be sent directly to the display in response to each key press, where said character is the most probable (according to the reference statistics) letter associated with the key. Using for example the code aw bi cx d ej fo g hv ky l mu n pz qr s t described above, the resulting text would typically be quite readable by a human. For example, the first line of the Gettysburg address, rendered using 1-block (single-letter) statistics reads as follows:
This level of accuracy is already enough provide a rough guide to the typist as to the text he or she is in the process of entering on the smart card. This example shows that disambiguation can be accomplished with extremely small amounts of memory; here the only memory required is that needed to store the 16 characters which will be displayed in response to activation of the 16 keys. This approach is scalable in terms of the computing resources required. With successively more memory, 2-, 3-, and higher-block probabilities could be stored and used as the basis of well-known context-based disambiguation, and thus render the text with increasing accuracy for display to the user.
While context-based disambiguation is well known in the art, it has heretofore proved to be not practical. This example shows the reason for this: context-based disambiguation is not powerful enough to effectively disambiguate codes which are too ambiguous. In this example context-based disambiguation is coupled with a code which is sufficiently strongly touch-typable, sufficiently disambiguous, that it permits effective disambiguation with a context-based method. The prior art has taught away from context-based disambiguation in favor or word-based disambiguation. However, in application of the teachings of this invention, context-based disambiguation is made operable and viable for practical use.
The example further shows that 1) word-based disambiguation is not required to practice the teachings of this invention, 2) a micro-processor is not required to practice the teachings of this invention, and 3) more than one, potentially different, disambiguation mechanisms can be used in the same communication system based on ambiguous codes. Word-based disambiguation, or another disambiguation method, could be used at the receiving end of a communication sent from the smart card, while locally the smart card is using simple context-based disambiguation to provide feedback to the user of the smart card.
As the size of the blocks used in context-based disambiguation increases, the accuracy of text rendering increases as well. However, at some block size the amount of storage required approaches that of the storage requirements of word-based disambiguation, and since word-based disambiguation generally gives better results than context-based disambiguation, word-based disambiguation will generally be preferred, if there is enough memory available to support it.
Queries will be displayed on a visual display in most practical implementations of typable devices implementing ambiguous codes. When the vision of the user is otherwise urgently occupied, for example when the user is driving a car, then, for safety reasons, distracting that vision to the evaluation of queries must be kept to a minimum. Even when queries are made by auditory means, it is crucial to minimize driver distraction. Further, while driving a car, both hands of the user are generally occupied in holding the steering wheel of the car, and should preferably not be removed from the steering wheel to operate a typable device. This object can be achieved by embedding the input means of the typable device directly in the steering wheel.
Referring now to
With respect to the steering-wheel embedded keyboard just sketched, it is natural to select a code on 8 keys, said keys to be associated with the first input means contacted by the fingers of both hands, along with two mode-switching keys to be associated with the second input means contacted by the thumbs of the driver.
There are several additional strategies for reducing query error rate, beyond choosing a substantially optimal code, and these strategies can be used in combination. They include
Increasing the total number of keys by increasing the number of keys activatable by each finger. It will be appreciated that this could be done, for instance, by adding another row of keys on the steering wheel, or, equivalently, making each key multipositionable, or using a chording method by which two or more keys are pressed simultaneously to encode a different subset of encoding symbols.
Eliminating queries when the less-probable decodings are much less probable than the most-probable decodings. The parameter controlling how close the probability must be between most-probable and less-probable decodings must be to invoke a query is a parameter whose value could be selected by the user. Such a mechanism could be of value in any embodiment in which query error rate is a relevant constraint.
Using a hybrid chording/ambiguous code method, as described in detail below.
Using a disambiguation method which is more powerful than simple word-based disambiguation.
We may also compare this 10-key code with two 9-key codes proposed in U.S. Pat. No. 5,818,437 to Grover, and U.S. Pat. No. 5,953,541 to King, respectively. The first of these codes, afg bkn jlo mqr ew dhi sux ptv cyz has a lookup error rate 86.5 words/lookup error, and a queryrate of 3.9 words/query, while the second, rpq adf nbz olx ewv img cyk thj su has a lookup error rate of 115 words/lookup error, and a query error rate of 5.2 words/query. These codes are both significantly inferior to the example 10-key code which is herein designed for this task. As neither the U.S. Pat. No. 5,818,437, nor U.S. Pat. No. 5,953,541 are enabling with respect to the construction of the cited ambiguous codes, nor are the statistics available with respect to which these codes are optimized (if they are indeed optimized), we can draw no further conclusions as to the substantial optimality of these codes.
Another useful comparison is to 9-key codes which are optimized according to the teachings of this invention with respect to both lookup error rate and query error rate. We construct, for example, the code am bnz cfi dhx evw gjr kos luy pqt with lookup error rate 109 words/lookup error and query error rate of 6.2 words/query. Comparing these results, we find that the improvements which result from the teachings of this embodiment are from two sources 1) using more than 9 keys to permit the improvement of lookup error rate and query error rate, and 2) optimizing both with respect to lookup error rate and with respect to query error rate. If the approach taught by this embodiment is extended to 11- and 12-key codes, one finds for example the 11-key code, avy bn cl dhx ew fip gjo kr mu qt sz with lookup error and query error rates of 215 words/lookup error and 10.1 words/query respectively, and the 12-key code aw bn cky dhq of go ip jr lz mx sv tu with lookup error and query error rates of 313 words/lookup error and 13.2 words/query respectively. Thus, by sacrificing the use of the * and # keys for the encoding of non-letter symbols, we can dramatically improve lookup error rates, and substantially improve query error rates, bringing the standard-telephone-compatible keyboards comfortably into the (level B) strongly touch-typable range. Whether or not these improvements outweigh the reduction of the ability to encode non-letter symbols by using * and # keys can only be decided in reference to the intended uses of the devices so constructed. It is to be noted that non-letter symbols could be encoded using sequences of encoding symbols as described in reference to the smart-card embodiment specified above. If the * key and # key are available to encode non-letter symbols, then a particularly ergonomic scheme, which respects in part the convention of using the # symbol as an end-of-transmission symbol is as follows. Let # encode the space symbol=end-of-word symbol, ## encode. =end-of-sentence symbol, and ###=end-of-transmission symbol. In this way the complexity of encoding a symbols varies inversely with the probability of the symbol. Depending on the application, sequences of the * symbol could then be used to encode other non-letter symbols such as backspace, @ (for electronic mail applications), and/or be used as a mode changing symbol.
Given the constraint of alphabetic ordering, each ordered partition of 26 elements into 10 groups corresponds to a unique ambiguous code. Given sufficient computing time, it would be possible to evaluate the lookup and query errors of each of these codes, and choose the best. An alternate and more efficient procedure is to apply the optimization methods taught by this invention to this constrained optimization problem. This invention teaches that a minimal elementary step in the set of possible codes should be defined, in the absence of information suggesting the use of some more complex elementary step. In the current context, an ambiguous code is a ordered list of 10 groups of letters, such that all letters occur in exactly one group, and within and across groups, the letters appear in alphabetic order. An example is ab cd ef gh ij kl mn opqr stuv wxyz. There are thus 9 gaps separating the groups. An elementary step consists of moving one letter across one gap. For instance, if we choose the second gap, we can produce in one elementary move either the code abc d ef gh ij kl mn opqr stuv wxyz, by moving the letter c to the left, or the code a bcd ef gh ij kl mn opqr stuv wxyz, by moving the letter b to the right. Given a specified code, all possible codes which can be obtained by one elementary move from the specified code can be simply generated. Given this observation, and the specification of the directed random walk method given above, it will be evident to one skilled in the art how to apply the optimization methods taught by this invention in the present context. Applying this method we find, for example, the not even-as-possible code ab cd ef gh ijklm no pqr s tu vwxyz, with a lookup error rate of 65 words/lookup error and a query error rate of 5.8 words/query. This code is shown in a preferred arrangement on the keypad of a telephone in
The method of optimization over partitions is evidently not limited to this embodiment; it could be applied, for instance, to the smart card embodiment previously discussed, to produce optimal codes with alphabetic ordering on an array of 9-16 letter-symbol bearing keys, or to Qwerty-like keyboards as discussed below. Qwerty-like Keyboards The approach used in the previous embodiment to generate a keyboard which at once 1) is compatible with a standard keyboard, and 2) is optimized with respect to various constraints, can be used to produce keyboards which are 1) similar to the standard Qwerty keyboard, and 2) are optimized with respect to various constraints. As in the previous embodiment we will maintain as well as possible the layout of the standard keyboard by maintaining the ordering of the assignment of symbols to keys, and yet optimize over partitions of those ordered symbols so as to minimize lookup and query error rates as well as possible, maintaining an even-as-possible or not even-as-possible partition. This embodiment is Qwerty-like in that that letters remain in the same row of keys as given by the Qwerty arrangement, generally implying that the number of letter-assigned keys monotonically decreases from top to bottom row, as is the case for the conventional Qwerty keyboard
There exists a sequence of keyboard layouts which are Qwerty-like in that they have three rows devoted to letter keys, and variable numbers of columns, from one up to 10 columns. It is clear that with but one column, that is, but three keys, lookup and query error rates must be very high. There is but one possible ambiguous code which corresponds to the ordering of symbols of the Qwerty keyboard. This code, qwertyuiop asdfghjkl zxcvbnm, is an even-as-possible Qwerty-like code with a lookup error rate of 2.8 words/lookup error, and a query error rate of 1.1 words/query. This code of such poor quality that it is unlikely to be acceptable for any serious use. As the number of columns increases, we are able to find better and better ambiguous codes which are strongly touch typable beyond some threshold number of columns At the same time, as the number of columns increases, the device size required to contain the keyboard, maintaining substantially full-sized keys, increases as well. Thus design of Qwerty-like keyboards must be a compromise between code ambiguity and keyboard size If, for example, we wish to build a keyboard which is Qwerty-like and substantially the same size as a pocket calculator yet using full-sized keys, 7 columns can be used, as shown in
It is to be noted that in terms of lookup and query error rates, the cost of adhering to the Qwerty convention is high, even when the convention is adhered to but approximately. In the code given above 17 keys are devoted to letter symbols. If we now allow for arbitrary assignments of letters to 17 keys, we find codes such as w r t bu gi ov p af s d ej ky l hz cx n mq with a lookup error rate of 7483 words/lookup error, and a query error rate of 290 words/query. This is equivalent to one lookup error every 30 pages of typed text, and less than one query per page of typed text. It is difficult to imagine a use with respect to which this keyboard would not be strongly touch typable.
With reference to
It is to be noted that by allowing some departure from strict Qwerty ordering, a very substantial gain has been made in terms of functional conservation of Qwerty gestures and layout. When the rows are slightly displaced relative to one another, such as they are in the standard Qwerty layout, much or most of the finger gestures required to operate the various keys of this Qwerty-like keyboard is the same or similar to the finger gestures required to operate the standard Qwerty keyboard. This illustrates a tradeoff between the constraints of preservation of a conventional ordering, and the constraint of preservation of conventional function.
Labeling to Optimize Cross-Platform Compatibility
In view of the many competing constraints which might be optimized, and the variety of user populations and their needs, it would be motivated in practical implementations of such devices to allow users the choice between the optimized Qwerty-like keyboard and other corresponding keyboards optimized or optimized as well with respect to a selection of other constraints, such as lookup and query error rates. This choice would be facilitated if the labeling of the keys could be changed in software. This object could be attained if each key were equipped with a display means capable of displaying at least one symbol at a time. Such display means could for instance comprise an light-emitting diode array, or a liquid-crystal display, etc, the labeling of the keys could thereby be changed in software, eliminating the need to fixedly label the keys with indicia corresponding to all of the alternate layouts
It will be appreciated by those skilled in the art that the keyboard design method used to prepare the present embodiment could be applied to the conservation or partial conservation of other conventional keyboard designs, such as the Azerty keyboard used in France.
Referring now to
It will be appreciated by those skilled in the art that said assignment of an ambiguous code to a plurality of keys in the ambiguous keypad can be achieved in software; there is no need for special-purpose hardware. However, if it is desired to have the keys thus assigned be labeled with the elements of the ambiguous code, then some modification of the keyboard labeling may be required. To give a concrete example of the use of an ambiguous code in this setting, we choose an ambiguous code in which letters are assigned to 17 keys in such a way as to minimize lookup error and query error rate, with respect to our standard corpus. The code illustrated in
To illustrate the use of the thumb-actuated auxiliary input means for mode changing, we refer again to
It will be appreciated that 1) other assignments of modes and/or symbols to the auxiliary keypad are possible, and in accordance with the teachings of this invention, and 2) with a more complex set of auxiliary input means, additional modes and symbols can be assigned to the auxiliary input means. Assignment of symbols to modes will be discussed in more detail in reference to another embodiment. That discussion is applicable to other embodiments, including this embodiment.
Further objects and advantages will become clear in detailed specification below, which takes up in turn each of the above-listed objects and advantages.
One strategy often employed in the prior art to achieve unambiguous text entry using a small number of keys is to use a chording method. In satisfying their urge to maximally reduce the number of keys, chording keyboard designers have consistently taught away from providing a sufficient number of keys so that chording patterns can be kept simple. By an elementary combinatorial argument, the number of keys cannot be less than ½ the number of symbols to be encoded if the complexity of a chord is never more than 2, that is, if it is never required to active more than 2 input means substantially simultaneously in order to unambiguously encode a symbol. The present invention teaches, by contrast to the prior art, to provide a number of keys no less than ½ the number of symbols to be encoded, if a simple mechanism for unambiguous encoding of those symbols is to be provided. In particular, the present invention teaches to provide at least 13 keys to represent the letters [a-z], and at least one mode changing key. Said mode-changing key such that when activated by a user in combination with one of the letter-assigned keys serves to uniquely and unambiguously encoding one of the letters associated to said one letter-assigned key
In an ambiguous keyboard, some keys represent a plurality of symbols with a single keystroke. To use the same keyboard in an unambiguous mode, said single keystroke must be combined with at least one other keystroke, perhaps of the same key, to permit each individual symbol associated to the key to be singled out. For ergonomics, it is preferable that said combination of keystrokes be as simple as possible, and for a touch typability, it is preferable that substantially the same combination of keystrokes is used for unambiguous entry of all symbols. These two constraints are best satisfied if 1) the same number of symbols is associated with each ambiguous key, and (an even-as-possible partition) 2) the number of symbols on each ambiguous key is small. Taken together, these constraints imply that the preferred number of keys for an ambiguous code which is to be touch typed is one-half of the number of symbols to be represented ambiguously. And, in the case where the symbols to be represented are the 26 letters in the alphabet, the constraints taken together imply that 13 keys are preferred, in the absence of any further constraints
One way this observation can be exploited to produce an ergonomic, touch-typable ambiguous keyboard with an ergonomic, touch-typable unambiguous text entry mode is described in reference to
True touch-typists type without looking at the keyboard, keeping their eyes focused on the text being produced, or the copy being transcribed. For the touch typists, then, it is preferable to have all querying for alternate interpretations of ambiguous sequences done in such a way that 1) their eyes are not diverted from the text-display screen and 2) queries can be answered in a simple, stereotypical manner from the keyboard. These objects can be accomplished by reserving a key for advancing in a list of candidate words, and highlighting the ambiguous word on the screen. Users scroll through the list of candidate words using this scroll key, and as soon as a key other than the “scroll” key is pressed, the word in the scroll box is considered selected.
With reference to 23 and 24, we explain in detail the software underlying touch-typing-oriented querying, and the visual display it controls. In the first step 800 a query has been detected, that is, the disambiguation mechanism has discovered that more than one meaningful decoding sequence in the database corresponds to the input encoding sequence. Entrance in the query mode causes a means to draw the users attention to the decoding under query to be display. These means could be visual means such as the framebox 702 shown in
On the other hand, if input from the scroll key is detected at step 806, then a test is performed to see if there exists any other meaningful decodings in the data base 812. If there is, the current decoding is replaced with the next most probable decoding (step 814), and step 806 is returned to. If there is no next-most-probable decoding, then, preferably, the typable device enters unambiguous text entry mode as described above (step 816), when the decoding sequence has been unambiguously entered, the means to draw attention to the user is removed (step 808), the unambiguously entered decoding is added to the existing text (step 810) and ambiguous text entry mode is reentered (step 818).
While this method for in situ presentation of alternatives has been presented in terms of touch-typing-oriented querying, it will be appreciated that the same method could be applied in other contexts, such as when the “decodings” are words with related meanings, and the database is a thesaurus, or when the “decodings” are various possible translations of a word into a foreign language, and the probabilities of the decodings are supplied by an automatic translation program.
This embodiment concerns a one-handed keyboard suitable for entry of data into forms, such as spreadsheets or web-based forms. It will be of use for interaction with a program, such as a game or a drawing program, 1) which requires quick alternation of typing and cursor movement, and/or 2) where the symbol set which is appropriate for entry may vary depending on where the cursor is on the screen. Using the standard computing configuration of a Qwerty keyboard and a mouse, users must remove their hands from the keyboard to move the mouse. In tasks which involve both typing and mouse manipulation in rapid succession, such as labeling a design presented on the computer screen, or filling in a form, such as an HTML form, this alternating use of mouse and keyboard can be quite slow and laborious. In this embodiment, a one-handed keyboard is mounted in a frame which may be moved over a surface and thus perform the functions of a mouse as well as a keyboard. Since users may prefer to use a two-handed keyboard for predominantly text-entry tasks, and intermix usage of the one-handed keyboard with use of the one-handed keyboard, it is desirable to have the layout of keys on both keyboards be as similar as possible, so as to permit seamless transfer of touch-typing skills from the two-handed to the one-handed keyboard.
Referring now to
The design strategy is as follows:
Beginning with the 13-key code selected to illustrate the teachings of this embodiment, and choosing to favor the right hand, one constructs the keyboard layout described in
Conversely, if most typing is done with a two-handed keyboard, and only occasionally with a one-handed keyboard, it may be desirable to have as even as possible weight on the two hands when used to operate the two-handed keyboard. This object can be achieved with an alternate layout of the two-handed keyboard as shown in
It will be appreciated that for a 13-key ambiguous code there are 213 different ways of pairing homologous left- and right-hand keys of a two-handed keyboard. This number is small enough that the symmetry of the weights assigned to the two hands in each set of pairings can be evaluated, and depending on whether a most-symmetric or most-asymmetric weighting is desired, or some intermediate value, the appropriate assignment can be selected.
Referring now to
It is to be noted that while this device performs the functions of a mouse, it bears little physical similarity to a mouse. Its form factor is determined by the anatomy of the hand in a comfortable position for touch typing. The device must therefore be considerably larger than a standard mouse, and the means for moving the device substantially different.
To communicate motion of the keyboard 305 to the computer, said keyboard is equipped with a motion sensing means, such as a trackball, familiar to those skilled in the art. Preferably, the keyboard 305 can be further equipped with a biasing means, such as springs, to lift the keyboard away from the support means when the weight of the hand on the keyboard is lessened, thus facilitating movement. In contradistinction, when the substantially full weight of the hand is applied to the keyboard, the keyboard remains relatively stably fixed to the support means whereby typing is facilitated.
The two-handed keyboard may thereby be used for long typing episodes, uninterrupted by the need to move a mouse, and the one-handed keyboard for quick typing/mouse movement alternation.
This twice-foldable design is a surprising consequence of ambiguous codes. It is remarkable that typable devices built by the methods taught by the present invention permit keyboards which are at once 1) effective for the coding of natural language, 2) use substantially full-size keys, and 3) are small enough to be placed in a pocket or a small hand bag. This embodiment is based on building a hand-held computing device from substantially same-sized elementary units which are the size of a keyboard designed for an ambiguous code, said units being configurable in a variety of ways depending on the instant needs of a user. The elementary units can be foldably and/or detachably connected to each other in each of a variety of configurations. In this way the computing device can alternately play the role of a laptop computer, a personal digital assistant, a telephone, a gaming device, and so on.
With reference first to
Folding the computer along the line 908 shown in
Finally, the computer can be folded along the fold 909 shown in
To recapitulate: thanks to ambiguous codes, we can design a portable communication and computing device which functions alternately as a telephone, a personal digital assistant, and a laptop computer.
It will be appreciated by those skilled in the art that if each of the elementary units, including the keyboard units, are built from touch-screens, then the variety of configurations and uses of this device could be further increased. What would be lost, however, is the tactile feedback from the keyboards built from standard, depressable keys. Many other variants are possible, consistent with the teachings of the present invention.
In reference to
One of the essential and surprising features of the present embodiment is that by use of a touch-typable keyboard in a device comprising a touch screen, we design a radically new user interface for information appliances such that keyboards need not compete for limited screen space with applications programs. The same touch screen area can be used both for the application program and for the keyboard.
The crucial observation is that if the keyboard=has fixed letter assignments to keys, then the keyboard does not need to be displayed to the user to be operative. The user's fingers “know” where the keys are, without visual referents. Thus, the keyboard can be used to enter data into which ever application program is currently displayed on the touchscreen. If, further, the keyboard is strongly touch typable, then the keyboard can be used to produce high quality text, even if no screen space is used for querying feedback to the user.
With reference to
The ability of touch screens to easily present alternate keyboard layouts is used in this embodiment to enable a given input means to represent many different symbols or groups of symbols, depending on the “mode” of the keyboard at any given time. When a touch screen is used to embody a keyboard, each input means is associated with a specified region of the touch screen. The dual function of the touch screen as a visual display and as a plurality of mechanically activated input means is exploited to give each input means different functions and different labels depending on mode. It will be appreciated, however, that the same effect could be obtained with mechanical keys of a traditional, depressable structure by equipping each mechanical key with its own display device. In this way, the methods for mode changing here specified in reference to a touchscreen comprising device could be applied to devices comprising mechanical keys, such as many of the other devices specified in the present disclosure.
Thus there are three principles which guide the assignment of symbols to modes and of symbols to keys within modes: adherence to statistical relationships, adherence to conventional relationships, and adherence to conceptual relationships between symbols. In the design of typable devices employing ambiguous codes the problems associated with the design of modes are particularly acute since a plurality of keys must already carry the burden of encoding more than one letter symbol on each key, and the number of keys available to encode symbols is typically sharply limited. However, the same methods which have been above applied to produce ambiguous codes for letter symbols can also be applied to non-letter symbols such as punctuation, provided that these non-letter symbols are strongly correlated.
The collection of symbols to be encoded by a keyboard will be divided into subsets corresponding to modes. Modes can be at least partially ordered according to how much manipulation is required on the part of the user to obtain each mode and/or how frequently the symbols in each mode are used. Thus we can speak of primary, secondary, tertiary modes and so on in order of increasing amounts of manipulation required to obtain each mode and/or decreasing probability of the symbols in the mode.
Letter symbols are preferably placed in the first mode or modes. The subtle design issues have to do with methods for assigning non-letter symbols to modes, and arranging the spatial layout of each mode.
A first statistical measure to be taken into account is the probability of non-letter symbols. Some of these non-letter symbols, such as punctuation marks and digits, are essential to communication and may occur with a frequency rivaling or exceeding those of letter symbols. These punctuation marks are candidates for inclusion in the primary or secondary symbol set in any effective keyboard design. Next to be considered are correlations which arise from non-letter acting in concert with other non-letter symbols. Some non-letter symbols have conventional and conceptual relationships with other non-letter symbols, for example, the symbol (left parenthesis) is related to the symbol) (right parenthesis), as the two symbols act together to express meaning. The symbol . is related to the symbol , as the two symbols express similar meanings (end of a phrase or sentence). These are examples of global relationships, common to most uses of the language, in these cases including languages such as English. There are other, more local, relationships which could be accounted for in keyboard designs for specialized purposes, such as the relationship between : and / in the expression :/ commonly used in site addresses on the World Wide Web (URLs or Universal Resource Locators).
Non-letter symbols may also have statistical, conventional, and conceptual relationships with letter symbols. For some symbols, it is possible to analyze their statistical relationships with each other with reference to a corpus. For others, user studies are needed, or specialized software to capture these symbols for statistical analysis, since the symbol may never appear in a text. Examples here are “backspace”, “page up”, and other symbols which are used to edit, examine, or otherwise manipulate a text.
Given reference statistics constructed in this way, a next step in the assignment of symbols to modes is to arrange the symbols in such a way that the statistical, conventional, and conceptual relationships are best satisfied. A further constraint which could be taken into account is the mnemonic potential of the arrangement. Preferably, all symbols are arranged within and across modes in a way that “makes sense”, that is, that the symbol pattern is simple, familiar, preferably visually well structured. Even well-trained touch typists may revert to a visual scanning mode to find infrequently used symbols on a keyboard. Thus, mnemonic potential may be the overriding concern in the arrangement of modes devoted to less-frequently used symbols. It is to be appreciated that mnemonic potential can be quantified using experimental protocols for memorization tasks well-known to psychologists.
To illustrate the approach, an example layout of letter symbols [a-z], digits, and the 32 nonletter symbols
˜!@#$%^&*( )_-+={[]|\:;″'<,>.?/
found on a standard keyboard is provided. This arrangement comprises three mode changing keys, and 3 modes, each mode containing 16 symbol keys, as shown in
The first mode (
The second mode (
The third mode (
It has already been pointed out that different modes may contain symbols of different levels of familiarity to the user. To account for these differences, the transparency of the keyboard could also be adjusted as a function of mode, becoming increasingly less transparent as the unfamiliarity of the symbols in the mode increases. It is to be noted that the same effect of distinguishing the keyboard for the applications program could be accomplished by adjusting other visual factors, such as the color of the image, in addition to its transparency.
It has been noted that there are two main prior-art approaches toward typable devices with a small number of keys: chording methods and ambiguous-code methods. One aspect of the present invention is to teach how to synergistically combine these two methods.
We can distinguish two kinds of chording methods 1) methods in which a key or keys are reserved for the function of forming chords, an example is the familiar shift key used for keying uppercase letters by a chording combination of the shift key with a letter key, and we will generally refer to such keys as shift keys, 2) methods in which chords are formed by activating a plurality of letter keys substantially simultaneously. In the present embodiment the first of these methods is used, in a subsequent embodiment, the second of these methods is used.
The essential insight of this aspect of this invention is that substantially simultaneous activation of a pair of input means is readily unified into a single gesture by a human user. Thus, a pair of keystrokes is no or little more difficult to master than a single keystroke, yet, a pair of keystrokes contains substantially more information than a single keystroke, and thus can be used to create easily operable, low-ambiguity codes and typable devices based on these codes. Thus, to make the keyboard easy to learn, chords must require no more than a pair of keys to be activated substantially simultaneously. Such an ambiguous code which uses a maximum of two keystrokes (encoding symbols) to encode any given letter (decoding symbol) will be referred to as a max-2 ambiguous code, (see
It is preferred that at least one of the decoding symbols is a strongly correlated symbol. In this way, should a chord be formed improperly, when a shift key is activated when it should not be or not activated when it should be, the disambiguation software may be able to correct for this error.
Thus, while chording and ambiguous codes could a priori be combined in any number of ways, according to the teachings of this embodiment, preferred combinations are such that
no more than 2 input means need be substantially simultaneously activated in order to encode any substantially probable symbol. That is, a max-2 ambiguous code is preferred, see
When chording and ambiguous-code methods are combined according to these teachings, surprising and synergistic results are obtained as will be demonstrated by the present embodiment in which a hybrid chording/ambiguous-code method is applied to a telephone embodying the standard ambiguous code. We have already seen that the standard ambiguous code has rather poor lookup error and query error rate. It is therefore quite extraordinary that using a hybrid method a keyboard based on the standard ambiguous code can be made (level C) strongly touch typable, and the standard ambiguous code with 6 effective keys is transformed into a code with 13 effective keys The objects of this embodiment are to produce a keyboard which is strongly touch typable, fully compatible with standard telephones embodying the standard ambiguous code,
A standard telephone embodying the standard ambiguous code is shown in
For each of the keys in the plurality 10000 the corresponding letters will be divided into two subsets, which will be referred to as the shift set and the nonshift set respectively. That is, the shift set contains max-2 sequences of encoding symbols which consist of one combining encoding symbol and one key-assigned encoding symbol, whereas the non-shift set contains a single key-assigned encoding symbol. Note that elements of both shift- and non-shift sets of encoding symbol sequences could correspond to more than one decoding symbol under the ambiguous code.
As is usually the case, simultaneous optimization with respect to lookup error rate, query error rate, and other constraints implies compromise. For instance, one could potentially achieve better lookup error rates and query error rates by removing the limitation just made that one of the (shift, nonshift) sets is mapped to a single decoding symbol, so that only a single letter per key and allow, rather, the number of letters in the shift set to vary from key to key. However, regularity of the partition into shift and non-shift sets makes the keyboard easier to learn, a constraint which is here given high priority. Learnability could be further improved by selecting the singletons such that the collection of singletons is easy to remember, perhaps by mnemonic. This selection, however, could compromise lookup error rates and query error rates.
There are 11664 different pairs of shift/non-shift sets obeying the constraint that the shift set contains but one letter per key. This number is small enough that all possibilities can be tested for their properties.
The results of testing all such codes are shown in
To further facilitate the learnability and operability of this keyboard, the letters which form the shift set are preferably represented on the corresponding key using an uppercase letter, while the letters in the nonshift set are represented as a lowercase letter, as shown in
Use of this device is simple. When the text to be typed contains a letter in the shift set, then the shift key must be operated substantially simultaneously with the corresponding letter key, this letter will be represented unambiguously. By contrast, when a letter in the nonshift set is required, the corresponding letter key is operated, and the letter is represented ambiguously.
In view of the teachings of this invention, it will be appreciated that the disambiguation mechanism corresponding to this embodiment could be physically located within the telephone, at the sending end of the communication, and or at the receiving end of the communication, for instance at a central computer which the user contacts by telephone.
As we have seen, on the standard telephone keypad there are 4 keys available to encode non-letter information such as mode changes. Using the method of synthesized encoding symbols described above, the number of non-letter symbols encodable using a telephone keypad can be further increased. In particular, added shift keys can be provided if even lower levels of ambiguity are required. For instance, with 4 shift keys, each associated to one letter on each letter key, totally disambiguous text entry can be achieved, albeit while increasing the number of keystrokes per letter. In short, many associations of subsets of decoding symbols with shift keys can be imagined. One particular class of assignments is considered in a later section on internationalization of these teachings, up to now described in detail mainly with respect to English.
It will be appreciated that using the shift key in combination with the remaining non-letter keys, in the preferred arrangement the *, # and 0 keys, can be used to encode at least 6 non-letter symbols, such as punctuation symbols, mode-shift symbols, and the like.
It is to be noted that in the device shown in
For example, CEHLNSTY, optimized for English, performs less well for French than a code specifically chosen for its optimality with respect to French. In this particular example, CEHLNSTY remains strongly touch typable with respect French, though this will not be the case with respect to all languages.
In order to gain economies of scale, manufacturers may wish to produce a single machine operable in many local linguistic environments. Since a typable device, for instance, a mobile phone, may preferably have keys labeled with the ambiguous code for which it is designed, it is useful to have a single code which applies to many languages, so that this labeling can be done in the same way for all machines in a production run, regardless of the target linguistic community.
Applying exactly the same techniques as have been already described, it is possible to produce ambiguous codes which are simultaneously optimized with respect to several different languages. In a multi-language optimization method, the step of weighting constraints with respect to each other can include as a sub-step the step of weighting multiple languages with respect to each other. Different weighting schemes are appropriate in different circumstances. For instance, one may choose to simultaneously optimize with respect to statistics of English and German, and yet weight performance of the code with respect to English as more important than performance with respect to German.
A preferred weighting method is one in which the minimum performance is maximized, such a procedure will be referred to as a mini-max procedure.
Consider optimizing with respect to a set of languages l1, l2, . . . , ln, and a set of ergonomic constraints, e1, e2, . . . , em. Given two ambiguous codes c1, c2, and for each constraint em, we rate c1 as better than c2 if for c1 the minimum of em over the languages ln is greater than the minimum of em over the languages ln for c2. When several constraints must be optimized against, it may happen that one code is better than another in the mini-max sense with respect to one constraint, but worse with respect to another constraint. In this case the constraints must be weighted with respect to each other as has already been described in detail.
As an example of these teachings, consider optimizing with respect to lookup error and query error for a set of languages. In this example will we allow non-alphabetic orderings, and use 8 regular input means, and a auxiliary input means and an accent-shift auxiliary input means, so that the 8 regular input means can be used in combination with one of the auxiliary input means in a hybrid chording/ambiguous code embodiment as has been previously described.
First consider optimizing with respect to the set of languages consisting of French, Italian, Portuguese and Spanish, each language represented by a set of reference statistics.
Using the directed random walk method, one readily finds codes such as joz m bhx a kn r pw d iy l gq t ev c fu s with (lookup error rate, query error rate) of (3250,265), (11400,3800), (4720,505), and (6280,400) with respect to French, Italian, Portuguese and Spanish respectively. This code has relatively poor performance on Dutch, English, and German, with values of (65,4.8),(93,10), and (360,13) respectively.
Using a similar amount of computing time, but optimizing now with respect to Dutch, English, and German, one can find codes such as cjk r biy l fv e mo a sz p hx g to d qw n which yields (1220,44), (816,44), (480,47) on these languages respectively. This same code yields (253,20),(306,50),(525,36), (4236,272) for French, Italian, Portuguese and Spanish respectively. And while these results are respectable for the out of sample languages, they are not nearly as good as the results obtained when ambiguity with respect to these languages is explicitly optimized. These results suggest that the more different the languages are from each other, the less performance on one language generalizes to performance on another language.
In practical circumstances, the decision as to which languages to include in a multi-language optimization scheme are more commercial then conceptual. The important inventive concept taught by this disclosure is that even the minimal performance over the selected languages should be such that the code is should be typable. In the cases examined above, optimization with respect to French, Italian, Portuguese and Spanish discovered a code which is level C strongly touch typable with respect to these languages, but the minimal performance is barely level A strongly touch typable with respect to Dutch, English, and German.
A concrete manifestation of these discoveries will now be described in detail, with reference to
This embodiment is a device which is strongly touch-typable with a single hand. It has the additional desirable characteristics of
Preferably, this device can be configured such that, in addition to the above-stated constraints, a new constraint, scan time, is also optimized. Optimization of scan time will be discussed in a section below.
An overview of the method for constructing a typable device based on multi-level ambiguous codes is described in reference to
In the first step 150, a set of second-level decoding symbols are selected. These are the symbols that are to be represented by the ambiguous code, and might include, for example for English, the letters a through z.
In the next step 151, a constraint is selected for the over-all multi-level code. This constraint could be, for example, strong touch typability in general or lookup error or query error alone. In general, many constraints of the multi-level code could be simultaneously selected. In the next step 152, the second-level decoding symbols are divided into subsets. An encoding symbol is assigned to each second-level subset in such a way that the overall code is optimized with respect to the selected constraints. Up to this point, the construction is not different from the construction of any optimized ambiguous code. However, there may be additional constraints, for instance on the allowed number of encoding symbols, such that the next step of construction can be executed. In this next step 153, the second-level encoding symbols are collected into groups. These groups are treated as decoding symbols for a first-level ambiguous code. Otherwise said, the encoding symbols of the second-level code become decoding symbols for the first-level code. Hence, a first-level encoding symbol is assigned to each group, forming a first-level ambiguous code. Additional optimization of constraints can be performed in the assignment of second-level symbols into groups. In general, each level in a multi-level code can be optimized with respect to different constraints. These constraints may be the same, or may be different from, the constraints with respect to which the over-all multi-level code is optimized. In the final step 154, the multi-level code thus constructed is embodied in a typable device.
The construction of the second-level code was just described as proceeding the construction of the first-level code. When a device embodying a multi-level code is used, the codes are applied in the reverse of the order in which they were constructed: first an element of the first-level code is selected by a first user activation of the keyboard, then an element of the second-level code is selected by a second user activation of the keyboard.
This is the essence of the divide-and-conquer approach. It will be evident to one skilled in the art that this construction could be continued in the same way to include third- and higher-level codes.
In practice, properties of each level of the multi-level code must be simultaneously optimized to achieve desired properties of the over-all multi-level code. The present embodiment is presented to concretely illustrate how this simultaneous optimization can be planned and executed.
The overview of the method of construction of this embodiment is shown in
The first step 3100 in the construction of this embodiment is the selection of (second-level) decoding symbols. These are the letters a-z. Then strong touch typability, optimization of query error, and optimization of lookup error are selected as constraints for the multi-level code in steps 3101, 3102, and 3103 respectively. Then, in step 3104, anatomic fidelity is selected as a constraint. Since this device is meant to be typable using the fingers of the hand holding the device, anatomic fidelity is maximized when there are 4 input means and 4 corresponding first-level encoding symbols, one for each finger.
Anatomic fidelity is chosen as a constraint for the second-level code in step 3105. Each encoding symbols in the first-level code will correspond to several encoding symbols for the second-level code. Anatomic fidelity of the second-level code is maximized if each of the 4 first-level symbols corresponds to 4 second-level encoding symbols, so the number of second-level encoding symbols should be 16 for anatomic fidelity to be maximized. 16 second-level encoding symbols can be associated with second-level decoding symbols such that evenness of partition is maximized if the 26 second-level decoding symbols are distributed over the second-level encoding symbols such that either 1 or 2 second-level decoding symbols are associated with each of the 16 second-level encoding symbols. This distribution implies, in turn, that between 4 and 8 second-level decoding symbols will be ultimately associated with each of the 4 first-level decoding symbols.
Next, in step 3106, alphabetic ordering is selected as a constraint for the first-level code. Optimizing with respect to this constraint requires simultaneous optimization of both the first- and second-level codes. What is required is that the letters a-z must be displayable in alphabetic order on the displays corresponding to the input means associated with each finger respectively. Since these displays are arranged in order of the fingers, this implies in turn that letters from the first part of the alphabet must be associated to second-level decoding symbols which are in turn associated to the first-level encoding symbol which is associated to input means associated to the first finger. In the same way, a second group of letters, following the first group in alphabetic order, must be assigned to second-level encoding symbols associated to the first-order encoding symbol associated with the input means associated to the next finger, and so on for the other two first-level encoding symbols. Optimizing with respect to alphabetic ordering thus corresponds to choosing an ordered partition of the 26 letters, in the same way as has been discussed for other embodiments of this invention. This time, each of the 4 elements of the ordered partition must have between 4 and 8 subelements, so that all of the constraints listed can simultaneously optimized. As will be shown in the detailed description of the best mode for this embodiment, codes with even-as-possible partitions, even for the first-level code, can be found, while optimizing as well with respect to all of the other constraints considered.
Finally, in step 3107, substantial alphabetic ordering is chosen as a constraint of the second-level ambiguous code. This means that it should be possible to lay out the letters as well as possible in alphabet ordering, given all of the other constraints on the assignment of letters to second-level encoding symbols. Divergences from strict alphabetic ordering can be measured in any number of ways, for instance by the number of pairwise permutations required to bring a given ordering into strict alphabetic ordering.
In reference now to
For the present embodiment we make the further limitation that the symbol-input typable part of the device must be able to be held in one hand, and be typable by the hand holding the device, and that hand only. To limit the requirement for digit motion, most of the symbols can be input though sequences of manipulation of but 5 input means: 4 input means operable by the fingers of the hand holding the device 2100-2103 and 1 input means operated by the thumb of the hand holding the device 2104. The device shown in
Preferably, associated with each of the input means 2100-2103 is a visual display 2106-2109 showing the elements of the subset currently associated with the given input means. Operating the input means selects the corresponding subset. The input means 2104 can be used to further refine the subset selection and/or be used to select other subsets of symbols. For example, the single symbol “space” can be associated with the input means 2104; this or other symbols associated with input means 2104 can be preferably displayed on display means 2110. The letters [a-z] can be distributed over the 4 input means 2100-2103. The distribution of letters over the input means is preferably chosen so as to minimize the ambiguity (lookup error rate and/or query error rate) of the resulting code, while simultaneously adhering to the convention of alphabetic ordering. This adherence aids the novice user in finding a needed letter by simply scanning the candidate letters.
thereby the subset of letters associated to each input means can be further subdivided into 4 subsets, each of which contains no more than two letters. The utility of this limitation will become evident shortly, and it will be evident to one skilled in the art how to extend the teachings of this embodiment to languages with a different number of symbols, and a different number of input means.
An example set of second-level subsets which divide the first-level subsets shown in
To type a given desired letter, the user first activates one of the input means 2100-2103 corresponding to first subset containing the desired letter. The user then selects one of the second-level subsets by again activating one of the input means 2100-2103 corresponding to a set of letters containing the desired letter.
One embodiment of a visual cache will now be described in the context of the current embodiment. It will be appreciated that this invention permits a wide variety of modifications without modification of its essential quality, for instance, modifications in the size and location of the cache, how the cache is organized, how it is labeled, and the like.
From analysis of our standard statistics, we find that of the letters [a-f] associated to input means 2100 by the first-level code, “a” is the most likely to be the first letter of a word. Similarly, of the letters [g-l] associated to input means 2101 , “i” is the most likely to be the first letter of a word, “o” the most likely from [m-r] associated with input means 2102, and “t” the most likely from the letters [s-z] associated to input means 2103.
By placing the letters a, i, o, t in a distinguished portion of the display, for instance the upper-left hand corner of the display area associated with each input means. This makes these letters the first-encountered letters in a standard left-to-right, top-to-bottom visual scan of each associated display. Preferably, other than this selection of a single letter out of alphabetic order, alphabetic ordering is maintained for the other letters in the subset. The distinction between the letter in cache and the rest of the letters can be further marked by selecting a different color, size, style, etc. of font for the cached letter than for the rest of the letters.
Referring now to
In
As a word is entered the most-likely next letter changes as context is created by the entering of the word. Thus, the letter selected to be cached should change as a word is entered, and will depend on which word is being entered.
In the case of the word “think” The letter “t” is found in visual cache both before activation of the first input means, and before activation of the second input means, as shown in the first four rows of
Explicit disambiguation and inputting of additional symbols. As has already been pointed out, it is generally desirable to provide a completely unambiguous method for inputting symbols in a typable device based on ambiguous codes. In the present embodiment, one simple way to provide unambiguous input is by provision of an additional unambiguous input means 2105 shown in
In the present embodiment, it was chosen to limit the size of second-level subsets to at most 2 symbols. Thus the disambiguation mechanism will always either choose the desired symbol correctly, or it will chose the other, incorrect, symbol to which it is paired. Any disambiguation software could generate a signal to indicate which of the two symbols it would choose were the corresponding input means to be selected by the user. This signal could be used to provide feedback to the user, for instance by highlighting the letter to be chosen. If the letter to be chosen is not the desired letter, the user has the option of activating the explicit disambiguation input means 2105 shown in
An example use of this unambiguous text entry mechanism is shown in
To further add definiteness to the disclosure of strong touch typability, this section will present an alternative numerical characterization of strong touch typability which will allow the strong touch typability of any ambiguous code to be measured, and to thus decide if that code falls within the scope of this invention or not.
This observation allows us to define a single number relating the lookup error rate and query error rate of a code: the projection of the point (lookup error rate, query error rate) of the code onto the best-fit line in a log-log plot.
Consider, for example, the standard ambiguous code. This code has (lookup error rate, query error rate) of (29,2.2). Projecting this point onto the best-fit line of
These considerations allow us to define a precise, albeit arbitrary, numerical threshold for substantial optimality of combined lookup error rate and query error rate: a code will be said to be substantial optimal with respect to these rates if its effective key number is within 0.01 of its chording key number, if there are no other ergonomic constraints on the system. We can also define a precise, albeit arbitrary, threshold for strong touch typability: an ambiguous code for English can be defined as strongly touch typable if its effective key number is at least 10. We can extend this definition to other languages by requiring that for a code to be strongly touch typable, it must have a lookup error rate and a query error rate greater than or equal to those of a strongly touch typable code for English. Since the effective key number of the standard ambiguous code is less than 10, it is not strongly touch typable by the considerations of this section.
By measuring the effective key number, any ambiguous code can be screened for possession of the strong touch typability property. For instance, the hybrid chording/ambiguous code: ab c df e gi h jk l mo n pqr s uv t wxz y discussed above has 9 physical keys: the 8 letter keys of the standard telephone keypad plus 1 shift key. It has a chording key number of 16; it is equivalent to an ambiguous code on 16 independent keys with no shift key. Without application of a gap factor, its (lookup,query) error rates are (431,21) corresponding to a effective key number of 12.8. With a gap factor of 500, this improves to (440,46), corresponding to a effective key number of 13.75. With or without a gap factor, this code is strongly touch typable by the considerations of this section. It should be noted that for this code the effective key number is less than the chording key number, still, this code is substantially optimal given the additional constraint of alphabetic ordering. In the same way, the one-handed hybrid chording/ambiguous code embodiment has a code with (lookup, query) rates of (1100,69), yielding an effective key number of 15, though its physical key number is 4 and its chording key number is 16. It is a strongly touch typable code, and the difference between the chording key number and effective key number is due to the additional constraint of alphabetic ordering of the first-level code. Taking into account this additional constraint, the code is substantially optimal. By contrast, the 14-physical key code of Sugimoto U.S. Pat. No. 5,847,697, pn gt cr zk wj a e hi so ud xf ym vl qb, has (lookup, query) rates of (105,4), and an effective key number of 8.47. This code is neither substantially optimal nor strongly touch typable, despite the fact that its physical number of keys is greater than 10.
Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be effected therein by one skilled in the art without departing from the scope of the invention.
Literature Cited
Patent | Priority | Assignee | Title |
10514805, | Feb 23 2005 | AITECH, LLC | Method and apparatus for data entry input |
11093086, | Feb 23 2005 | AITECH, LLC | Method and apparatus for data entry input |
8200865, | Sep 11 2003 | Eatoni Ergonomics, Inc.; EATONI ERGONOMICS, INC | Efficient method and apparatus for text entry based on trigger sequences |
8413071, | Sep 15 2009 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
8416103, | Sep 14 2006 | Keypads row similar to a telephone keypad | |
8510099, | Dec 31 2008 | Alibaba Group Holding Limited | Method and system of selecting word sequence for text written in language without word boundary markers |
8583421, | Mar 06 2009 | Google Technology Holdings LLC | Method and apparatus for psychomotor and psycholinguistic prediction on touch based device |
8719712, | Oct 19 2010 | Welch Allyn, Inc.; Welch Allyn, Inc | Adaptive display for patient monitoring |
8782550, | Feb 28 2013 | GOOGLE LLC | Character string replacement |
8854301, | Jun 02 2004 | Malikie Innovations Limited | Handheld electronic device with text disambiguation |
9098198, | Dec 12 2012 | Speed typing apparatus | |
9122316, | Feb 23 2005 | AITECH, LLC | Enabling data entry based on differentiated input objects |
9152241, | Apr 28 2006 | AITECH, LLC | Method and apparatus for efficient data input |
9182830, | Dec 12 2012 | Speed typing apparatus | |
9274551, | Feb 23 2005 | AITECH, LLC | Method and apparatus for data entry input |
9384731, | Nov 06 2013 | Microsoft Technology Licensing, LLC | Detecting speech input phrase confusion risk |
9423882, | Dec 12 2012 | Speed typing apparatus | |
9703391, | Dec 12 2012 | Speed typing apparatus | |
9753906, | Feb 28 2013 | GOOGLE LLC | Character string replacement |
9760214, | Feb 23 2005 | AITECH, LLC | Method and apparatus for data entry input |
9927973, | Feb 12 2014 | Samsung Electronics Co., Ltd. | Electronic device for executing at least one application and method of controlling said electronic device |
D706296, | Jul 14 2010 | Eatoni Ergonomics, Inc. | Display screen with graphical user interface |
Patent | Priority | Assignee | Title |
3833765, | |||
3929216, | |||
4042777, | Oct 06 1975 | IBM INFORMATION PRODUCTS CORPORATION, 55 RAILROAD AVENUE, GREENWICH, CT 06830 A CORP OF DE | One-handed keyboard and its control means |
4058795, | Oct 03 1972 | International Business Machines Corporation | Method and apparatus for context-aided recognition |
4360892, | Feb 22 1979 | Microwriter Limited | Portable word-processor |
4447692, | May 18 1981 | UNITED TECHNOLOGIES CORPORATION, A CORP OF DE | Control system with interactive display |
4475013, | May 12 1982 | INTERNATIONAL QUARTZ LTD , 24-26 SZE SHAN ST , YAU TONG, KOWLOON, HONG KONG A CORP | Repertory automatic telephone dialing apparatus wherein a name and telephone number are searched by depressing one or more letter code keys |
4522518, | Jul 07 1983 | Character data input keyboard arrangement having central matrix of keys | |
4555193, | Oct 31 1983 | Keyboards including color coding and one handed operation | |
4608457, | Apr 11 1984 | Telecommunications device for the hearing impared | |
4615629, | Apr 24 1984 | Input keyboard | |
4650349, | Feb 17 1984 | CPT Corporation | Speed typing apparatus and method |
4650927, | Nov 29 1984 | International Business Machines Corporation | Processor-assisted communication system using tone-generating telephones |
4674112, | Sep 06 1985 | Board of Regents, The University of Texas System | Character pattern recognition and communications apparatus |
4677659, | Sep 03 1985 | EXPONENT GROUP, INC , A CORP OF DE | Telephonic data access and transmission system |
4679951, | Nov 06 1979 | NCR CORPORATION, A CORP OF MD | Electronic keyboard system and method for reproducing selected symbolic language characters |
4680572, | Dec 14 1981 | NCR Corporation | Chord entry keying of data fields |
4680728, | Oct 17 1984 | NCR Corporation | User-friendly technique and apparatus for entering alphanumeric data through a numeric keyboard |
4715736, | Jul 26 1982 | FWM Enterprises, Inc. | Process for determining optimum keyboard formats for a given language |
4737980, | Jul 19 1985 | Amtelco | Computer data entry method and apparatus |
4754474, | Oct 21 1985 | Interpretive tone telecommunication method and apparatus | |
4775255, | Mar 16 1987 | Ternary chord-type keyboard | |
4791556, | Aug 29 1984 | Method for operating a computer which searches for operational symbols and executes functions corresponding to the operational symbols in response to user inputted signal | |
4817129, | Mar 05 1987 | TELAC CORP | Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument |
4836700, | Apr 02 1984 | Data entry system | |
4866759, | Nov 30 1987 | FON-EX, INC , | Packet network telecommunication system having access nodes with word guessing capability |
4868750, | Oct 07 1987 | VANTAGE TECHNOLOGY HOLDINGS, LLC | Collocational grammar system |
4891777, | May 11 1983 | The Laitram Corporation | Single hand keyboard arrays providing alphanumeric capabilities from twelve keys |
5003503, | May 02 1985 | The Laitram Corporation | Comprehensive computer data control entries from very few keys operable in a fast touch type mode |
5031206, | Nov 30 1987 | FON-EX, INC | Method and apparatus for identifying words entered on DTMF pushbuttons |
5040479, | Jul 24 1990 | APOLLO PLASTICS CORPORATION, A CORP OF DE | Illuminated multiple color button and method of manufacturing the same |
5087910, | Jul 29 1985 | Electronic keyboard for one-hand operation | |
5098476, | Mar 15 1990 | Hewlett-Packard Company | Additive to aqueous-based inks to improve print quality |
5121472, | May 31 1989 | Polytel Computer Products Corporation; POLYTEL COMPUTER PRODUCTS CORPORATION, A CORP OF OK | Method for replacing keyboard data using single step process mode |
5128672, | Oct 30 1990 | Apple Inc | Dynamic predictive keyboard |
5175803, | Jun 14 1985 | Method and apparatus for data processing and word processing in Chinese using a phonetic Chinese language | |
5200988, | Mar 11 1991 | Fon-Ex, Inc. | Method and means for telecommunications by deaf persons utilizing a small hand held communications device |
5210689, | Dec 28 1990 | PRENTKE ROMICH COMPANY, THE | System and method for automatically selecting among a plurality of input modes |
5255310, | Aug 11 1989 | Korea Telecommunication Authority | Method of approximately matching an input character string with a key word and vocally outputting data |
5288158, | Aug 29 1989 | One handed-keyboard | |
5297041, | Jun 11 1990 | Semantic Compaction Systems | Predictive scanning input system for rapid selection of auditory and visual indicators |
5305238, | Nov 03 1992 | Key Tronic Corporation | Data input monitor and indicator for managing work pace and rest periods |
5332322, | Jun 06 1991 | PATENT ENFORCEMENT COMPANY | Ergonomic thumb-actuable keyboard for a hand-grippable device |
5339358, | Mar 28 1990 | DANISH INTERNATIONAL, INC , A CA CORP | Telephone keypad matrix |
5367298, | Oct 25 1991 | Data input terminal | |
5392338, | Mar 28 1990 | DANISH INTERNATIONAL, INC | Entry of alphabetical characters into a telephone system using a conventional telephone keypad |
5410333, | Mar 18 1992 | Computer keyboard | |
5432510, | Mar 22 1993 | Ambidextrous single hand chordic data management device | |
5458425, | Aug 01 1990 | Keyboard for touch type editing | |
5469160, | Jun 18 1992 | Computer keyboard | |
5473346, | Apr 12 1993 | PLR TRANSFER HOLDINGS, LLC | Data input device and method |
5479536, | Nov 27 1991 | International Business Machines Corporation | Stroke syntax input device |
5487616, | Jun 01 1995 | Jean D., Ichbiah | Method for designing an ergonomic one-finger keyboard and apparatus therefor |
5497151, | Oct 24 1991 | Compact one-handed typing keyboard having keys corresponding to a standard two-handed keyboard | |
5507021, | Feb 21 1992 | KAROLS DEVELOPMENT CO LLC; KAROLS DEVELOPMENTCO LLC | Method to input alphanumerical information into a device having a central computer, a memory, and a keypad |
5515305, | Dec 09 1993 | Dell USA, L.P.; DELL USA, INC | PDA having chord keyboard input device and method of providing data thereto |
5535119, | Jun 11 1992 | Hitachi, Ltd. | Character inputting method allowing input of a plurality of different types of character species, and information processing equipment adopting the same |
5535421, | Mar 16 1993 | Chord keyboard system using one chord to select a group from among several groups and another chord to select a character from the selected group | |
5543818, | May 13 1994 | Rockwell Collins, Inc | Method and apparatus for entering text using an input device having a small number of keys |
5548634, | Nov 27 1993 | Samsung Electronics Co., Ltd. | Alphanumeric registration method and device of a system with alphanumeric entry keys |
5559512, | Mar 20 1995 | Venturedyne, Ltd. | Method and apparatus for entering alpha-numeric data |
5574482, | May 17 1994 | Method for data input on a touch-sensitive screen | |
5575576, | May 25 1990 | Keyboard | |
5581243, | Jun 04 1990 | MICROSLATE INC , A CANADIAN CORP | Method and apparatus for displaying simulated keyboards on touch-sensitive displays |
5625354, | Jan 26 1996 | Compact stylus keyboard | |
5627566, | Jun 06 1991 | Keyboard | |
5642522, | Aug 03 1993 | Xerox Corporation | Context-sensitive method of finding information about a word in an electronic dictionary |
5661476, | Feb 23 1996 | General Wireless Communications, Inc.; GENERAL WIRELESS COMMUNICATIONS, INC | Keyboard for personal information device |
5661505, | Jan 13 1995 | Single hand-controlled computer input device | |
5661605, | Jun 26 1992 | Computer keyboard | |
5664896, | Aug 29 1996 | Speed typing apparatus and method | |
5675329, | May 09 1996 | LENOVO SINGAPORE PTE LTD | Method of obtaining a second function from keys on a keyboard using pressure differentiation |
5675819, | Jun 16 1994 | Technology Licensing Corporation | Document information retrieval using global word co-occurrence patterns |
5724449, | Nov 27 1991 | International Business Machines Corporation | Stroke syntax input device |
5724457, | Jun 06 1994 | RAKUTEN, INC | Character string input system |
5734749, | Dec 27 1993 | NEC Corporation | Character string input system for completing an input character string with an incomplete input indicative sign |
5736976, | Feb 13 1995 | Computer data entry apparatus with hand motion sensing and monitoring | |
5745056, | Oct 20 1995 | Fujitsu Limited; Fujitsu Takamisawa Component Limited | Single-hand input keyboard |
5748177, | Jun 07 1995 | SEMANTIC COMPACTION SYSTEMS, INC | Dynamic keyboard and method for dynamically redefining keys on a keyboard |
5748512, | Feb 28 1995 | Microsoft Technology Licensing, LLC | Adjusting keyboard |
5790103, | Oct 04 1995 | Ergonomic keyboard entry system | |
5793312, | Apr 09 1997 | FROGPAD, INC | Data entry system |
5797098, | Jul 19 1995 | CIRRUS LOGIC INC | User interface for cellular telephone |
5809415, | Dec 11 1995 | UNWIRED PLANET IP MANAGER, LLC; Unwired Planet, LLC | Method and architecture for an interactive two-way data communication network |
5818437, | Jul 26 1995 | Nuance Communications, Inc | Reduced keyboard disambiguating computer |
5828991, | Jun 30 1995 | The Research Foundation of the State University of New York | Sentence reconstruction using word ambiguity resolution |
5847697, | Jan 31 1995 | Fujitsu Limited | Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic |
5859599, | May 16 1996 | ALPS Electric Co., Ltd. | Keyboard |
5861821, | Dec 27 1993 | BlackBerry Limited | Keyboard-type input apparatus |
5880685, | Jan 13 1995 | Computer keyboard with accessory platform | |
5896321, | Nov 14 1997 | Microsoft Technology Licensing, LLC | Text completion system for a miniature computer |
5903630, | Jun 30 1997 | HANGER SOLUTIONS, LLC | Method and apparatus for specifying alphanumeric information with a telephone keypad |
5911485, | Dec 11 1995 | GOOGLE LLC | Predictive data entry method for a keypad |
5917905, | Mar 12 1996 | Intrinsic Solutions, Inc. | Telephone station equipment employing rewriteable display keys |
5936555, | Jan 28 1997 | COMBIMOUSE PTY LTD | Combined keyboard and mouse employing conventional typing keys |
5936557, | Oct 08 1996 | CITIBANK, N A | Keypad |
5945928, | Jan 20 1998 | Nuance Communications, Inc | Reduced keyboard disambiguating system for the Korean language |
5950809, | Jul 03 1996 | U.S. Philips Corporation | Keyboard with multifunction keys and apparatus including such a keyboard |
5952942, | Nov 21 1996 | Google Technology Holdings LLC | Method and device for input of text messages from a keypad |
5953541, | Jan 24 1997 | Nuance Communications, Inc | Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use |
5959629, | Nov 25 1996 | Sony Corporation | Text input device and method |
5960385, | Jun 30 1995 | The Research Foundation of the State University of New York | Sentence reconstruction using word ambiguity resolution |
5963671, | Nov 17 1991 | LENOVO SINGAPORE PTE LTD | Enhancement of soft keyboard operations using trigram prediction |
5982303, | Feb 03 1997 | Method for entering alpha-numeric data | |
5982351, | Sep 30 1997 | Google Technology Holdings LLC | Method and apparatus for supplementing a keyboard and for helping a user operate an electronic device |
5984548, | Sep 22 1997 | ALPHAGRIP, INC | Data entry system |
5990890, | Aug 25 1997 | Comcast Cable Communications Management, LLC | System for data entry and navigation in a user interface |
5993089, | Feb 03 1997 | 8-bit binary code for use as an 8-dot braille arrangement and data entry system and method for 8-key chordic binary keyboards | |
6004049, | Oct 29 1998 | American Patents LLC | Method and apparatus for dynamic configuration of an input device |
6005495, | Feb 27 1997 | SBC HOLDINGS PROPERTIES, L P ; AMERITECH PROPERTIES, INC ; SBC PROPERTIES, L P | Method and system for intelligent text entry on a numeric keypad |
6005498, | Oct 29 1997 | Google Technology Holdings LLC | Reduced keypad entry apparatus and method |
6011554, | Jul 26 1995 | Nuance Communications, Inc | Reduced keyboard disambiguating system |
6037942, | Mar 10 1998 | DIDI HK SCIENCE AND TECHNOLOGY LIMITED | Navigation system character input device |
6043761, | Jul 22 1997 | Method of using a nine key alphanumeric binary keyboard combined with a three key binary control keyboard | |
6047196, | Nov 24 1995 | Nokia Mobile Phones, Ltd. | Communication device with two modes of operation |
6047300, | May 15 1997 | Microsoft Technology Licensing, LLC | System and method for automatically correcting a misspelled word |
6054941, | May 27 1997 | Nuance Communications, Inc | Apparatus and method for inputting ideographic characters |
6088220, | Oct 02 1997 | Pocket computer with full-size keyboard | |
6121960, | Aug 28 1996 | Intellectual Ventures II LLC | Touch screen systems and methods |
6130628, | Mar 19 1997 | Siemens Aktiengesellschaft | Device for inputting alphanumeric and special symbols |
6150962, | Dec 11 1995 | GOOGLE LLC | Predictive data entry method for a keyboard |
6160536, | Mar 27 1995 | Dwell time indication method and apparatus | |
6172625, | Jul 06 1999 | Nuance Communications, Inc | Disambiguation method and apparatus, and dictionary data compression techniques |
6181328, | Mar 02 1998 | International Business Machines Corporation | Method and system for calibrating touch screen sensitivities according to particular physical characteristics associated with a user |
6184803, | Jul 22 1997 | Nine key alphanumeric binary keyboard combined with a three key binary control keyboard and combinational control means | |
6190256, | Jun 22 1998 | IGT | Gaming device and method of operation thereof |
6219731, | Dec 10 1998 | EATONI ERGONOMICS, INC | Method and apparatus for improved multi-tap text input |
6232892, | Jul 22 1997 | Method of using a nine key alphanumeric binary keyboard combined with a three key binary control keyboard | |
6232956, | Feb 27 1997 | Spice Technologies, Inc. | OHAI technology user interface |
6243460, | Dec 08 1993 | AT&T IPM Corp | Telephone with character keypad |
6262716, | Jul 01 1998 | Gateway, Inc | Information processing apparatus having a numeric keypad with cover that functions as a palm rest |
6271835, | Sep 03 1998 | RPX CLEARINGHOUSE LLC | Touch-screen input device |
6286064, | Jan 24 1997 | Nuance Communications, Inc | Reduced keyboard and method for simultaneous ambiguous and unambiguous text input |
6295052, | Feb 19 1996 | Malikie Innovations Limited | Screen display key input unit |
6295509, | Oct 17 1997 | Objective, quantitative method for measuring the mental effort of managing a computer-human interface | |
6307548, | Sep 25 1997 | Nuance Communications, Inc | Reduced keyboard disambiguating system |
6307549, | Jul 26 1995 | Nuance Communications, Inc | Reduced keyboard disambiguating system |
6356258, | Jan 24 1997 | BlackBerry Limited | Keypad |
6359572, | Sep 03 1998 | Microsoft Technology Licensing, LLC | Dynamic keyboard |
6405060, | Jul 19 1995 | Cirrus Logic, Inc. | User interface with improved data entry features for telephone system |
6492977, | Apr 24 1996 | Keyboard | |
6554191, | Apr 28 2000 | Data entry method for portable communications device | |
6587675, | Oct 28 1996 | Therefore Limited | Hand-held computer and communications apparatus |
6636162, | Dec 04 1998 | Cerence Operating Company | Reduced keyboard text input system for the Japanese language |
6646573, | Dec 04 1998 | Cerence Operating Company | Reduced keyboard text input system for the Japanese language |
6661404, | Jan 29 1998 | Nokia Technologies Oy | Portable electronic apparatus |
6703963, | Sep 20 2001 | PRINCEPS SECUNDUS LLC | Universal keyboard |
6708214, | Apr 21 2000 | GOOGLE LLC | Hypermedia identifier input mode for a mobile communication device |
6734881, | Apr 18 1995 | LG ELECTRONICS, INC | Efficient entry of words by disambiguation |
6771191, | May 26 1997 | Kabushiki Kaisha Toshiba | Key input device |
6822585, | Sep 17 1999 | Nokia Technologies Oy | Input of symbols |
6900794, | Nov 23 1998 | Keyboard layout | |
6903723, | Mar 27 1995 | Data entry method and apparatus | |
7083342, | Dec 21 2001 | Malikie Innovations Limited | Keyboard arrangement |
7129932, | Mar 26 2003 | AT&T Corp. | Keyboard for interacting on small devices |
7380206, | Sep 17 1999 | Sony Corporation | Data distribution method and apparatus, and data reception method and apparatus |
7395512, | Jun 29 2001 | eValley Inc.; e for us Inc. | Character input system and communication terminal |
7506256, | Mar 02 2001 | SEMANTIC COMPACTION SYSTEMS, INC | Device and method for previewing themes and categories of sequenced symbols |
7548849, | Apr 29 2005 | Malikie Innovations Limited | Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same |
7561685, | Dec 21 2001 | Malikie Innovations Limited | Handheld electronic device with keyboard |
7646317, | Apr 30 2007 | Decoding method utilizing temporally ambiguous code and apparatus using the same | |
7681145, | Oct 04 2001 | Infogation Corporation | Dynamic key assignment in key pad |
7684821, | Sep 27 2005 | Malikie Innovations Limited | Multi-tap keyboard user interface |
7712053, | Dec 04 1998 | Cerence Operating Company | Explicit character filtering of ambiguous text entry |
7809553, | Jul 03 2002 | Malikie Innovations Limited | System and method of creating and using compact linguistic data |
20010011271, | |||
20010040550, | |||
20020044814, | |||
20020196163, | |||
20030006956, | |||
20030154560, | |||
20040056844, | |||
20040165924, | |||
20040168131, | |||
20040247362, | |||
20060007118, | |||
20060028358, | |||
20060047498, | |||
20060197685, | |||
20060217965, | |||
20070072647, | |||
20070165003, | |||
20070240044, | |||
20080015844, | |||
20080266144, | |||
AU2005325740, | |||
CA2354155, | |||
D357011, | Jun 25 1993 | STRATOS PRODUCT DEVELOPMENT GROUP, INC ; Microsoft Corporation | Keyboard |
D357476, | Jun 25 1993 | Microsoft Corporation | Keyboard |
D362432, | Jun 25 1993 | Microsoft Corporation | Keyboard |
D443615, | Feb 25 2000 | Illuminated keyboard | |
DE3235752, | |||
EP732646, | |||
EP1085401, | |||
EP1093058, | |||
EP1332419, | |||
EP201294, | |||
EP213022, | |||
EP279555, | |||
EP28533, | |||
EP319193, | |||
EP364112, | |||
EP457077, | |||
EP544123, | |||
EP595114, | |||
EP651315, | |||
EP66991, | |||
EP779759, | |||
FR2840488, | |||
GB2299884, | |||
GB2343414, | |||
GB2394918, | |||
GB2432952, | |||
GB2432953, | |||
GB2434237, | |||
JP10177446, | |||
JP10207601, | |||
JP10207608, | |||
JP11272403, | |||
JP9128134, | |||
WO227432, | |||
WO3085505, | |||
WO2004001979, | |||
WO2004072839, | |||
WO2005121933, | |||
WO2006024159, | |||
WO2006080935, | |||
WO2008114086, | |||
WO2008131544, | |||
WO2009027817, | |||
WO2009066289, | |||
WO8547, | |||
WO34880, | |||
WO35091, | |||
WO2005026897, | |||
WO2006080927, | |||
WO2008034112, | |||
WO8501596, | |||
WO8902369, | |||
WO9103782, | |||
WO9212491, | |||
WO9406139, | |||
WO9518405, | |||
WO9602394, | |||
WO9627947, | |||
WO9630822, | |||
WO9705541, | |||
WO9730386, | |||
WO9808688, | |||
WO9809270, | |||
WO9816055, | |||
WO9833110, | |||
WO9833111, | |||
WO9915951, | |||
WO9930222, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 09 1999 | Eatoni Ergonomics, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Dec 10 2012 | REM: Maintenance Fee Reminder Mailed. |
Feb 12 2013 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Feb 12 2013 | M2555: 7.5 yr surcharge - late pmt w/in 6 mo, Small Entity. |
Dec 02 2016 | REM: Maintenance Fee Reminder Mailed. |
Apr 26 2017 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jan 10 2015 | 4 years fee payment window open |
Jul 10 2015 | 6 months grace period start (w surcharge) |
Jan 10 2016 | patent expiry (for year 4) |
Jan 10 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 10 2019 | 8 years fee payment window open |
Jul 10 2019 | 6 months grace period start (w surcharge) |
Jan 10 2020 | patent expiry (for year 8) |
Jan 10 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 10 2023 | 12 years fee payment window open |
Jul 10 2023 | 6 months grace period start (w surcharge) |
Jan 10 2024 | patent expiry (for year 12) |
Jan 10 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |