A technique for stylus-based syllabic input that is fast and easy and does not require any additional hardware and can be deployed on a handheld device is described. In one example embodiment, this is accomplished by writing a base syllabic character consisting of a vowels or consonant in a writing area....http://www.google.com/patents/US8077974?utm_source=gb-gplus-sharePatent US8077974 - Compact stylus-based input technique for indic scripts

A technique for stylus-based syllabic input that is fast and easy and does not require any additional hardware and can be deployed on a handheld device is described. In one example embodiment, this is accomplished by writing a base syllabic character consisting of a vowels or consonant in a writing area. One or more modifiers that are displayed as icons substantially around the writing area of a syllabic level user interface are then selected to form a desired syllabic character. The one or more modifiers are arranged at familiar/natural positions around the base character's writing area to facilitate entry/selection of modifiers and to reduce eye movement/cognitive load on the user. The syllabic characters are then accumulated locally until a desired word is formed, to reduce visual disconnect between the input interface and the end application, and to provide context for formation of the desired word. Further, one or more hypothesis words are then presented to speed up the formation and inputting of a desired word. The formed desired word is then cleared from the display area and sent to an application display area by tapping a space button provided in the syllabic character input user interface.

Images(19)

Claims(24)

1. A method for a syllabic character entry into a handheld device comprising:

drawing a desired base syllabic character using a stylus in a writing area on a syllabic level user interface disposed on the handheld device;

determining whether a modifier is needed to the drawn desired base syllabic character, wherein the modifier comprises at least one of a consonant modifier, half consonant modifier and vowel modifier; and

if the modifier is needed to the drawn desired base syllabic character,

inputting associate data of a desired one of modifiers along with the drawn desired syllabic character to a base syllabic character recognizer by tapping on the desired one of modifiers that are disposed substantially around the writing area of a modifier panel in natural positions with respect to the base syllabic character;

clearing the writing area upon tapping on the desired one of the modifiers;

producing a candidate syllabic character including the tapped desired one of the modifiers by the base syllabic character recognizer upon recognition of the associated data; and

displaying the produced candidate syllabic character using a first contrasting color in a progressive display panel.

2. The method of claim 1, further comprising:

if the modifier is not needed to the drawn desired base syllabic character,

producing a candidate syllabic character by the base syllabic character recognizer upon tapping a tapping area located in the writing area and inputting the associated data into the base syllabic character recognizer;

clearing the writing area upon tapping the tapping area; and

displaying the produced candidate syllabic character in the progressive display panel of the syllabic level user interface in the first contrasting color.

3. The method of claim 1, further comprising:

determining whether another modifier is needed to the produced candidate syllabic character; and

if the another modifier is needed to the produced candidate syllabic character,

tapping on another one of the modifiers disposed substantially around the writing area of the modifier panel;

producing a candidate syllabic character including the tapped another one of the modifiers upon tapping of another desired modifier along with the produced candidate syllabic character; and

displaying the candidate syllabic character on the progressive display panel in the first contrasting color.

4. The method of claim 3, further comprising:

repeating the determining, inputting, producing and displaying steps for another desired modifier until the desired syllabic character is formed on the progressive display panel.

5. The method of claim 1, further comprising:

producing first top five hypothesis candidate base syllabic characters upon inputting the associated data of the drawn base syllabic character;

displaying the first top five hypothesis candidate base syllabic characters in a symbol correction panel substantially along with the displaying of the candidate syllabic character in the progressive display panel, wherein the first top five hypothesis candidate base syllabic characters are displayed in a progressive contrasting color to indicate a hypothesis level;

determining whether the displayed candidate syllabic character is the desired syllabic character;

if the displayed candidate syllabic character is not the desired syllabic character, determining whether any one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character; and

if any one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character, then tapping a desired one of the first top five hypothesis candidate syllabic characters displayed in the symbol correction panel using the stylus.

6. The method of claim 5, further comprising:

if any one of the displayed first top five hypothesis candidate base syllabic characters is not the desired base syllabic character,

tapping a next hypothesis candidate button located in a top right corner of the symbol correction panel to display a second top five hypothesis candidate base syllabic characters in the symbol correction panel;

