Ultra Low Cost Phone challenge: Complex Languages … Are REALLY complex to draw and edit.
Thomas Menguy | November 26, 2006Perhaps you’ve heard a lot about ULC (Ultra Low Cost) cellphones in the industry (many companies are aiming this market, see The Motorola F3)…but they are targetted to new markets, where text rendering/input is really more complex than our relatively simple alphabet: it is mandatory if you want to reach the mass of Indian users, Sri Lanka, Cambodge, Hebrew, Arabic, Philippina , Chineese…and you want cause “texting (smsing)” is a big thing: else your new emerging market will be limited to eastern Europe or South America, and be sure that text messaging will continue growing bigger. Look at the buzz around hotxt (read this mobHappy article about this new service, even if it is all but positive about it or at SMS Text News, please check the comments on this one… ) or Berggi (Berggi GigaOM article, I’m not sure about the business model of such an offer, 10 bucks a month to send sms!!). IM is perhaps the next text heavyweight champion (check this techCrunch article about the next bif ideas around IM)
So Text IS big and will stay big…so emerging markets have to have the tools to leverage this potential!
Two different issues to be fixed araise:
- Text Rendering
- Text Edition
In fact text edition is not so diverse and different accross the languages: the T9 you know is not so far from Chineese input. At the end you only have two kinds of predicitve text input methods:
- One for alphabetic languages, the one you have on your phone today. For those languages multitap is also of course heavily used
- One for “ideogram” languages (hum, only in China/Taiwan and Japan (kanji) in fact ), with Pinyin, Strokes, Bopomopho input being some variations
And after having implemented both in real life here at Open-Plug…the alphabetical one is in fact more complicated!
Two companies have the lion share for the predictive engines:
- Tegic (now AOL) and its T9 offering, more Western countries oriented
- Zi corp (eZiText, eZiTap), more Eastern oriented
Both have great products and large and complete languages databases, for me their biggest IP. Cause once you have a predicitve engine the real pain only begin…the UI and user interaction around those dictionnaries is really really complex:to give you an idea, the specification of text entry methods and use case represents more than 25% of the whole UI specification! and of course, for each phone/vendor/carrier it changes, so integrating T9 or EZiText really means if fact tayloring YOUR existing text entry framework for a given specification, the predicitve engine being only a little part of the whole thing. We ended up, in collaboration with LiPS to create a real “Text Entry Framework”…
So let’s move to the text rendering part…
Many companies are developping solutions to render text…so why such a fuss? After all it is only about drawing characters on the screen no? For us, with our simplisitc alphabet european languages, it sounds like something trivial…IT IS NOT, cause complex languages are REALY COMPLEX.
- First you have the magic around Bidirectional text (for those crazy men that are writing from right to left, Hebrew, Arabic…I’m sure they say the same for us writing from left to right )… you will say it is only printing in reverse….you couldn’t be more wrong, simply look here for the full specification of the bidirectional algorithm, hum, simple isn’t it? How to insert left to right text in a right to left paragraph, how to wrap in that case?
- Then you enter the brave new world of GSUB, GPOS ans co. In some languages some characters are mixed together and inversed to form a new character: the logical ordering (in memory) is really far from the display ordering. Champions in those kind of games are Devanagari, Indic, Thai…
So to handle all those languages, a solid text layout framework (for character clustering, reordering, wrapping) is needed, and a good font renderer. The open source community has developped Pango for the layout and Cairo for the rendering. ICU, from IBM is also a well known open source text layout engine.
Anyway those projects are huge, a big linguisitc knowledge is needed (try to debug a devanagari string…) so to have a quick working solution the industry offers you partners…and many exist, showing that this is a real issue!
- nCore :a little finish company that has a full Layout+rendering engine and a rich text editor, we are working with them already : their solution is really great, fast, light, etc, plus they are darn good at what they do. Their core busines is not font, but rendering.
- Tegic (T9) has a solution (seems to be based on nCore technology), adding their own features and a good integration with their text input solutions
- ZiCorp has also a solution that can be integrated with predictive text input solution
- Monotype, a 100 years company that invented the Arial and Times New Roman fonts…they know well how to render texts , their market is more toward the fonts themselves
- Arphic a taiwaneese text rendering vendor, I don’t know much about them
- Bitstream, a US text rendering vendor, with a solid technology. Also more “Font oriented”, and vector based
- Microimage, I’ve heard of them thanks to 3GSM Asia, but for now I don’t know much about their technology
So to play seriously in the ULC field the phone software needs a very solid text solution…and really it doesn’t come overnight! And be careful when designing/implementing/choosing your solution/partner: it won’t run on smartphone but on ULC phones, so no extra RAM nor CPU, and here CPU IS a challenge. Aslo don’t pass on it, people are really not willing to simply learn english