OpenVanilla
From Wikipedia, the free encyclopedia
OpenVanilla (OV) is a free, open-source text-entry (input method) and processing architecture, and includes a collection of popular input methods and text processing filters. It serves as a bridge between input methods and the operating system. It was originally designed to offer a better text-entry experience and alternative input methods not found in Apple's built-in set or suit better the needs for Windows "switchers." However, the developers have since worked on a Microsoft Windows port and a bridge between OV and SCIM on X Window. The Mac OS X version is compatible with Mac OS X 10.3 (Panther) and Mac OS X 10.4 (Tiger). OV's input methods can also be used through SCIM on Linux or FreeBSD. An experimental Win32 Unicode version is also available.
Contents |
[edit] Story
The tone or style of this article or section may not be appropriate for Wikipedia. Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions.(December 2007) |
Well, it all began with the idea of "scratching your own itch" (d'après Eric S. Raymond), an itch that lasted for more than 17 years.
Apple was kind of slow in terms of localizing its operating system. In 1987, three years after Apple launched its Macintosh, did the company come up with a Chinese version of its Finder (then the improper name of its later renamed "Mac OS"), Chinese Talk. There were several competing alternatives, but they came and went.
So Apple's Chinese Talk and later its Chinese version of Mac OS has stayed--with one VERY SERIOUS LACK. Its various versions do have offered several Chinese input methods. But one of them--the Phonetic method "Zhuyin"--never (up to this day) comes with a keyboard layout called Eten Layout, which is closer to the Chinese phonetics.
Many people who started using computers then in the mid-80s learned Eten Layout as their first (and often only) way of getting Chinese characters on their screen. Many of them shied away from Macintosh because of this lack. Apple must have lost countless PC switchers because of this, well, I would say, negligence. Microsoft scored one for its prompt response to Taiwan's local needs. The Phonetic method in Windows always comes with Eten Layout, along with several other layouts.
Apple's Mac OS X, launched in 2002, didn't fare any better. Worse. Another popular input method, Cangjie, got screwed up this time. Many users complained OS X messed up with what they've been used to in OS 9. Too bad.
In 2003, clkao (Chia-liang Kao)'s ported Chewing, a very popular Chinese input method in Linux/FreeBSD world, to OS X. Thanks to Xcode, a development tool that comes with OS X gratis, it's now possible to carve input methods of one's own on OS X. Viva l'open source. clkao's port is called ChewingOSX and is handed to gugod (Kang-ming Liu) and zonble (Weizhong Yang) in 2004 for further maintenance.
clkao, gugod and zonble's success has inspired lukhnos to scratch his itch, i.e. he needs a Phonetic input method that supports Eten Layout. Hence the birth VanillaInput in July 2004. A month later, Cangjie support was also added, mending the loss and pain that OS X has caused to many OS 9 users.
But the repercussions of Chewing and VanillaInput do not stop here. People are now asking if it is possible to design new Chinese input methods. Before it was almost impossible. It was mostly up to OS maker's hubris (and they don't care that much for "marginal" needs, such as IM for minority languages). Also, in terms of writing an IM, there are still way many parts (libraries, for example) that are still not "open" source.
In October 2004, lukhnos, gugod, zonble and b6s begin to come up with a new IM framework, OpenVanilla. It's designed on Mac OS X, but the team is working beyond OS X. It intends to be a minimalist and clean design. Its goal: to help people write their own IM. With minimal C++ knowledge. Sans platform-dependent worries.
The pictures you see here make an example of how OpenVanilla helps filling the input method gap. Holo is a language spoken by more than 60% of people in Taiwan. It is the de facto majority language (even though 95% of the people speak and read Mandarin, the official language, to varying competence and extent), but it never has the same standing as Mandarin. One of the reasons is that it is never used in information processing, i.e. on your computer. And one of the reasons it never gets on screen is that there is never a proper, fully-functioning input method for it.
[edit] POJ input method
POJ (Pe̍h-ōe-jī) is the de facto romanization standard for the Holo language spoken in Taiwan. It is a romanization with a history of over 150 years, and is used to publish a Holo Bible and many other important texts. The OpenVanilla story is just at its beginning. Currently a preliminary implementation is done using rapid prototyping techniques and Objective-C++. To make it platform-independent and more accommodating, it needs to re-implemented. Tons of things to be done. But the idea is there. Save the Objective-C part that is mostly data structure things, OpenVanilla's POJ IM module is a pure algorithm code that deals exclusively with keyboard mapping and syllable transformation. No user interface code there. There is no reason why an IM developer on earth would need to know that.
This screenshot demonstrates the different "layers" of a functional POJ input method. Holo can be written in either Romanized form (peh-oe-ji) or in Chinese/Han characters. In a way Holo is like Japanese: the written language can be represented in various ways (in syllabic forms or in ideographic forms). A better Holo input method should evolve further into the "phrase" layer, in which phrases can be automatically picked up or that users do not need to explicitly assign tones for each syllable.