determining whether any one of the displayed second top five hypothesis candidate base syllabic characters is the desired base syllabic character;

if any one of the displayed second top five hypothesis candidate base syllabic characters is the desired base syllabic character, then tapping a desired one of the second top five hypothesis candidate syllabic characters displayed in the symbol correction panel using the stylus; and

if any one of the displayed second top five hypothesis candidate base syllabic characters is not the desired base syllabic character, repeating the steps of tapping and determining.

7. The method of claim 6, further comprising:

displaying one or more hypothesis words in a dictionary area located in the syllabic level user interface upon inputting the associated data of the drawn base syllabic character;

determining whether any one of the one or more hypothesis words displayed in the dictionary area is a desired word; and

if any one of the one or more hypothesis words displayed in the dictionary area is the desired word, selecting one of the displayed one or more hypothesis words by double tapping on the desired one of the one or more hypothesis words displayed in the dictionary area.

8. The method of claim 7, further comprising:

if any one of the one or more hypothesis words displayed in the dictionary area is not the desired word, repeating the drawing, determining, inputting, producing, and displaying steps to select a next desired base syllabic character until the desired word is formed and displayed in the progressive display panel.

9. The method of claim 8, further comprising:

inputting the formed word displayed in the progressive display panel into an application display area upon obtaining the desired word in the progressive display area by tapping a space button provided in an upper panel area of the syllabic level user interface; and

clearing the formed word from the progressive display area upon inputting the formed word into the application display area.

10. The method of claim 1, wherein the base syllabic character is selected from the group consisting of vowels, consonants, half-consonants, special consonant conjuncts, and special syllabic characters.

11. The method of claim 1, in tapping the desired one of the modifiers that is disposed substantially around the writing area of the modifier panel, the modifiers are displayed in their naturally expected positions associated with the drawn base syllabic character to reduce seek time.

12. The method of claim 1, further comprising:

clearing wrongly drawn base syllabic character from the writing area by tapping a clear button located in a lower right hand corner of the syllabic level user interface when the drawn base syllabic character is wrongly drawn.

13. An article comprising:

a non-transitory computer readable storage medium having instructions, that when executed by a computing platform, result in execution of a method for inputting syllables into a computer comprising:

drawing a desired base syllabic character using a stylus in a writing area on a syllabic level user interface disposed on the handheld device;

determining whether a modifier is needed to the drawn desired base syllabic character, wherein the modifier comprises at least one of a consonant modifier, half consonant modifier and vowel modifier; and

if the modifier is needed to the drawn desired base syllabic character,

inputting associate data of a desired one of modifiers along with the drawn desired syllabic character to a base syllabic character recognizer by tapping on the desired one of modifiers that are disposed substantially around the writing area of a modifier panel in natural positions with respect to the base syllabic character;

clearing the writing area upon tapping on the desired one of the modifiers;

producing a candidate syllabic character including the tapped desired one of the modifiers by the base syllabic character recognizer upon recognition of the associated data; and

displaying the produced candidate syllabic character using a first contrasting color in a progressive display panel.

14. A computer system comprising:

a computer network, wherein the computer network has a plurality of network elements, and wherein the plurality of network elements has a plurality of network interfaces;

a network interface;

an input module coupled to the network interface that receives topology data via the network interface;

a processing unit; and

a memory coupled to the processor, the memory having stored therein code associated with syllable input, the code causes the processor to perform a method comprising:

drawing a desired base syllabic character using a stylus in a writing area on a syllabic level user interface disposed on the handheld device;

determining whether a modifier is needed to the drawn desired base syllabic character, wherein the modifier comprises at least one of a consonant modifier, half consonant modifier and vowel modifier; and

if the modifier is needed to the drawn desired base syllabic character,

inputting associate data of a desired one of modifiers along with the drawn desired syllabic character to a base syllabic character recognizer by tapping on the desired one of modifiers that are disposed substantially around the writing area of a modifier panel in natural positions with respect to the base syllabic character;

clearing the writing area upon tapping on the desired one of the modifiers;

producing a candidate syllabic character including the tapped desired one of the modifiers by the base syllabic character recognizer upon recognition of the associated data; and

