Explaining Chinese input methods to non-Chinese people

For the past few months, I've been concerned about the plans to integrate input methods directly into GNOME.

Not that I disagree with the goal (I am convinced that once this is done, it will provide a much better user experience than what we have now), but there are a few things that could make the life of Hong Kong GNOME users more difficult (e.g the whitelist of supported input methods, the choice of IBus as only Input Methods Framework,...).

Reading the flamewdiscussions on DDL, I had the impression that two groups were talking past each other: the developers (mostly non-Chinese) and the users of Chinese Input Methods (mostly non-developers). Each group had different perspective and knowledge, and seemed to be talking about different things:

You don't use Chinese input methods, so you don't know what we need!

Versus:

You focus on a limited part of the User Experience, when we want to provide a consistent, integrated, complete UX!

One thing is clear though: GNOME developers (and in fact FOSS developers, but I'm mostly interested in GNOME these days) are mostly not Chinese, can't read or write Chinese, and as such have a very limited idea of the complexity of Chinese input methods. That's something we should change (by growing stronger community of contributors in Chinese-speaking regions), but in the meantime, Chinese users will depend on non-Chinese developers to provide their inputting experience.

So, after being tired of hearing from locals who won't do anything else than complain, I decided to do something about it and start bridging that gap.

I spent the past two months (I started during GNOME.Asia in Hong Kong) studying Chinese input methods, what they are, how they work, and how people use them in Hong Kong. And as a result, I wrote a documentation about it, which I hope can be useful to developers outside of China.

Keep in mind that I'm exactly one of those who don't use Chinese input methods: I'm a French dude who moved to Hong Kong a year and a half ago and who can't read or write Chinese. In fact, I even discovered about the very existence of Chinese input methods a year ago, observing my girlfriend type on her netbook!

So of course I might have made mistakes, or missed crucial details. However, having just recently learned all this, it was probably easier to write it down in a way others like me could understand it: I didn't assume any previous knowledge.

Early feedback from GNOME developers is overwhelmingly positive:

fcrozat: bochecha: congrats for http://bochecha.fedorapeople.org/chinese_ims/
fcrozat: this is really good stuff
fcrozat: I wish we had that instead of the flames on ddl ;-)

aday: wow, this is fantastic indeed

However, some parts are still incomplete, and I'd love for people who know more than me to proof-read it and fix any mistake I might have made. Here's the link again, in case you missed it above:

Chinese Input Methods for non-Chinese people

Read it, and send me an email with your feedback (my email address is at the bottom of the document).

One thing I would like to add to the document is information about the situation in Taiwan and Mainland China, similar to what I wrote for Hong Kong. So if you know about that, shoot me an email!

As a final note, GNOME developers expressed they would love to have the same kind of documentation from other local communities and their specific needs for, and usage of, input methods. So if you know about Indian, Thai or other language-specific input methods, just write about it! And we could even group together the parts which make sense, as I'm sure some of the stuff I wrote is generic enough to apply to other written languages (e.g sound-based vs stroke-based).

Hopefully, this will lead to an awesome user experience when it comes to inputting complex languages on Free operating systems. At least I did my part for Hong Kong people. ;-)