In our earlier blogs we outlined how the language mandate is of tremendous help for first time internet users of India and what must be done to implement this mandate correctly. In the previous blog we covered how building character sets lays the cornerstone of building language tools – fonts, input mechanism etc and shed light on lacking elements in the current internet’s infrastructure for Indian languages. In this concluding post, we shall focus on input mechanism, word editing, testing procedures and see how measures taken while building input tools and tweaking underlying operating system can tackle hurdles of Indic language computing.
A little bit of history:Inscript Keyboard was standardized by Government of India that mapped physical keys of a standard 104 or 105 keyboard to characters of 12 Indian scripts. It was developed at the time when personal computers were a luxury and phones were far from smart.
While there are more than 300 million smartphone users in India now, feature phones/smart feature phones continue to occupy more than 50% of the market. Both devices are internet capable and can generate Indic content.
In case of smart feature phones, the number of keys are restricted to 9 for character mapping (1-9), and both English and Indian characters are mapped in the same device. User cannot change this setting and gets used to the the character mapping as defined in the device.
The scenario changes for smartphones here. A user can download multiple keypads and choose one at any given time. Here’s the catch; since there is no standardization on how a keypad application should look like, the developer is free to design where each key would sit. In other words, the developer can choose to expose all the characters (vowels, consonants, matras) without taking into consideration the underlying rendering engine of the device, which is anyways flawed in most of the devices.
A badly designed keypad would let user input ambiguous characters .
In addition to that, unlike physical keyboards which come with separate delete and backspace keys, smartphone input apps come only with a backspace. Since, Indian languages are non-linear in nature, the conjuncts change shape and when the constituent elements are deleted.
E.g. क्ष = क + ् + ष. Hence pressing a backspace at क्ष, the display should now show क् without losing its logical state. The keypad logic now needs to make sure that user can enter only a consonant now as any other character entry would be grammatically incorrect.
This brings out another crucial aspect of editing – cursor positioning. The cursor position defines where the user can input characters. The underlying operating system needs to make sure that the cursor position is also defined properly when a conjunct is edited via backspace. It should not hamper user experience by placing the cursor in wrong positions or deleting the word altogether.
As the mandate date draws near, device makers would make sure that their devices pass the testing procedure which can be briefly categorized as follows:
- Testing the presence of all mandate characters in display
- Ability to type all mandated characters
- Detailed display testing for the legality of character combinations
- Testing for reordering and character positioning with maatras
Government of India recognized the need of Indian citizens to have equal share on the internet. Ensuring readability on devices by mandating correct language implementation ensures content consumption and generation correctly. Devices are the base of Indian language infrastructure and given the complexity of Indic scripts, it becomes utmost necessary that the foundation is done well.