Yesterday, John Gruber posted an intriguing piece called iOS 13 Autocorrect Is Drunk in which he argues that autocorrect on iOS 13 and 13.1 has got worse than before. This reminded me of something I started noticing last year when I upgraded to an iPhone 8 (with iOS 12) from an iPhone 5 (with iOS 10); something I had meant to investigate further but ended up postponing for the usual lack of time. What I had noticed is that autocorrect and predictive text appeared to be worse on iOS 12 than on iOS 10.
I wasn’t entirely sure about it, and for a while, a bit like Gruber, I thought that maybe it wasn’t a real issue but an ‘anti-placebo’ effect, as he called it. Perhaps it’s a matter of retraining the new iPhone to have suggestions and corrections more relevant to my writing style, I thought. But between yesterday and today I made some time to explore this thing in more detail, and after countless tries with my iPhone 5 and iPhone 8 side by side, I think I have pinpointed the main issue: while it seems that in iOS 12 autocorrect and predictive text have generally worsened compared with iOS 10, they have regressed specifically when using an iOS device with multilingual keyboards.
On my iPhones I usually keep three different keyboards: English, Italian, and Spanish. These are the languages I’m fluent in, and when using apps involving text entry (chat apps, social network apps, email clients, etc.), I often switch from a language to another. I communicate with my mother and closest friends in Italian; I exchange messages with my wife and her family in Spanish; I tweet, do most of my email, and generally communicate with the rest of my international contacts in English. What happens on a daily basis is that I launch e.g. Telegram, start writing something to my wife, but I realise mid-word that the keyboard is set to another language. And that’s when things get bad on iOS 12 (and I presume iOS 13 as well): autocorrect and predictive text don’t consider the whole word I’m typing, but start making suggestions from the point I resume typing. This behaviour didn’t happen under iOS 10, which was smarter enough to embrace the language change and adjust its suggestions accordingly.
Let me clarify this with an example. Follow this process closely:
1. I open Telegram. I want to write something in Spanish. I start typing Espero [meaning, “I hope”] but I realise I have the English keyboard selected. This is what I’m seeing on iOS 10 (left) and iOS 12 (right) after typing “Es”:
For starters, note how much more pertinent predictive text is under iOS 10, while under iOS 12 suggestions just look all over the place.
2. At this point, I tap the Globe button to switch keyboards. On both phones, the keyboard first switches to Italian, then to Spanish:
Note here how iOS 10 adapts to the new languages selected, while iOS 12 doesn’t appear to have a clue, at first.
3. Here’s the kicker now: when I resume typing with the newly selected keyboard, and proceed to type “pe” (the second syllable of espero, the Spanish word I meant to type from the start), iOS 12 starts suggesting words that begin with “pe-” instead of “espe-”. In other words, when in iOS 12 I start typing a word using one keyboard, and switch to another keyboard mid-word, the predictive engine starts making suggestions without considering the word I was writing as a whole, but from the point I switched keyboards (in this example, after typing “Es”). This makes no sense, and is the cause of constant friction, as I’ll show later with another example. Note instead how iOS 10 behaves more logically here:
4. Here’s another example: I wanted to type the English word “Estimation”. After typing “est”, I realised the keyboard was set to Spanish. I switched to English and continued typing “ima”. iOS 10 adjusted on the fly and correctly started suggesting English words beginning with ‘estima-’.
iOS 12, instead, started suggesting words beginning with ‘ima-’:
Above I said that this maddening behaviour under iOS 12 is cause of constant friction. That’s because, when you switch keyboards mid-word, finish typing the word, and hit Space, autocorrect will often insert a suggestion based not on the word you meant to type, but based on whatever you typed after switching keyboards. This happened earlier today when I wanted to send a tweet using Tweetbot; the tweet was meant to start with “This morning”, but I soon realised I had the keyboard set to Spanish, so I switched to English after typing “This mo”. Look what happened (click to enlarge):
So, autocorrect starts suggesting English words when I continue typing “-rning”. Its best suggestion, as you can see, is toning. It completely ignores what I have typed before (“mo-”), therefore, when I tap Space to write the next word, it autocompletes to “motoning” instead of “morning”. When I backtrack with backspace, the replacements proposed again make no sense — or rather, they’re just useless in this case.
That’s why after switching from my iPhone 5 with iOS 10 to the new iPhone 8 with iOS 12, my initial impressions were that autocorrect was simply worse and felt ‘untrained’. I didn’t realise that what messed things up was the keyboard switching while writing a word.
But even within a single language, autocorrect under iOS 12 does indeed feel less smart than under iOS 10. Here’s another example: I wanted to write “through” but intentionally mistyped the word and started writing “trhou-”. Both predictive engines suggest “through” as the possible word, but in iOS 10 it is the preferred choice, while iOS 12 thinks I want to write “Thou”, which is an archaic word I certainly don’t use on a regular basis and it’s definitely less probable than the more common “through”:
Final notes:
- I don’t know if this behaviour changed with iOS 11, because I went from iOS 10 to iOS 12. Both iPhones are updated to their latest available updates — iOS 10.3.4 and 12.4.1.
- I haven’t tested iOS 13, so I don’t know whether autocorrect still behaves as it does under iOS 12 (I assume it does, though).
- If you think these examples are not exhaustive, you have to understand that I couldn’t possibly upload fifty different comparative screenshots. My results are consistent and, as far as I could observe, reproducible.
Pingback: Michael Tsai - Blog - iOS 13 Autocorrect Is Drunk