“Way to GI, Android!” A Critical Look at the Standard Android Keyboard

John Watkinson
4 min readDec 4, 2014

--

The Lollipop release of Android has really taken the operating system to new heights. Vast improvements to performance, experience and design have made it a very worthy competitor to iOS. However, as an extensive user of both platforms, I believe that the auto-correction engine of the default Android keyboard remains far weaker than its iOS counterpart. It is hard to quantitatively measure how well auto-correction is performing between the platforms, but I will give some compelling examples below of how Android auto-correction is falling short.

For these examples, the exact same letters were carefully typed into both an iOS 8 device and a Nexus-branded Android 5.0 device. Of course, the keyboards may use precise positioning and timing of touches to further refine its correction. However, all of the corrections (or failures to correct) were reliably reproduced in repeated tests. The keyboards were configured to default settings, but personalized auto-corrections and contact name auto-corrections were turned off.

Four classes of problems were discovered during testing, listed here in descending order or severity.

Weakness 1 — Obscure Acronym Corrections

This is the most painful auto-correction failure, because it comes up so regularly and is always ludicrous:

[iOS] i will gi with you I will go with you

[Android] i will gi with youI will GI with you

Here, the Android keyboard sincerely believes that I intended to say “I will general issue with you.” Here is another:

[iOS] a long time afo A long time ago

[Android] a long time afo A long time AFO

The acronym “AFO” is so obscure that it’s not clear to what it could refer, perhaps Air Force One or Anime Festival Orlando?

Weakness 2 — Poor Context Sensitivity

The iOS and Android keyboards make context-sensitive corrections driven by grammar considerations. However, Android makes some simple blunders that should be obvious from context:

[iOS] i have yo go I have to go

[Android] i have yo go I have yo go

[iOS] i know why its wrong I know why it’s wrong

[Android] i know why its wrong I know why its wrong

It seems that the Android engine is placing too much weight on what was actually typed by the user, even if it makes no sense.

Weakness 3 — Poor recognition of Spacebar Misses

Android does recognize when letters such as c, v and b are erroneously typed instead of the spacebar, but it does not do as good a job at it as iOS, especially for shorter words:

[iOS] bevpolite Be polite

[Android] bevpolite Bevpolite

[iOS] ibam going home I am going home

[Android] ibam going home Ibam going home

Weakness 4 — Failure to Aggressively Correct

This seems to be more of a thresholding issue than a core weakness of the auto-correction engine. In the presence of two or more erroneous letters in a word, Android will often determine and offer up the correct word as an auto-correct option, but will not automatically make the correction, forcing the user to either monitor the corrections as they are offered, or return to the word at a later time to make the fix. Meanwhile, iOS is far less satisfied to leave apparent gibberish in place:

[iOS] i fprhed it I forged it

[Android] I fprhed it I fprhed it

[iOS] a great brsim A great brain

[Android] a great brsim A great brsim

While both of these words contain two errors, they are each adjacent to the nearby correct letter. Android is aware that “forged” and “brain” are the most likely correction candidates, but does not take action.

However, this is only the behavior at the default settings. It is possible to configure the aggressiveness Android keyboard, although it is buried:

Settings > Language & input > Google Keyboard > Text Correction > Auto-correction > Very aggressive

This setting substantially mitigates the issue, and is highly recommended. However, users cannot be expected to manually configure their keyboard.

Recommendations

It is surprising that Google isn’t ahead of the competition on touch keyboard auto-correction as they lead the way on related machine learning problems, such as translation and dictation. The keyboard team should begin by typing on iOS for a few weeks, the better to know their enemy. In parallel, they should develop an analytical framework for measuring how well they are doing. If it already exists, then it should be improved so that it is driven by real, everyday use. An opt-in, anonymized tracker of user keyboard activity could gather valuable statistics on how often a user needs to manually resolve failed corrections. Undoubtedly, issues such as “yo” and “gi” would become glaring under such scrutiny.

--

--