displaying the produced candidate syllabic character using a first contrasting color in a progressive display panel.

15. The system of claim 14, further comprising:

if the modifier is not needed to the drawn desired base syllabic character,

producing a candidate syllabic character by the base syllabic character recognizer upon tapping a tapping area located in the writing area and inputting the associated data into the base syllabic character recognizer;

clearing the writing area upon tapping the tapping area; and

displaying the produced candidate syllabic character in the progressive display panel of the syllabic level user interface in the first contrasting color.

16. The system of claim 14, further comprising:

determining whether another modifier is needed to the produced candidate syllabic character; and

if the another modifier is needed to the produced candidate syllabic character,

tapping on another one of the modifiers disposed substantially around the writing area of the modifier panel;

producing a candidate syllabic character including the tapped another one of the modifiers upon tapping of another desired modifier along with the produced candidate syllabic character; and

displaying the candidate syllabic character on the progressive display panel in the first contrasting color.

17. The system of claim 16, further comprising:

repeating the determining, inputting, producing and displaying steps for another desired modifier until the desired syllabic character is formed on the progressive display panel.

18. The system of claim 14, further comprising:

producing first top five hypothesis candidate base syllabic characters upon inputting the associated data of the drawn base syllabic character;

displaying the first top five hypothesis candidate base syllabic characters in a symbol correction panel substantially along with the displaying of the candidate syllabic character in the progressive display panel, wherein the first top five hypothesis candidate base syllabic characters are displayed in a progressive contrasting color to indicate a hypothesis level;

determining whether the displayed candidate syllabic character is the desired syllabic character;

if the displayed candidate syllabic character is not the desired syllabic character, determining whether any one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character; and

if any one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character, then tapping a desired one of the first top five hypothesis candidate syllabic characters displayed in the symbol correction panel using the stylus.

19. The system of claim 18, further comprising:

if any one of the displayed first top five hypothesis candidate base syllabic characters is not the desired base syllabic character,

tapping a next hypothesis candidate button located in a top right corner of the symbol correction panel to display a second top five hypothesis candidate base syllabic characters in the symbol correction panel;

determining whether any one of the displayed second top five hypothesis candidate base syllabic characters is the desired base syllabic character;

if any one of the displayed second top five hypothesis candidate base syllabic characters is the desired base syllabic character, then tapping a desired one of the second top five hypothesis candidate syllabic characters displayed in the symbol correction panel using the stylus; and

if any one of the displayed second top five hypothesis candidate base syllabic characters is not the desired base syllabic character, repeating the steps of tapping and determining.

20. The system of claim 19, further comprising:

displaying one or more hypothesis words in a dictionary area located in the syllabic level user interface upon inputting the associated data of the drawn base syllabic character;

determining whether any one of the one or more hypothesis words displayed in the dictionary area is a desired word; and

if any one of the one or more hypothesis words displayed in the dictionary area is the desired word, selecting one of the displayed one or more hypothesis words by double tapping on the desired one of the one or more hypothesis words displayed in the dictionary area.

21. The system of claim 20, further comprising:

if any one of the one or more hypothesis words displayed in the dictionary area is not the desired word, repeating the drawing, determining, inputting, producing, and displaying steps to select a next desired base syllabic character until the desired word is formed and displayed in the progressive display panel.

22. The system of claim 21, further comprising:

inputting the formed word displayed in the progressive display panel into an application display area upon obtaining the desired word in the progressive display area by tapping a space button provided in a upper panel area of the syllabic level user interface; and

clearing the formed word from the progressive display area upon inputting the formed word into the application display area.

23. The method of claim 5, further comprising:

if the displayed candidate syllabic character is the desired syllabic character, repeating the steps of displaying the one or more hypothesis words, determining and selecting the displayed one or more hypothesis words.

24. The system of claim 18, further comprising:

if the displayed candidate syllabic character is the desired syllabic character, repeating the steps of displaying the one or more hypothesis words, determining and selecting the displayed one or more hypothesis words.

Description

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to a user interface in a computer system, and more particularly relates to inputting Indic scripts into a handheld device.

