AKSHAR: A mechanism for inputting Indic scripts on ... - Pranav Mistry
AKSHAR: A mechanism for inputting Indic scripts on ... - Pranav Mistry
AKSHAR: A mechanism for inputting Indic scripts on ... - Pranav Mistry
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Pranav</strong> <strong>Mistry</strong><br />
MIT Media Laboratory<br />
20 Ames St. E15-320F<br />
Cambridge, MA 02139 USA<br />
pranav@media.mit.edu<br />
Niranjan Nayak<br />
Microsoft India Development<br />
Center<br />
Microsoft Campus, Gachibowli<br />
Hyderabad 500046 India<br />
niranjan@microsoft.com<br />
Copyright is held by HCI Hyderabad<br />
USID2007, June 18 – June 20, 2007, Hyderabad, India<br />
<str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g>: A <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g><br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> <strong>on</strong> digital devices<br />
Abstract<br />
Text input in Indian languages <strong>on</strong> digital devices<br />
presents unique challenges to the field of humancomputer<br />
interacti<strong>on</strong>. Part of the complexity arises due<br />
to the structure of the <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>, which are derived<br />
from the ancient Brahmi script. Mechanisms to input<br />
text in Indian languages <strong>on</strong> mobile ph<strong>on</strong>e have been<br />
around <str<strong>on</strong>g>for</str<strong>on</strong>g> a while but n<strong>on</strong>e of these <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s are<br />
usable enough to emerge as the de-facto standard.<br />
These <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s fail to give clear justice to the<br />
structure, inherent to the Brahmi script that is radically<br />
different than the Roman and the Latin <str<strong>on</strong>g>scripts</str<strong>on</strong>g>. In this<br />
paper, we present a new text input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> that is<br />
based <strong>on</strong> the ph<strong>on</strong>etic structure of the <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
The main goal of the research was to devise a new text<br />
input method that is targeted to the novice users and<br />
that can be learnt quickly, retained and fair speed can<br />
be achieved. Preliminary evaluati<strong>on</strong> tests indicate that<br />
the new proposed method <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> text in Indian<br />
languages is very intuitive and easy to use.<br />
Keywords<br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> script input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> digital devices, Brahmi<br />
script input method, text input method <str<strong>on</strong>g>for</str<strong>on</strong>g> mobile<br />
ph<strong>on</strong>e.
Introducti<strong>on</strong><br />
Text entry is <strong>on</strong>e of the most frequent human-computer<br />
interacti<strong>on</strong> tasks. Although great strides have been<br />
made towards speech and handwriting recogniti<strong>on</strong>,<br />
typewriting and <str<strong>on</strong>g>inputting</str<strong>on</strong>g> text using key-presses<br />
remains and will likely be the main text entry method in<br />
the near future. Computers, mobile ph<strong>on</strong>es and other<br />
digital devices demand text input schemes that can be<br />
learnt quickly and retained to achieve a fair speed.<br />
These <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s should be easy to use rather than<br />
“hunt and peck”.<br />
Of India’s nearly <strong>on</strong>e thousand milli<strong>on</strong> people, a<br />
sizeable amount of over nine hundred milli<strong>on</strong> is<br />
currently excluded from participating in the so called<br />
in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> or digital revoluti<strong>on</strong>. One of the main<br />
reas<strong>on</strong>s <str<strong>on</strong>g>for</str<strong>on</strong>g> this is the absence of appropriate input<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g> that can deal with in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> in the<br />
languages that majority of the Indians speak. On the<br />
other end, the mobile ph<strong>on</strong>e revoluti<strong>on</strong> has caught <strong>on</strong><br />
in India. The numbers of mobile ph<strong>on</strong>es that are<br />
currently available in India hugely outnumber the<br />
number of desktop computers and other computing<br />
devices available in the country. However, majority of<br />
the mobile ph<strong>on</strong>es still have English as the input and<br />
interacti<strong>on</strong> language. A small number of mobile ph<strong>on</strong>e<br />
manufacturers have come up with the support <str<strong>on</strong>g>for</str<strong>on</strong>g> a<br />
couple of Indian languages in their ph<strong>on</strong>es. However,<br />
<str<strong>on</strong>g>inputting</str<strong>on</strong>g> text using <strong>on</strong>e of these <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s is a real<br />
challenge even <str<strong>on</strong>g>for</str<strong>on</strong>g> the experienced mobile ph<strong>on</strong>e users.<br />
Text entry methods <str<strong>on</strong>g>for</str<strong>on</strong>g> Indian languages like Hindi,<br />
Gujarati, Marathi, Punjabi, Bengali and Telugu are not<br />
keyboard friendly and their entry using QWERTY<br />
keyboards is cumbersome and complicated; it involves<br />
the use of multiple shift modes. Furthermore, there are<br />
a number of competing keyboard designs and no<br />
nati<strong>on</strong>al standard. QWERTY keyboards are not<br />
particularly amenable to accommodate the ph<strong>on</strong>etic,<br />
n<strong>on</strong>-alphabetic script like <str<strong>on</strong>g>Indic</str<strong>on</strong>g>. Many alternate layouts<br />
exist which are mapped <strong>on</strong> the Roman alphabets of<br />
QWERTY keyboards. All these approaches have fallen<br />
short. The probable reas<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> that is, without any<br />
c<strong>on</strong>siderati<strong>on</strong> of the core structural features of <str<strong>on</strong>g>Indic</str<strong>on</strong>g><br />
<str<strong>on</strong>g>scripts</str<strong>on</strong>g>, these methods have been localized from<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> Latin or Roman based <str<strong>on</strong>g>scripts</str<strong>on</strong>g>. The<br />
same problem applies to the input methods <str<strong>on</strong>g>for</str<strong>on</strong>g> mobile<br />
ph<strong>on</strong>e and other interactive digital devices.<br />
Localizati<strong>on</strong> to <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> is a n<strong>on</strong>-trivial task due to<br />
the large number of alphabet set and the significant<br />
structural differences as compared to Roman or Latin<br />
based <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
Hence, there is a great need <str<strong>on</strong>g>for</str<strong>on</strong>g> an appropriate input<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g>/scheme <str<strong>on</strong>g>for</str<strong>on</strong>g> digital devices <str<strong>on</strong>g>for</str<strong>on</strong>g> various<br />
Indian languages. In this paper, <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> is proposed<br />
as a generic input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g><br />
<strong>on</strong> digital devices like mobile ph<strong>on</strong>es, kiosk booths,<br />
WLLs, interactive TVs, and pers<strong>on</strong>al computers. Most<br />
of the <str<strong>on</strong>g>scripts</str<strong>on</strong>g> in India have their base in the ancient<br />
Brahmi script. Akshar uses the unique feature –<br />
ph<strong>on</strong>etic grouping of 5 c<strong>on</strong>s<strong>on</strong>ants- of Brahmi script as<br />
the central design element. The paper discusses the<br />
basic structure of <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>, the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g><br />
and its unique features. User evaluati<strong>on</strong> has shown<br />
that in terms of ease of use and learning, this new<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g> is notably better than any other input<br />
methods in use today.<br />
2
figure 1: Brahmi script<br />
alphabets.<br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> and text input methods<br />
Ph<strong>on</strong>etic basis of Indian languages<br />
India is a multilingual country with 23 officially<br />
recognized languages [2]. A vast majority of these<br />
languages have their orthography derived from the<br />
ancient Brahmi script. These <str<strong>on</strong>g>scripts</str<strong>on</strong>g> are cumulatively<br />
referred to as ‘<str<strong>on</strong>g>Indic</str<strong>on</strong>g> Scripts.’<br />
Panini's ph<strong>on</strong>etic classificati<strong>on</strong> [2] of the Indian<br />
alphabets into vowels (V: A,, Aa…) and c<strong>on</strong>s<strong>on</strong>ants (C:<br />
k Kh ga Ga…) serves as a comm<strong>on</strong> base <str<strong>on</strong>g>for</str<strong>on</strong>g> all Indian<br />
languages. In additi<strong>on</strong>, there are also a few graphical<br />
signs (G), which are used <str<strong>on</strong>g>for</str<strong>on</strong>g> denoting nasal<br />
c<strong>on</strong>s<strong>on</strong>ants and nasalizati<strong>on</strong> of the vowels. Figure 1<br />
illustrates the basic standal<strong>on</strong>e vowels and c<strong>on</strong>s<strong>on</strong>ants<br />
in the ancient Brahmi script. In Brahmi script,<br />
alphabets are ph<strong>on</strong>etically classified into groups of<br />
c<strong>on</strong>s<strong>on</strong>ants and vowels. C<strong>on</strong>s<strong>on</strong>ants and vowels<br />
combine together to describe a word in the language.<br />
The shapes of these vowels and c<strong>on</strong>s<strong>on</strong>ants could be<br />
different in different Brahmi derived <str<strong>on</strong>g>scripts</str<strong>on</strong>g>, but their<br />
base is still the same. As shown in the Figure 1, there<br />
are 9 basic standal<strong>on</strong>e vowels. The c<strong>on</strong>s<strong>on</strong>ants can be<br />
grouped into 6 groups of 5 c<strong>on</strong>s<strong>on</strong>ants each and a last<br />
group c<strong>on</strong>sisting of 4 c<strong>on</strong>s<strong>on</strong>ants.<br />
figure 2: First five c<strong>on</strong>s<strong>on</strong>ants in different <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
Figure 2 shows an example of the first five basic<br />
c<strong>on</strong>s<strong>on</strong>ants used in the Brahmi script rendered<br />
differently in some other <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>. The columns in<br />
the figure represent different <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> while the 5<br />
rows denote the first 5 c<strong>on</strong>s<strong>on</strong>ants. A single syllable<br />
used in an Indian language c<strong>on</strong>sists of either a l<strong>on</strong>e<br />
vowel opti<strong>on</strong>ally followed by a graphical symbol or a<br />
c<strong>on</strong>s<strong>on</strong>antal syllable c<strong>on</strong>sisting of a c<strong>on</strong>s<strong>on</strong>ant followed<br />
by a vowel and opti<strong>on</strong>ally followed by <strong>on</strong>e or more<br />
graphical symbols. It is also possible to have two<br />
c<strong>on</strong>s<strong>on</strong>ants in a syllable. This methodology of having<br />
c<strong>on</strong>s<strong>on</strong>ants and vowels in a syllable is unique to <str<strong>on</strong>g>scripts</str<strong>on</strong>g><br />
that are derived from the Brahmi script. Figure 3<br />
shows the c<strong>on</strong>s<strong>on</strong>ant-vowel combinati<strong>on</strong>s <str<strong>on</strong>g>for</str<strong>on</strong>g> the letter<br />
Ka in different <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> have a unique structure which necessitates<br />
the user to type multiple keystrokes to enter <strong>on</strong>e<br />
character. We will explain this with respect to<br />
Devnagari, the script used in Hindi, Marathi, K<strong>on</strong>kani<br />
and Sanskrit languages. Figure 4 shows the Devnagari<br />
alphabet set with frequently used c<strong>on</strong>s<strong>on</strong>ants and<br />
vowels. Devnagari has 53 base letters – 34 c<strong>on</strong>s<strong>on</strong>ants<br />
and 19 vowels in additi<strong>on</strong> to numbers and punctuati<strong>on</strong><br />
marks. The last nine of the 34 c<strong>on</strong>s<strong>on</strong>ants are also<br />
known as semi-vowels.<br />
Issues with current input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>Indic</str<strong>on</strong>g><br />
<str<strong>on</strong>g>scripts</str<strong>on</strong>g><br />
Theoretically, infinite number of Devnagari characters<br />
can be generated by combinati<strong>on</strong>s of c<strong>on</strong>s<strong>on</strong>ants and<br />
vowels. Actually, a smaller subset of characters is<br />
currently used in Devnagari. But even this small subset<br />
is quite large that makes it impossible to design a<br />
practical input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> where <strong>on</strong>e key corresp<strong>on</strong>ds<br />
to <strong>on</strong>e character. It is necessary to have multiple<br />
3
figure 4: The Devnagari<br />
Varnamala showing the<br />
most frequently used 12<br />
vowels, 34 c<strong>on</strong>s<strong>on</strong>ants<br />
and 4 c<strong>on</strong>juncts.<br />
keystrokes of the base c<strong>on</strong>s<strong>on</strong>ants and vowels to<br />
generate most Devnagari characters. However, enough<br />
keys are not available <strong>on</strong> QWERTY keyboards, even to<br />
represent the base c<strong>on</strong>s<strong>on</strong>ants (34), vowels (19), and<br />
the halant; here we require 54 keys against the 26 that<br />
are available. This problem intensifies when we think<br />
of <str<strong>on</strong>g>inputting</str<strong>on</strong>g> Devnagari <strong>on</strong> devices like mobile ph<strong>on</strong>es<br />
where <strong>on</strong>ly 9 or 10 keys are available <strong>on</strong> the keypad to<br />
accommodate all these characters [6].<br />
N<strong>on</strong>-keyboarded devices such as mobile ph<strong>on</strong>es, Kiosk<br />
booths, Interactive TVs, and WLLs have good<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> English language through a<br />
number-pad. However, using the same <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> to<br />
input text in Indian languages is a n<strong>on</strong>-trivial challenge<br />
because of the huge matrix of c<strong>on</strong>s<strong>on</strong>ant-vowel and<br />
c<strong>on</strong>s<strong>on</strong>ant-c<strong>on</strong>s<strong>on</strong>ant-vowel combinati<strong>on</strong>s that are<br />
possible in Indian languages.<br />
The most comm<strong>on</strong> method <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> English <strong>on</strong> a<br />
mobile ph<strong>on</strong>e is the multitapping (‘abc’, ‘def’, ….) input<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g>. Here the user presses the key 2(‘abc’) <strong>on</strong><br />
the number-pad of the mobile thrice in successi<strong>on</strong> (with<br />
as little time gap as possible) to enter the character ‘c’.<br />
If a similar <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> is used <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> languages<br />
based <strong>on</strong> Devnagari script, then it requires having 5<br />
c<strong>on</strong>s<strong>on</strong>ants <strong>on</strong> each number of the keypad and 12<br />
vowels <strong>on</strong> the last keypad number. Because of the<br />
timeout problem, entering these numbers becomes<br />
really cumbersome, in case if a mistake is made. For<br />
example if a user wants to enter the standal<strong>on</strong>e vowel<br />
ए which comes 7 th in the vowel list, then he needs to<br />
tap a number-key <strong>on</strong> the keypad 7 times. In additi<strong>on</strong>,<br />
he needs to tap the key fast enough that can avoid the<br />
timeout problem. If by mistake, he taps the key 8<br />
times, then he needs to add 12 more taps so that he<br />
can come back to the correct character again. Slightly<br />
better <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> entering texts in Indian<br />
languages such as EziText [3], Inscript [4], PenfoPad<br />
[7], and KeyLekh [5] exist today. However, the issues<br />
that these methods try to address are slightly different<br />
and a few of them are meant <str<strong>on</strong>g>for</str<strong>on</strong>g> desktop computers.<br />
<str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g><br />
Challenges<br />
Three issues related to Indian languages pose<br />
challenges <str<strong>on</strong>g>for</str<strong>on</strong>g> the design of the input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g><br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> Script:<br />
1. Structural complexities of the <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g><br />
2. Cognitive styles of writing and typing<br />
3. Large number of characters<br />
One of the major problems c<strong>on</strong>fr<strong>on</strong>ting the<br />
development of an input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> mobile ph<strong>on</strong>e<br />
which is <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> compliant is that of the key-pad.<br />
One of the problems is numerical in nature: how to load<br />
a large number of characters <strong>on</strong>to the 10 key key-pad<br />
and at the same time ensure that texts can be entered<br />
with the least number of key presses as well as<br />
avoiding user-irritati<strong>on</strong>. On the other hand, providing a<br />
highly unfamiliar key-pad based <strong>on</strong> character<br />
frequencies would mean user resistance, since the user<br />
would have to learn a new alphabet order alien to him.<br />
Theoretically two simple models exist: a simple soluti<strong>on</strong><br />
is to emulate the English keyboard style and load <strong>on</strong><br />
the keys the different characters. However this method<br />
of multitapping does not work <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> which<br />
admit a large number of characters. The user has to<br />
press too many keys to enter simple words. The<br />
sec<strong>on</strong>d set of methods includes two-key input method,<br />
4
eZiText [3], PenfoPad [7] and Pr<strong>on</strong>unciati<strong>on</strong>-based<br />
method. Though these methods are fast as compared<br />
to the simple multitapping <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>, they fall short<br />
to provide a de-facto input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> which can take<br />
advantage of the inherent structural features of the<br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
The basic goal of the research was to devise a new<br />
input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> based <strong>on</strong> the structural features of<br />
the <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>. It was aimed to come up with a<br />
generic text input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> which can be ported to<br />
various digital devices.<br />
Soluti<strong>on</strong> details<br />
The basic design c<strong>on</strong>cept of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> is to make use<br />
of the -UP-DOWN-LEFT-RIGHT- arrow keys, available in<br />
mobile ph<strong>on</strong>es or devices such as TV remotes.<br />
The <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> interface has two main elements:<br />
1. Number keys and UP-DOWN-LEFT-RIGHT arrow<br />
keys of keypad<br />
2. Display Screen (text regi<strong>on</strong> and 6X3 grid)<br />
Since <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> have an intuitive ph<strong>on</strong>etic grouping<br />
system of 5 c<strong>on</strong>s<strong>on</strong>ants in a group, we have assigned<br />
each of these groups to a single number-key <strong>on</strong> the<br />
keypad. The display screen has two main regi<strong>on</strong>s: text<br />
regi<strong>on</strong> and 6X3 grid. The user is given visual feedback<br />
in the 6x3 grid at the bottom part of the screen. The<br />
UP-DOWN-LEFT-RIGHT arrow keys or the D-pad (also<br />
known as directi<strong>on</strong> pad, joystick, navigati<strong>on</strong> keys) are<br />
used to traverse through the grid.<br />
figure 5: Visual feedback available <strong>on</strong> the mobile device when<br />
number 2 <strong>on</strong> the keypad is pressed.<br />
The Figure 5 shows the 6X3 grid and the text regi<strong>on</strong> <strong>on</strong><br />
the screen of a mobile ph<strong>on</strong>e.<br />
figure 6: 6X3 grid representati<strong>on</strong> <strong>on</strong> keypress 1.<br />
Pressing a number key <strong>on</strong> the keypad displays the<br />
group of characters, which can be entered using that<br />
key, in the 6X3 grid regi<strong>on</strong>. Figure 6 shows the 6X3<br />
grid representati<strong>on</strong>, which shows the 12 standal<strong>on</strong>e<br />
vowels that will be displayed <strong>on</strong> the screen, <strong>on</strong> pressing<br />
the key 1 <strong>on</strong> the keypad.<br />
5
figure 7: 6X3 grid representati<strong>on</strong>s <strong>on</strong> keypress 2 to 8.<br />
Figure 7 shows the 6X3 grid representati<strong>on</strong>s that will be<br />
displayed <strong>on</strong> the screen, <strong>on</strong> pressing the key 2, key 3,<br />
key 4, key 5, key 6, key 7, and key 8 <strong>on</strong> the ph<strong>on</strong>e<br />
keypad, respectively. Each of these groups is ph<strong>on</strong>etic<br />
group of 5 c<strong>on</strong>s<strong>on</strong>ants in the Devnagari script, so it is<br />
very intuitive <str<strong>on</strong>g>for</str<strong>on</strong>g> the user to refer them by the first<br />
character of the group.<br />
When a particular number <strong>on</strong> the keypad is entered,<br />
the user sees all the possible vowels/c<strong>on</strong>s<strong>on</strong>ants that<br />
can be entered using that number. For example, when<br />
the number 2 <strong>on</strong> the keypad is entered, the screen<br />
provides visual feedback as shown in the Figure 8. By<br />
default the first character (क in this case) of the group,<br />
which is at the center in the grid, is inputted in the text<br />
regi<strong>on</strong>. The D-pad can then be used to select the actual<br />
character that is desired from the characters displayed<br />
in the 6X3 grid. For example if the user wants to enter<br />
the letter ख, then he types 2 <strong>on</strong> the keypad (which<br />
6
figure 8: Visual feedback available <strong>on</strong> the mobile device when<br />
number 2 <strong>on</strong> the keypad is pressed.<br />
figure 9: Visual feedback available <strong>on</strong> the mobile device when<br />
number 2 <strong>on</strong> the keypad is pressed, followed by the up arrow<br />
key.<br />
shows क and related c<strong>on</strong>s<strong>on</strong>ants of the ph<strong>on</strong>etic group)<br />
followed by the up arrow key, which would input ख as<br />
shown in the Figure 9.<br />
figure 10: 6X3 grid representati<strong>on</strong>s <strong>on</strong> keypress 9 the first<br />
time.<br />
The <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> entering vowel matras is also<br />
unique and simple. Figure 10 shows the 6X3 grid that<br />
gets displayed to the user when the number 9 <strong>on</strong> the<br />
keypad is entered.<br />
figure 11: 6X3 grid representati<strong>on</strong>s <strong>on</strong> keypress 9 the first<br />
time when क (Ka) has been entered as the earlier character.<br />
In case of the vowel matras, slightly more feedback is<br />
provided to the user. The grid shows the rendered<br />
<str<strong>on</strong>g>for</str<strong>on</strong>g>ms of the c<strong>on</strong>s<strong>on</strong>ant/c<strong>on</strong>s<strong>on</strong>ant combinati<strong>on</strong> that<br />
was entered al<strong>on</strong>g with the different possible matras<br />
applied to that c<strong>on</strong>s<strong>on</strong>ant/c<strong>on</strong>s<strong>on</strong>ant combinati<strong>on</strong>. For<br />
7
example, <strong>on</strong> pressing the key 9 <strong>on</strong> the keypad, the<br />
user will see the grid as displayed in the Figure 11, if<br />
the previously inputted character is क.<br />
figure 12: 6X3 grid representati<strong>on</strong>s <strong>on</strong> keypress 9 the sec<strong>on</strong>d<br />
time when का (Kaa) has been entered as the earlier character.<br />
Graphical symbols (such as the chandrabindu and the<br />
anuswar) can also be entered using the key 9 <strong>on</strong> the<br />
keypad. Pressing the key 9 <strong>on</strong> the keypad the first<br />
time allows the user to select a vowel matra and<br />
pressing the key 9 the sec<strong>on</strong>d time allows the user to<br />
enter the graphical symbols. For example, <strong>on</strong> pressing<br />
the key 9 sec<strong>on</strong>d time <strong>on</strong> the keypad the user will see<br />
grid as displayed in the Figure 12, if the previously<br />
typed character is का (entered by pressing the key 2<br />
following the key 9 <strong>on</strong> the keypad).<br />
Some comm<strong>on</strong>ly used signs and symbols such as<br />
questi<strong>on</strong> mark, comma, semi col<strong>on</strong>, sentence end and<br />
blank space are mapped <strong>on</strong> the key 0, key #, and key<br />
* of the keypad as shown in the Figure 13.<br />
figure 13: Signs and symbols mapped with key 0, # and *.<br />
The major advantages of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> in<br />
comparis<strong>on</strong> to the other exiting input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s are:<br />
• No timeout problems, since the user uses the<br />
arrow keys <strong>on</strong> the device to select the character<br />
(unlike multi-tapping, where the same key has to<br />
be tapped multiple times in order to select a<br />
particular character).<br />
• Visual feedback to the user, by providing the<br />
group of characters, which can be entered using a<br />
key, in the 6X3 grid regi<strong>on</strong>.<br />
• Less number of clicks, in order to select a<br />
particular vowel or c<strong>on</strong>s<strong>on</strong>ant.<br />
• Clear mental model, since the alphabet grouping<br />
model is the same model that people learn in their<br />
schools.<br />
• Smaller learning curve, since the visual feedback<br />
and intuitive ph<strong>on</strong>etic grouping model makes it<br />
simple to use <str<strong>on</strong>g>for</str<strong>on</strong>g> the novice users.<br />
8
The other important feature of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g><br />
implementati<strong>on</strong> is the Unicode [9] compliancy. Having<br />
support of the Unicode standards enables it to be a<br />
generic <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> across different plat<str<strong>on</strong>g>for</str<strong>on</strong>g>ms and<br />
devices. The Unicode also enables the users to type a<br />
message or text in multiple languages is another<br />
interesting feature, the <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> provides.<br />
figure 14: Working prototype of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g>.<br />
We implemented a fully working versi<strong>on</strong> of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> to<br />
input <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> <strong>on</strong> mobile ph<strong>on</strong>es. Current versi<strong>on</strong><br />
of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> runs <strong>on</strong> Microsoft Windows Mobile 5.0<br />
plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m and has been implemented <strong>on</strong> .NETCF. Figure<br />
14 shows a working prototype of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <strong>on</strong> a mobile<br />
ph<strong>on</strong>e.<br />
User evaluati<strong>on</strong> and feedback<br />
To evaluate the effectiveness of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g><br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g>, we tested the <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> with several<br />
users of varied profiles. We gave different words and<br />
sentences of varied complexities to the users to type in<br />
using the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g>.<br />
The main goal of user evaluati<strong>on</strong> was to evaluate the<br />
effectiveness of the <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> in terms of ease of use,<br />
speed, learning speed and user’s mental model. We<br />
also wanted to have qualitative feedbacks about the<br />
interacti<strong>on</strong> experiences of the first time users and users<br />
who have used the <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> a phase of time.<br />
From our user studies we can c<strong>on</strong>clude that:<br />
• Akshar could achieve its primary design objective –<br />
to devise an easy to use and easy to learn input<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> Indian languages. Some first-time<br />
users could type with no instructi<strong>on</strong>s. All could type<br />
with minimal instructi<strong>on</strong>s. Instructi<strong>on</strong>s seemed to<br />
be easy to remember – users who typed <strong>on</strong>ce could<br />
sp<strong>on</strong>taneously help others.<br />
• The user evaluati<strong>on</strong>s dem<strong>on</strong>strated that first-timers<br />
can achieve acceptable speed of use <str<strong>on</strong>g>for</str<strong>on</strong>g> small<br />
typing tasks. Users also perceived the <str<strong>on</strong>g>mechanism</str<strong>on</strong>g><br />
to be very intuitive to use <strong>on</strong> the first glance.<br />
• The task list given <str<strong>on</strong>g>for</str<strong>on</strong>g> the user testing showed that<br />
a motivated user can achieve acceptable speed of<br />
use with a few hours of practice <strong>on</strong> Akshar.<br />
• The most significant success of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> was the<br />
empowerment and liberati<strong>on</strong> experienced by the<br />
users because they could actually type in their<br />
mother t<strong>on</strong>gue.<br />
User evaluati<strong>on</strong> studies over a time inferred that:<br />
• The system has drastic improvement in the terms<br />
of number of key-presses <str<strong>on</strong>g>for</str<strong>on</strong>g> typing some message<br />
9
in mobile ph<strong>on</strong>es, as compared to other current<br />
methods in use.<br />
• The system is also powerful than the two key<br />
<str<strong>on</strong>g>inputting</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s, because of visual support of<br />
the interface in selecting the character.<br />
• Unlike other methods, the system has a great<br />
advantage of having no timeout problem <str<strong>on</strong>g>for</str<strong>on</strong>g> words<br />
with adjacent characters which are <strong>on</strong> the same<br />
key.<br />
• The learning curve <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> is very small, as the<br />
model of grouping of 5 c<strong>on</strong>s<strong>on</strong>ants is the same as<br />
that of the users’ mental model <str<strong>on</strong>g>for</str<strong>on</strong>g> remembering<br />
<str<strong>on</strong>g>Indic</str<strong>on</strong>g> script alphabets.<br />
• The interacti<strong>on</strong> is very intuitive even <str<strong>on</strong>g>for</str<strong>on</strong>g> first time<br />
users.<br />
In overall, the new <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> is very efficient as<br />
compared to the existing inputs methods in use <str<strong>on</strong>g>for</str<strong>on</strong>g><br />
<str<strong>on</strong>g>inputting</str<strong>on</strong>g> <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g>.<br />
C<strong>on</strong>clusi<strong>on</strong> and future work<br />
In this paper, we described a <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> that can be<br />
used to input text in Indian languages, which are<br />
derived from the ancient Brahmi script. In the world,<br />
the percentage of people who speak languages that use<br />
<str<strong>on</strong>g>scripts</str<strong>on</strong>g> derived from Brahmi script is also a huge 22<br />
percent. This is also an advantage as the input<br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g> we are proposing can be used to input a<br />
large number of <str<strong>on</strong>g>scripts</str<strong>on</strong>g> with some parameterizati<strong>on</strong> of<br />
the software. In additi<strong>on</strong> to mobile ph<strong>on</strong>es, the scope<br />
of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> can be extended to other<br />
devices and plat<str<strong>on</strong>g>for</str<strong>on</strong>g>ms like Kiosk booth, Interactive TV,<br />
WLL ph<strong>on</strong>es, and also the pers<strong>on</strong>al computers.<br />
We are currently c<strong>on</strong>ducting a l<strong>on</strong>gitudinal study to plot<br />
the learning curve of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g> over a period<br />
of time. We plan to compare <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> with other<br />
10<br />
current <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>inputting</str<strong>on</strong>g> text <strong>on</strong> digital devices<br />
like KIOSK, WLLs and Interactive TVs. Pilot<br />
deployments of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> have been made in several<br />
locati<strong>on</strong>s in urban and rural areas. We hope to<br />
commercialize <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> so<strong>on</strong> and get resp<strong>on</strong>se from the<br />
market.<br />
Currently, <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> supports Gujarati, Hindi, Marathi,<br />
Punjabi, Telugu, Kannada and Bengali as input<br />
languages. We are working <strong>on</strong> the next prototype<br />
versi<strong>on</strong> of <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> that supports other Indian<br />
languages, too. In the next prototype, we are<br />
exploring the possibilities of combining the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g><br />
<str<strong>on</strong>g>mechanism</str<strong>on</strong>g> with other powerful input <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>s like<br />
T9 [8] in order to make it even more powerful. On<br />
other end, we also plan to support word-predicti<strong>on</strong> and<br />
dicti<strong>on</strong>ary support.<br />
Acknowledgements<br />
We wish to acknowledge the special c<strong>on</strong>tributi<strong>on</strong>s of<br />
Prof Anirudha Joshi, <str<strong>on</strong>g>for</str<strong>on</strong>g> his inputs in the design of the<br />
<str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g> <str<strong>on</strong>g>mechanism</str<strong>on</strong>g>. We also thank Abhijeet Rokade,<br />
Abhishek Thakkar, Amisha Banker of Industrial Design<br />
Center, IIT Bombay <str<strong>on</strong>g>for</str<strong>on</strong>g> their valuable inputs and<br />
support during the project. We are grateful to Mr. Srini<br />
Koppplu, Mukund B., Pritkamal Singh and Vijayshree<br />
Choudhary of Microsoft India Development Center <str<strong>on</strong>g>for</str<strong>on</strong>g><br />
their support in the implementati<strong>on</strong> of the working<br />
prototype of the <str<strong>on</strong>g>AKSHAR</str<strong>on</strong>g>.<br />
References<br />
[1] C-DAC multilingual technologies [Online]. Available<br />
from: http://www.cdac.in/html/mlingual.asp [Accessed<br />
5th March 2006].
[2] Department of Official Languages [Online].<br />
Available from: http://rajbhasha.nic.in [Accessed 12th<br />
January 2006].<br />
[3] eZiText [Online]. Available from:<br />
http://www.zicorp.com/eZiText.htm [Accessed 10th<br />
January 2006].<br />
[4] Inscript keyboard layouts [Online]. Available from:<br />
http://www.mit.gov.in/tdil/keyoverlay.htm [Accessed<br />
10th January 2006].<br />
[5] Joshi, A., Ganu, A., Chand , A., Parmar, V.<br />
and Mathur, G. Keylekh: a keyboard <str<strong>on</strong>g>for</str<strong>on</strong>g> text<br />
entry in indic <str<strong>on</strong>g>scripts</str<strong>on</strong>g>, In CHI '04 extended<br />
abstracts <strong>on</strong> Human factors in computing<br />
systems, ACM Press (2004).<br />
11<br />
[6] MacKenzie, I. S., and Soukoreff, R. W. Text entry<br />
<str<strong>on</strong>g>for</str<strong>on</strong>g> mobile computing: models and methods, theory and<br />
practice. Human-Computer Interacti<strong>on</strong>. 17(2002), 147-<br />
198.<br />
[7] PenfoPad [Online]. Available from:<br />
http://www.penfosys.com/penfopad.htm [Accessed<br />
12th January 2006].<br />
[8] T9 Text Input [Online]. Available from:<br />
http://www.t9.com [Accessed 23rd February 2006].<br />
[9] Unicode standard <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>Indic</str<strong>on</strong>g> <str<strong>on</strong>g>scripts</str<strong>on</strong>g> and languages<br />
[Online]. Available from:<br />
http://unicode.org/faq/indic.html [Accessed 19th<br />
January 2006].