06.04.2013 Views

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

SHOW MORE
SHOW LESS

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].

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!