BACKGROUND OF THE INVENTION

In the modern world, computing devices are getting smaller, more powerful, and cheaper to produce. These small mobile devices require text input devices that are not quite as cumbersome as keyboards. Miniature keyboards and soft keyboards are available on small handheld devices, such as personal digital assistants (PDAs), but are only practical for small data entry operations. Further, current techniques adopted by many telecommunication companies overload each key of a typical phone keypad with as many as 4-6 symbols, which requires cycling through the range of symbols to enter a single vowel, consonant, and/or a modifier. In general, such keyboards use up valuable real estate on these devices and are difficult to use. Users who are less-literate and not computer proficient generally find the conventional keyboards to be the most intimidating parts of these computing devices.

Conventional ways for inputting phonetic scripts, such as Indic, Sinhalese, Burmese, Thai, Vietnamese, and the like typically include one or more of the following techniques:

First, as described above data entry into computers is performed using keyboards. The complexity and size of keyboards depend on the number and type of characters present in a script. Typically, phonetic scripts tend to have large and/or complex character sets. Such scripts can present great difficulties in the design as well as use of these keyboards. For example, Indic scripts have nearly 30 to 40 consonants, 12 to 15 vowels, and about 12 to 15 phonetic modifiers and half consonant modifiers. As a result, the current techniques employ either overlays on a QWERTY keyboard, such as Inscript where several key strokes may be required to enter a desired syllable. The keyboard approach provides incomplete visibility of the entire character map at any given point of time. In addition, these keyboards are non-intuitive and can require extensive practice period for proficiency. Further, character entries using such keyboards tend to be very slow. Furthermore, the increasing demand for smaller and smaller devices, such as PDAs and mobile phones is driving keyboard designs toward a smaller keypad, making it impractical to use keyboards accommodating such large character sets.

Second, a technique called Simpli is based on a soft keypad activated using a stylus. Phonetically related characters (consonants/modifiers) are grouped into layers and become dynamically available when the group-leader character is accessed or touched. However, this technique requires the user to first recollect the group of the desired character and further requires recollecting the leader of the group. Third, the Gesture Keyboard facilitates in resolving the above problems, but requires peripheral devices and considerably large display or digitizer real estate to display all of the base consonants and vowels.

There are other input techniques for scripts, such as Roman. However, these techniques work when the number of symbols is small, and do not leverage the syllabic structure of Indic scripts. There are many other conventional techniques for Oriental scripts, such as Japanese, Chinese, and the like. However, these scripts have significantly large number of symbols and do not have any syllabic structure. Therefore, these techniques do not reflect or leverage the mental models of a user of syllabic scripts.

There are also many handwriting inputting techniques as an alternative input technique for scripts, such as Roman and Oriental, and are available on PDAs and mobile phones. However, the corresponding recognition technology is in its infancy for applying them to Indic scripts. These techniques are not yet reliable enough to support unconstrained handwriting input of hundreds of syllabic characters that are present in scripts, such as Indic scripts.

SUMMARY OF THE INVENTION

According to an aspect of the subject matter, there is provided a method for syllabic character entry into a handheld device comprising the steps of drawing a desired base syllabic character using a stylus in a writing area on a syllabic level user interface disposed on the handheld device, determining whether a modifier is needed to the drawn desired base syllabic character, if so, inputting associate data of a desired modifier along with the drawn desired syllabic character to a base syllabic character recognizer by tapping on a desired one of modifiers that are disposed substantially around the writing area of a modifier panel, producing a candidate syllabic character by the base syllabic character recognizer upon recognition of the associated data, and displaying the produced candidate syllabic character using a first contrasting color in a progressive display panel.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:

FIG. 1 is a flowchart illustrating an example method of stylus based inputting of syllabic characters into a computer according to an embodiment of the present subject matter.

FIG. 2 is an example modifier panel used for inputting syllabic characters in a handheld device screen according to an embodiment of the present subject matter.

FIGS. 3-17 are screen shot representations that illustrate a sequence of syllable inputs performed to form a word according to an embodiment of the present invention.

