Tamil Keypad Design and Text Messaging Engine

A.C. Senthil Muthu Kumar & S. Sindhuja, Wipro Technologies Ltd

Abstract

This project aims at developing a newer, efficient Tamil keypad, for mobile phones than the keypad designs available in the market. The keypad design is to bring in only the "Vowels" and "Consonants" thus avoiding the mapping of "Vowel Modifiers" to the keys. New Tamil characters formed out of combining Consonants and Vowel modifiers are obtained by combining Consonants and Vowels. This will reduce the number of characters mapped to a key in the keypad.

A messaging engine is built to make the typing fast and efficient. Just like T9 being implemented for Tamil by Tegic Communications, we try to implement a predictive text input algorithm called iTap, a proprietary algorithm of Motorola which betters than T9. One of the main differences between iTap and T9 is that iTap is able to complete words, phrases or even full sentences. T9 is unable to guess a word until the user has typed out a number of letters equal to the full word length. iTap will guess the best match based upon a built in dictionary, including words sharing the typed prefix. This dictionary also contains phrases and commonly used sentences. This way the predictive guesses iTap offers are enhanced based upon context of the word that is being typed. So for the user to type tamil messages fast and to get more efficiency than T9, an iTap engine can be built under the messaging application. The keys codes are sent to this engine and the engine reads the words from the database. The engine has a limited database that can store upto some threshold limit. The engine pops up the user with a list of matching words that can fit into the "CONTEXT".

Keypad Design

The Keys are mapped to characters considering the frequency of usage of characters by any user. The characters are classified into
1. Strong characters
2. Weak characters

Strong characters are got in the 1st key press. Whereas weak characters are obtained in 2nd or 3rd key press.

To bring Vowels that are formed out of combination of characters, we press shift.
For Eg.To write 'nedil uyir ezhuthu' press shift.

For uyir mei ezhuthu press the consonant and corresponding vowel.

Ka+A=kA

ka+i=ki

ka+I=KI

ka+.=ik

(dot is pressed using # key)

Usage of Shift Key

Engine Design

The engine has to be built with the following functionalities

1. Creation of new Deterministic Finite Automata(DFA) for a string that the user types.

2. Creation of new Non Deterministic automata(NFA) from the existing DFAs.
Eg. AMMA is a DFA. APPA is a DFA. Both these strings must be stored in Database. A new NFA has to get created if the user types A. Next character might be either A|P.

3. Creation of newer NFAs over the older NFA.(Integrating new string DFA with matching NFA)
Eg. Consider DFAs exist for Amma and Appa. And corresponding NFA exist. If the user types America, a new DFA gets created for this string and this is integrated with the existing NFA.
ie.
A->M|P->if(M)->M|E->if(E)->RICA
if(P)->PA
if(M)->MA

4. Similarly deletion/rebuild of NFAs has to take place if the word/DFA gets deleted from the database as the database can hold only limited number of words.


Architecture

The Messaging application gets launched initializing the keypad with default keys. The keypad is independent of the iTap Engine. So the Messaging Application will only interact with the iTap Engine for the construction of Finite Automata and string storage in the phone database.

Abstract Architecture

Conclusion
This implementation will stimulate the growth of Tamil Messaging among local people. The intention of choosing a different keypad design is to bring in easiness in typing for the users. As iTap is considered to be better than T9, this must be a good effort to bring that algorithm in Tamil also.