This past weekend, I briefly mentioned the Perfect Tibetan Keyboard app, which allows Tibetan text input across a variety of platforms. Also, in December 2011, TechinAsia covered the launch of Phetasarth, a standardized Lao font developed by XY Mobile and adopted by the government of Laos.
Keyboard implementation varies widely across the many languages used in Asia, and even across different orthographies (writing systems) of the same language. So, for some unique insights into the development-side of these keyboard apps, I talked with Todd Kramer of Kramer Apps. Todd is the developer behind iOS keyboards for 16 Asian languages and three more globally.
Ken: Which languages have you developed mobile keyboards for so far? Have you worked on any other language-related products?
Todd: The apps I have made for Asian languages include Bengali, Burmese, Gujarati, Kannada, Khmer, Lao, Malayalam, Nepali, Oriya, Pashto, Persian, Punjabi, Sinhala, Tamil, Telugu, and Urdu. I also have an app called Laohu for learning Chinese, and Tamil Alphabet for helping speakers of Latin-based languages learning the Tamil script.
What is one of the largest challenges in mobile keyboard development?
Todd: The article you mentioned about Lao font development relates closely to one of the major challenges in making keyboards. Font development is critical to achieving more mainstream usage of these languages on computers and mobile devices, and having a unicode-compliant option really helps. As an example, Zawgyi is still the most popular Burmese font, and is considered to be a unicode font, but is not fully unicode compliant, which is why sites like Wikipedia don’t use it. However, many people have complained about how certain characters are rendered in unicode fonts, in Burmese and other scripts around the world, so it seems there is still work to be done here. I test different fonts for the languages I support, especially those for which I need to supply a font.
Another problem that comes up often is characters that don’t display correctly on iOS devices by themselves. This happens often with accent characters generally and with some vowels in Indic languages.
Which languages have you personally found most difficult to develop keyboards for?
Todd: Each language has its unique characteristics that have to be considered when building a keyboard. For example, the popular Tamil99 keyboard layout for Tamil makes typing faster by giving a dual role to the vowel keys. The form of the vowel depends on the letter that precedes it, so in building the keyboard I had to figure out the best way to ensure that the user always gets the correct result.
Although it’s outside of Asia, building a keyboard for Amharic (Ethiopia) was particularly challenging because there are nearly 300 distinct characters that must be supported (my keyboard also includes additional characters used in typing Tigrinya). Ethiopic script (Ge’ez) is an abugida – a script in which vowels and consonants are combined into a single unit – but unlike other abugidas, Ethiopic script has combined its vowels and consonants into indivisible units.
Finally, another challenge was ensuring the correct text orientation for languages written right to left (Pashto, Persian, Urdu). System elements default to the left to right orientation, and even when you set the orientation correctly, certain actions can trigger a reset back to left to right if you aren’t careful about explicitly managing the orientation.
What’s the latest news in the mobile keyboard development arena?
Todd: One thing that could be interesting is Apple’s rumored low-cost iPhone 5C, scheduled to be announced in a few weeks. I think this will give more people in Asia access to the iOS ecosystem and therefore access to the tools I create for languages in Asia and around the world.
What motivates you to continue creating keyboard applications in world languages?
Todd: I want everyone to be able to type in their own language and have access to the same resources available in languages like English, the Romance languages, Chinese, Japanese, and Arabic. Keyboards are an essential starting point because at the very least, people must be able to type in these languages, but there is so much more potential here. Creating quality dictionaries, language learning tools, text-to-speech, accurate optical character recognition, predictive text input, to name a few. The more resources available for a language on computers and mobile devices, the better chance it will have of not only surviving but flourishing.
I enjoy developing tools for languages regardless of how many users they may reach. A few of the languages I support have small but very active user-bases. My hope is that by making it easier for people to send messages, post on social networks and online forums, and search in their native languages, I can help expand the digital presence of these languages and create greater demand for content in these languages. As just one example, I have started providing a Wikipedia search feature in many of my apps, and some languages do not have many articles on Wikipedia. Hopefully, more Wikipedia searches in these languages will create a positive feedback loop where greater use of the platform leads people to write more articles in these languages, which in turn leads to even more use.
One big long-term goal with this project was to create language learning tools in native scripts for people coming from other scripts. Many language learning programs teach these languages using romanization, which can be helpful as a starting point especially in a language like Chinese where learning thousands of characters is a long process. But with languages whose scripts don’t have thousands of characters – and with touchscreens available on phones and tablets – I don’t see any compelling reason why students can’t learn these languages in their native scripts from the beginning.
(Editing by Steven Millward)