FIG. 18 is a block diagram of a typical computer system used for implementing embodiments of the present subject matter, such as those shown in FIGS. 1-18.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the various embodiments of the invention, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.

The term “base syllabic character” refers to an isolated vowel, consonant, half-consonant or special consonant conjunct symbol. The “base syllabic character” may also include an English character, roman character, and/or numerals. The term “syllabic character” refers to a base syllabic character modified by one or more consonant and vowel modifiers. The term “word” refers to one or more syllabic characters.

FIG. 1 illustrates an example method 100 for inputting Indic scripts, such as Devanagari (used for languages, such as Hindi, Marathi, and the like) into a computer. At step 105, this example method 100 begins by drawing a desired base syllabic character using a stylus into a writing area disposed in a syllabic level user interface on a handheld device.

Referring now to FIG. 2, there is shown an example handheld device 200 including a syllabic level user interface 210 for inputting syllabic characters into an application. As shown in FIG. 2, the handheld device 200 further includes an application display area 220 and a stylus 230. Further as shown in FIG. 2, the syllabic level user interface 210 includes a progressive display panel 235, a writing area 240, modifiers 245 displayed substantially surrounding the writing area 240, a tapping area 250, a backspace button 255, a space button 270, a clear button 265, a special character button 260, an enter button 275, a symbol correction panel 280, and a dictionary area 285. The special character button 260 can be a soft key board button. The soft keyboard button 260 can be used to enter special characters that are not included in the base syllabic characters. In some embodiments, tapping the soft keyboard button 260 displays a soft keyboard in the syllabic level user interface 210 for entering English characters and numerals.

Referring now to FIG. 3, it can be seen how a user draws a desired base syllabic character 310 in the writing area 240 of a syllabic level user interface 210 using the stylus 230. In these embodiments, the writing area 240 consists of a box in the syllabic level user interface 210 within which a user writes each desired base syllabic character.

At step 110, a determination is made as to whether a modifier is needed to the drawn base syllabic character. Based on the determination at step 110, if the modifier is not needed to the drawn base syllabic character, then the method 100 goes to step 120. At step 120, a candidate syllabic character is produced by the base syllabic character recognizer upon tapping a tapping area located in the writing area and inputting the associated data into the base syllabic character recognizer. At step 127, the writing area is cleared upon tapping the tapping area. At step 130, the produced candidate syllabic character is displayed in a progressive display area of the syllabic level user interface in a first contrasting color. Referring now to FIGS. 3 and 4 it can be seen how a user can draw the desired base syllabic character 310 and tap the tapping area 250 and input the associated data of the desired base syllabic character into a base syllabic character recognizer and produce a candidate syllabic character. Referring now to FIG. 5, it can be seen how the candidate syllabic character 510 is displayed in the progressive display panel 235 of the syllabic level user interface 210. In these embodiments, the progressive display panel 235 displays the candidate syllabic character 510 along with any tapped modifiers in a first contrasting color. Further in these embodiments, the progressive display panel 235 displays previously entered syllabic characters before the current displayed candidate syllabic character to facilitate the user in a desired word formation. The progressive display panel provides necessary visual feedback and reduces user visual disconnect between the syllabic level user interface 210 and the application display area 220 (shown in FIG. 2).

Based on the determination at step 110, if a modifier is needed then the method 100 goes to step 115. At step 115, associated data of the drawn desired syllabic character is inputted into a base syllabic character recognizer by tapping on a desired one of the modifiers that are disposed substantially around the writing area of the modifier panel. In some embodiments, the modifiers are disposed substantially around the writing area such that they an intuitive feeling of drawing a syllable to a user. At step 125, the writing area is cleared upon tapping on the desired one of the modifiers.

