Saturday, November 2, 2013

Gesture keyboards on Android

As we use mobile devices like smartphone or tablet more and more we also get to the challenge of writing on a touchscreen.




The problem


On my PC I use a physical keyboard with ten finger writing without looking at it at all.
On a mobile device with only a touchscreen you can not really use it that way, even if its a 10 inches tablet where you would have the space to place your fingers on the virtual keyboard, because there is no haptic feedback that tells you on what key your fingers are or if you have pressed it once, twice or what ever.
So you have to look at the keyboard to make sure you hit the right key and that's even worse on a small screen like on a smartphone.

Possible solutions

There are several solutions how to solve this problem:

Get used to it

One way is to just type letter by letter by watching the keyboard. With some practice this can be a very fast and efficient way to type on a mobile device too. I know many people only use this style because they don't know about alternatives or can not use them like all the pure iOS users. For me, this method is not very satisfying.

Physical keyboard

A Bluetooth (or USB) keyboard can be connected to the smartphone or tablet to allow typing on a physical keyboard. There are even some solutions build in into the cases for some tablets so you have the keyboard always with the tablet.
The benefit of this is a true physical keyboard with very fast writing (if your able to write with ten fingers blind), while the downside is that you will need a flat surface like a table to place your tablet and the keyboard on to, to be able to use it properly.

Voice input

Of course, mobile devices nowadays offer really strong voice recognition so you can also start just to dictate the texts you want to write. This actually works surprisingly well for me in English as well as in German on my Android devices, the only downside is that you can not really use it when there are other people around that would get disturbed or if it's just to noisy around so the recognition would not work.

Keyboard apps with different input methods

For Android there are plenty of keyboard apps that offer different approaches to optimize input on a touchscreen device. 

Fleksy (currently in beta) for example is using a very strong recognition for what you type and uses lots of gestures to be faster on selecting what word was meant. It is not needed to hit every letter exactly there, just the base area where that letter is located. It is very precise on writing even without looking at the screen at all. At the moment this keyboard is only supporting English and Spanish but more languages and keyboard-layouts are announced to come while the development progresses.

What I have found best for me so far are gesture keyboards as you just slide with your finger over the letters you want to combine to words while you don't even have to hit each letter exactly as long as the whole gesture is about to guess the word. Its a fast and smooth way to input on a touchscreen device. 
I have been using gesture keyboards since a few years now so I want to introduce and compare four of them that I have used for a while each.

Gesture keyboards


All this keyboards use a gesture input but also support normal picking of keys if you like to or have to spell some words the dictionary of the keyboard does not know yet. Most of them also use a dictionary that you can extend by your own words to get the keyboard prediction better and more fitting to your typing. Most of this keyboards are also learning your kind of writing and improving over time but that also means they need to get trained first over a period of time. Also most of this keyboards offer different layouts to make using it on landscape mode tablets more comfortable.

Swype

Swype has been one of the first keyboards of this kind, even if they stood in beta for a very long time.
Precision: very good
Recognition: very good
Languages: many different available
Dictionary: easy adding your own words
Synchronization: yes
Skins / Layout: different skins and layouts available
Size / Position: adjustable size and position
Special features: Swipe provides it's own voice to text service called Dragon and some special gestures for operations like copy&paste. The personal dictionary can be edited so you can correct or remove every entry.
Problems: Switching languages for the time each time you start is a bit circular, after the first initiating it becomes a lot smoother with a gesture.

SwiftKey

SwiftKey is a very good looking keyboard with some very interesting special features (at least interesting to me).
Precision: very good
Recognition: very good
Languages: many different available, up to three without switching
Dictionary: easy adding your own words
Synchronization: yes
Skins / Layout: different skins and layouts available
Size / Position: lots of options for position and size
Special features: SwiftKey's current beta for the next version also provides a function to undock the keyboard completely so it can be dragged around the screen and placed where ever you want.
Also the integration of up to three languages in the default function without the need to switch the language is a great feature. You can just write in different languages at once (not so important for native English speakers but when you use different languages or even mix in English words into your own language a feature like this is of very high value). Also you can use one keyboard layout (for me QWERTZ instead of QWERTY) for all languages.
Problems: Short words with close by letters like "as" are easy misinterpreted as a long-press on a key.

Google Keyboard

Since a while the default Android keyboard is offering a gesture input method as well.
Precision: very good
Recognition: good
Languages: many different available
Dictionary: easy adding your own words
Synchronization: not that well
Skins / Layout: some
Size / Position: some
Special features: Its free on the PlayStore, even if you are not using stock Android on your device.
Problems: Landscape mode on tablets without the option to shrink the keyboard makes gesture input very inefficient.

SlideIT

One of the first gesture keyboards I have ever used.
Precision: OK
Recognition: OK
Languages: many different available
Dictionary: easy adding your own words
Synchronization: no, only import / export
Skins / Layout: yes
Size / Position: yes, some options but not so many
Special features: Special gestures and shortcuts that can be adjusted too.
Problems: The German dictionary has some old style of writing in it that is outdated since some years now. I also had a very bad issue with missing licence warning (I own a licence) in the middle of writing a few times.

Conclusion


So, this is just my own opinion based on my experience and my use-cases.

My two favorites out of this are Swype and SwiftKey by far. The reasons are simple, I found them the most responding, they use a dictionary that synchronizes between my devices, a Nexus 7 and a Galaxy Nexus (the Nexus 5 already has been ordered ;-) ) and the cognition and prediction has been very good for me.
At the moment SwiftKey is ahead of Swype for me because of the ability to write in two languages without switching the language and the extremely customizable keyboard-layout (size and position) as well as writing both languages on the same key-layout (QWERTZ for me).

All in all with the gesture keyboards I found a very comfortable and fast way to write even larger texts on my mobile devices, which is even as enjoyable that I find myself just to write more than needed because of the fun of it.

Of course, I am always looking for new things to learn and so I am keeping a close eye on Fleksy and others to come. Along with that I am also testing and using voice recognition a lot as well, at least when I am alone.