Wednesday, August 8, 2012

Writing with Thumb: Android Keyboards


Can you get your smartphone and write article as long as this one without losing your nerves? If your answer is no, you may want to read this. It comes from the guy who did it more than once. If you have smartphone with small screen, low specification or both, there is a hidden gem for you.

For serious writing on the smartphone, you want keyboard that is super-efficient while you use it, but moves out of your way when you don't. After many months of writing on the touchscreen, I compiled a list of most desirable keyboard features.

Auto-correction. Hitting the wrong key should produce the right word. Keyboard should have dictionary and be smart enough to fix typos.

Language modeling. Smart keyboards know what comes next. If I mistype word, they should use that knowledge to fix it.

No Accented Letters. Drawback of languages with more letters than English: if you put them all on the keyboard, keys become very small. If I have "C" with something above, like Č or Ć, I would rather just press "C" and keep keys big. Keyboard should figure out what I really ment.

Easy Multilingual Entry. I am not from English-speaking country so I am constantly switching between my mother tongue and English, very often many times inside the same application. It would be ideal if keyboard supported two languages at once; if not, it should be possible to switch with simple gesture.

Memory Consumption. As keyboard input is needed in most application, low memory consumption is a plus. High memory consumption makes phone less responsive - less memory is available for other applications. Once I had to switch to simpler keyboard just to make application run. Would you like to know more?

Swype

Swype takes very different approach than other keyboards. Although it is possible to type letter-by-letter, primary way of entering text is swiping. Swyping. Anyway, you put your finger on the keyboard and swype the word from letter to letter, raising it from keyboard when the word is over. Big problem that I had with old SwiftKey X was that, if I missed the space-bar, it tried to find something that matches two words joined, and that was usually wrong. With Swype, you don't care about space bar anymore; you don't even need it most of the time. Just rise your finger and put it back where next word begins.

Downside of the Swype is that you cannot get it unless you got it with device. Rather than selling keyboard on the app market, Nuance decided to license it directly to phone vendors. If you, like me, have stock Android, then you cannot get regular version. What you can get is beta. I am using it for some months and I am mostly happy with it. It is good enough for production use.

Multilingual support is not very good. Swype is lacking support for both dual languages and fast language switching. Fast switching existed in previous beta, and there is a chance for dual language support in the future, but not in the current beta.

Language modeling is added in latest beta, which is probably reason of high memory consumption.

SwiftKey 3

As Swype Beta was not initially available for Android 4.x, I bought other top Android keyboard, SwiftKey X. Unique feature of SwiftKey is language modeling; it knows what it the typical order of words in the sentence and it also knows what is the typical order of words in your sentences, because it can go through your Gmail, Twitter and Facebook posts and learn. I would recommend it if you prefer typing over swyping or if you have tablet. For single-handed use, Swype is faster way to enter text and it puts less strain on your finger. I also find Swype's auto-correction better.

SwiftKey is great for multilingual input because it allows you to use two languages in parallel.

If you plan to buy RIM's Playbook 2.0, you will be glad to know that SwiftKey is default keyboard.


MultiLing


If big fingers on small screen is your problem, forget about those fancy keyboards. You want keyboard with big keys, T9 style. Probably best keyboard of that kind is MultiLing. It even has special two-letters-per-key mode, which is excellent for more precise entry. Instead of more than 30 keys there is just 20, so it is easier to hit the right one. However, there is no modeling nor auto-correction. If you miss the key, you will probably get just meaningless series of numbers. The easiest solution is to delete the word and start again.

Additional advantage on the cheap phones is that it uses just 9 MB of RAM.

Default Android 4.1 (Jelly Bean) Keyboard

I tried this keyboard only recently because it lacked support for Croatian language, but couple of days ago it finally appeared. It has auto-correction, although not good one, and it uses less memory than heavyweights, but still two times more than MultiLing. There is dedicated language switching key. All in all, decent keyboard, but not very impressive. You will be better off with one of the aforementioned specialized keyboards.


KeyboardAutocorrectionLanguage
Modeling
No Accented
Letters
Easy
Multilingual
Memory
Swype++--30
SwiftKey 3++-++50
MultiLing--++8.5
Android++++15

Conclusion

Keyboards show clearly how wonderful it is to have an open platform like Android. Each is innovative and has different approach to text entry, so you can find one that is perfect for you. Recommendation: use SwiftKey for tablet, Swype for mid/high range device with >3.5" screen and MultiLing for small screen or underpowered phones.

No comments:

Post a Comment