Referring now to FIGS. 6 and 7, it can be seen how a user can draw a desired base syllabic character 610 in the writing area 240 (shown in FIG. 2) the stylus 230 and tap a desired modifier 710 that is located substantially around the writing area 245 and input associated data of the base syllabic character 610 into the base syllabic character recognizer. In these embodiments, the modifiers substantially surround the writing area 245. The modifiers are displayed in their natural expected positions associated with a drawn base syllabic character to reduce seek time. The modifiers may be disposed around the writing area such that they are in their natural positions to a desired base syllabic character. In these embodiments, the arrangement of the modifiers around the writing area 245 coincides with a user's mental model. For example, if a user writes a consonant “k”and wants to add a modifier that appears in the lower region of “k”, then the user can search through the modifiers displayed in the lower region of the writing area 245 and then tap a desired modifier, such as “u ” to form a character “ku”. This process of adding a modifier to the base syllabic character mimics a natural writing order of writing a base syllabic character followed by writing one or more desired modifiers. It can be envisioned, that in cases where the display area is a premium, the one or more modifiers can be displayed upon activating a special modifier button that may be provided in the syllabic level user interface.

At step 135, a candidate syllabic character is produced by the base syllabic character recognizer upon tapping the tapping area and recognition of the associated data. At step 140, the produced candidate syllabic character is displayed using a first contrasting color in the progressive display panel. Referring now to FIG. 8, it can be seen how the candidate syllabic character 810 is displayed in the progressive display panel 235 upon producing the candidate syllabic character.

At step 145 one or more top five hypothesis candidate syllabic characters are produced.

At step 150, a determination is made as to whether another modifier is needed to the produced candidate syllabic character. Based on the determination at step 150, the method 100 goes to step 115 and repeats steps 115-150 to produce and display a candidate syllabic character including another modifier if another modifier is needed. Based on the determination at step 150, the method 100 goes to step 155 if another modifier is not needed. In some embodiments, the one or more top five hypothesis candidate syllabic characters includes displaying a first and second top five hypothesis candidate syllabic characters in a symbol correction panel. In some embodiments, the above steps 115-150 are repeated until a desired syllabic character including multiple modifiers is formed on the progressive display area. In these embodiments, the symbol correction panel displays a top five choices of consonant or vowel returned by the base syllabic character recognizer that typographically resemble the drawn syllabic character by a user. The symbol correction panel facilitates the user to correct displayed candidate syllabic character in a single step by selecting and tapping a desired candidate in the displayed next five choices of consonant or vowel.

At step 155, the method 100 determines whether the displayed syllabic character is the desired syllabic character. Based on the determination at step 155, the method 100 goes to step 160 if the displayed syllabic character is not the desired syllabic character and taps one of the one or more top five hypothesis candidate syllabic characters displayed in the symbol correction panel as the desired syllabic character. In some embodiments, a determination is made as to whether any one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character. A desired one of the first top five hypothesis candidate syllabic characters displayed in the symbol correction panel is then tapped using the stylus if one of the displayed first top five hypothesis candidate base syllabic characters is the desired base syllabic character.

In these embodiments, a next hypothesis candidate button located in the top right hand corner of the symbol correction panel is tapped to display a second top five hypothesis candidate base syllabic characters in the symbol correction panel. A determination is made as to whether any one of the displayed second top five hypothesis candidate base syllabic character is the desired base syllabic character. A desired one of the second top five hypothesis candidate syllabic characters displayed in the symbol correction panel is then tapped using the stylus if one of the displayed second top five hypothesis candidate base syllabic characters is the desired base syllabic character. Referring now to FIGS. 9 and 10, it can be seen how a user can tap a desired one of the top five hypothesis candidates 910 displayed in the symbol correction panel 280 using the stylus 230 and display the desired base syllabic character 1010 incase the displayed candidate syllabic character 810 is not the desired syllabic character. As shown in FIG. 9, the top five hypothesis candidates 910 may be displayed in a progressive contrast color to indicate the order of hypothesis from left to right of the symbol correction panel 280. Also it can be seen in FIG. 9, that a user can tap the next hypothesis candidate button 920 located in the top right hand corner of the symbol correction panel 280 to display a next top five hypothesis candidate base syllabic characters in case the desired syllabic character is not in the first top five hypothesis candidate base syllabic characters displayed in the progressive display panel 235.

At step 165, one or more hypothesis words are displayed in a dictionary area located within the syllabic level user interface upon inputting the associated data of the drawn base syllabic character. At step 170, the method 100 determines whether there is a desired word in the one or more displayed hypothesis words. Based on the determination at step 170 the method 100 goes to step 115 and repeats steps 115-170 if there is no desired word in the displayed one or more hypothesis words in the dictionary area. Based on the determination at step 170 the method 100 goes to step 175 and selects one of the displayed one or more hypothesis words if there is a desired word in the displayed one or more hypothesis words in the dictionary area by double tapping the desired word. In some embodiments, the displayed one or more hypothesis words are selected by tapping on the desired one of the one or more hypothesis words displayed in the dictionary area.

Referring now to FIG. 8, it can be seen how one or more hypothesis words 820 are displayed in the dictionary area 285 upon inputting the associated data of the drawn one or more base syllabic characters 810. In some embodiments, the dictionary area 285 has 5 top choices returned from a dynamic search of a dictionary based on a partial word input. As shown in FIG. 8, 3 out of the 5 top choices are visible in the dictionary area 285 and the remaining 2 choices can be seen by tapping a scroll button 830 located on the right side of the dictionary area 285. The top five hypothesis words contained in the dictionary area 285 is updated upon entry of each base syllabic character and/or a modifier into the writing area. Further in these embodiments, the contents in the dictionary database are appended each time a new word is entered. The selection from the displayed top five hypothesis words speeds-up the data entry process. The top 5 hypothesis words may be driven by frequency of occurrence in a language.

Referring now to FIGS. 11-15, the screen shots sequentially show the drawing and entering of the rest of the desired base syllabic characters along with the associated modifiers to form the desired word 1510. Referring now to FIG. 16, the screen shot shows inputting the formed word 1510 displayed in the progressive display area 235 into the application display area 220 (as shown in FIG. 2) by tapping a space button 270 provided in the upper panel area of the syllabic level user interface 210 using the stylus 230. Referring now to FIG. 17, it can be seen the formed word 1510 is cleared from the progressive display area 235 and moved to the application display area 220 (as shown in FIG. 2) upon inputting the formed word 1510 by tapping the space button 270.

At step 180, the method 100 determines if there is another word that needs to be entered into the handheld device. Based on the determination at step 180 the method 100 goes to step 105 and repeats steps 105-185 if there is another word that needs to be entered into the handheld device. Based on the determination at step 180 the method 100 goes to step 185 and stops the above-described syllabic character entry process if there is no other word that needs to be entered into the handheld device.

Although the flowchart 100 includes steps 110-185 that are arranged serially in the exemplary embodiments other embodiments of the subject matter may execute two or more steps in parallel, using multiple processors or a single processor organized as two or more virtual machines or sub-processors. Moreover, still other embodiments may implement the steps as two or more specific interconnected hardware modules with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the exemplary process flow diagrams are applicable to software, firmware, and/or hardware implementations.

Although the embodiments of the present invention are described in the context of non-distributed environment they can be very much implemented in the distributed environment as well.

Various embodiments of the present subject matter can be implemented in software, which may be run in the environment shown in FIG. 18 (to be described below) or in any other suitable computing environment. The embodiments of the present subject matter are operable in a number of general-purpose or special-purpose computing environments. Some computing environments include personal computers, general-purpose computers, server computers, hand-held devices (including, but not limited to, telephones and personal digital assistants (PDAs) of all types), laptop devices, multi-processors, microprocessors, set-top boxes, programmable consumer electronics, network computers, minicomputers, mainframe computers, distributed computing environments and the like to execute code stored on a computer-readable medium. The embodiments of the present subject matter may be implemented in part or in whole as machine-executable instructions, such as program modules that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like to perform particular tasks or to implement particular abstract data types. In a distributed computing environment, program modules may be located in local or remote storage devices.

FIG. 18 shows an example of a suitable computing system environment for implementing embodiments of the present subject matter. FIG. 18 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which certain embodiments of the inventive concepts contained herein may be implemented.

A general computing device, in the form of a computer 1810, may include a processor 1802, memory 1804, removable storage 1801, and non-removable storage 1814. Computer 1810 additionally includes a bus 1805 and a network interface 1812.

Computer 1810 may include or have access to a computing environment that includes one or more user input modules 1816, one or more output modules 1818, and one or more communication connections 1820 such as a network interface card or a USB connection. The one or more output devices 1818 can be a display device of computer, computer monitor, TV screen, plasma display, LCD display, display on a digitizer, display on an electronic tablet, and the like. The computer 1810 may operate in a networked environment using the communication connection 1820 to connect to one or more remote computers. A remote computer may include a personal computer, server, router, network PC, a peer device or other network node, and/or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN), and/or other networks.

“Processor” or “processing unit,” as used herein, means any type of computational circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, explicitly parallel instruction computing (EPIC) microprocessor, a graphics processor, a digital signal processor, or any other type of processor or processing circuit. The term also includes embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, smart cards, and the like.

Embodiments of the present subject matter may be implemented in conjunction with program modules, including functions, procedures, data structures, application programs, etc., for performing tasks, or defining abstract data types or low-level hardware contexts.

Machine-readable instructions stored on any of the above-mentioned storage media are executable by the processing unit 1802 of the computer 1810. For example, a program module 1825 may include machine-readable instructions capable of inputting syllables into an input panel of a handheld device according to the teachings and herein described embodiments of the present subject matter. In one embodiment, the program module 1825 may be included on a CD-ROM and loaded from the CD-ROM to a hard drive in non-volatile memory 1808. The machine-readable instructions cause the computer 1810 to encode according to the various embodiments of the present subject matter.

The operation of the computer system 1800 for recompiling executable code to improve performance is explained in more detail with reference to FIG. 1.

The above-described technique uses very little screen real estate for inputting syllables. The above process is easy to learn and use. The above technique is a handwriting based input of vowels and consonants. The technique follows a natural writing order that has a progressive display area that is close to the writing area to reduce eye-jumping/visual-disconnect. Furthermore, the above technique limits the character recognition to a few isolated vowels and consonants, thereby improving recognition accuracy and user experience. Also, the above technique is fast as it requires very little seek time for vowels and consonants because of handwriting input, rapid recall and entry of modifiers owing to their arrangement at familiar/natural positions, and requires single-tap correction of symbol recognitions errors. Moreover, the display panel in the above technique is disposed substantially closer to the writing area in the modifier panel to reduce eye jumping and facilitate faster syllabic entry.

Although, the above example embodiments shown in FIGS. 1-18 are explained with reference to stylus based syllabic inputs into a handheld device, such as the PDA shown in FIGS. 1-18, the above-described technique is not limited to only stylus based inputs, but it can be applicable for touch based inputs and the like.

The above technique can be implemented using an apparatus controlled by a processor where the processor is provided with instructions in the form of a computer program constituting an aspect of the above technique. Such a computer program may be stored in storage medium as computer readable instructions so that the storage medium constitutes a further aspect of the present subject matter.

The above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those skilled in the art. The scope of the subject matter should therefore be determined by the appended claims, along with the full scope of equivalents to which such claims are entitled.

As shown herein, the present subject matter can be implemented in a number of different embodiments, including various methods, a circuit, an I/O device, a system, and an article comprising a machine-accessible medium having associated instructions.

Other embodiments will be readily apparent to those of ordinary skill in the art. The elements, algorithms, and sequence of operations can all be varied to suit particular requirements. The operations described-above with respect to the method illustrated in FIG. 1 can be performed in a different order from those shown and described herein.

FIGS. 1-18 are merely representational and are not drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. FIGS. 1-18 illustrate various embodiments of the subject matter that can be understood and appropriately carried out by those of ordinary skill in the art.

In the foregoing detailed description of the embodiments of the invention, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive invention lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the detailed description of the embodiments of the invention, with each claim standing on its own as a separate preferred embodiment.

Computer able to determine whether or not a display is connected to it, in accordance with the status data stored in a register, and method of detecting whether or not a display is connected to a computer

Computer able to determine whether or not a display is connected to it, in accordance with the status data stored in a register and method of detecting whether or not a display is connected to a computer

Use of common words, and common word bound prefixes, infixes, and suffixes for natural language and genre determination; for serving as a student study aid of textbook material; for generating automated indexes, automated keywords of documents, and automated queries; for data-base reduction (compaction); and for sorting documents in heterogenous databases