When the iPhone launched, Apple talked a lot about how the typing system worked.
What I remember is that it sounded like pretty simple lookups. As you typed, the software compared your word to, essentially, a weighted dictionary to guess what you were going to type next.
If you typed “b” it was flummoxed. But if you typed “behav” it knew the next letter was almost certainly going to be “e” or “i” (for behavior). It may have been more complicated than that, but probably not much. It was 2007 and the phone CPU was not powerful.
One interesting thing I remember is that they said the phone enlarged the touch targets for highly predicted next letters. For example it would be easier to type an “e” than a “w” after you had typed “behav”, because the tap boundary expanded around the “e”. Cool stuff!
And if you did type behavw and hit space, it would autocorrect to behave.
At some point I recall Apple announcing that they had switched autocorrect to a full machine learning implementation. Rather than a simple deterministic look-up, it was trained on a huge corpus of text, and reads the whole chunk of what you’ve written so far to make predictions. Everyone does this now, it’s how they deliver the (incredibly annoying and stupid IMO) one-tap suggestions for email and text replies. “Thanks!” “Noted.” “I’ll get right on that.”
In my memory, that’s when typing got a lot more annoying on iPhones. The quality of suggestions went either down or weirdo or both. For example it just tried to sub-in “Quaker” for “quality” in the previous sentence. Why??
Worse is its insistence on continuing to autocorrect words I’ve just gone back to fix.
If I type some letters, it autocorrects, I explicitly backspace to delete the autocorrection, and then type the exact same thing again, for the love of god stop “helpfully” correcting it for me again to the exact same thing I just undid.
This seems like such low-hanging fruit it's baffling that it's still an issue and I say this as a full-blown Apple apologist.
The process for teaching it a word depends critically on not hitting the space bar or return key or any other punctuation.
If you pause at the end of the word, either the first time or after correcting it, and don’t hit any key, it’ll throw up the “suggestion X” popup. Tapping X on that popup teaches it the word.
I, and a lot of others, will backspace to correct a word, then hit space, and then it immediately undoes the correction, because hitting the space bar is indicating “you can go ahead and autocorrect this as you would in everyday typing”.
This training method isn’t documented anywhere that I know of, has worked for years (perhaps for all time?), and is the opposite of well-known. I am really upset with Apple for that last one especially.
I agree this is infuriating. This was the reason that made me finally ditch autocorrection altogether on my iPhone. I still make mistakes but at least now they're mostly my own mistakes, and when I correct them they stay corrected.
GP is saying he would like not to but cannot shut it off because they’re not using autocorrect but text replacements. It does make sense in the general case to sync text replacements, just not if you’re using it in place of autocorrect
Phase 1: iPhone w/o autocorrect but with text replacements.
Phase 2: iPhone and macOS, but text replacements are synched without option to disable. I don’t want autocorrect or replacements while typing on a real keyboard.
Phase 3 (reluctantly): iPhone with autocorrect, macOS without it, and no text replacements.
tl;dr it would be nice if I could disable text replacement on a per-device basis.
One solution is to disable autocorrect, then tap-type when you want no correction and swipe-type when you do (since swiping necessarily uses autocorrect)
This particularly infuriates me when it corrects words I've already fixed prior to the one I'm typing. There's a better highlight animation when it does it in iOS 16, but I still miss the animation most of the time (because I'm focused on the word I'm typing, not words back).
I want an option to disable that, but right now there doesn't seem to be a way other than turning off autocorrect altogether (which I've been alternating it on and off lately trying to figure out which one aggravates me least; I also briefly returned to SwiftKey [RIP] to see if its ancient less recently trained ML autocorrect model was better).
>i just turned auto correct off completely a few versions ago...
I don;t use autocorrect at all. Never have. But I do use 'swipe-to-type' [or whatever it's called] on Android and run into the same annoyances, as it will also chooses the wrong word, for a swiped pattern, every time --no matter how often I correct it.
I'm sure there's a sub-clause in Murphy's Law which states that "No matter how many times you proof-read, any discussion on the subject of grammar or spelling will include typos"
I agree with this. Having the device "correct" something that you've just gone back to fix is extremely frustrating.
That said, there are times when retroactive correction is useful. If I type "new york," it's appropriate for the phone to automatically correct it to "New York" and not "new York"
Yes! I can ignore suggestions, but when the autocorrect corrects my correction I feel like I'm in a game of whose's on first? Eventually you need to tap another button to keep the spelling you want.
many versions of iOS ago - if you deleted the autocorrect word, it suggested above the keys the original word it replaced, which made it very easy to get back to where you originally were.
they then removed this a few years ago.
utterly baffling how over-engineered and regressive it has become
This gets exacerbated if you are using a different language, like we Indians do. Type Hindi/Kannada/Tamil in English. Your autocorrect/predict word steers in the direction of most frequently used language and screws up all your pure english comms. Can still live with autocorrect but absolutely hate this ML based predictive nonsense, and I have completely disabled it.
I have yet to encounter a predictive text system that handles more than one language well. I type a mix of Dutch and English on my phone, because that's how I talk. But there is no reliable way to say "use both". It's one or the other.
The is one problem with letting Americans design things. They don't understand that the rest of the world regularly speaks more than one language, and that in different environments they're mixed up in different ways.
> I have yet to encounter a predictive text system that handles more than one language well.
Huh, really?
I have "Multilingual typing" enabled in my Android keyboard settings and it works pretty well. I can write a message that has English, German and French mixed in (not even that uncommon in Switzerland...) and it doesn't have any problems with it.
That. Auto-correction is just about impossible for me. I write in two or three languages, and sometimes mix them. In addition to that, the suggestions, even in the correct language, are always 100% wrong. Auto-correction has always, without exception, been in the way for me, so that one gets switched off first thing.
It's actually bliss to write Japanese.. even with my limited ability to do that. The only thing that pops up is suggestions for which kanji or whatever to use for what I entered. Works smoothly and fast.
In my experience suggestions also depend on the selected keyboard. When I type German on the English keyboad, autocorrect is terrible. I tried switching keyboards for a while but that did not work for me. The reason is that the placement of common letters (a to z) is subtly different between layouts and that skyrockets the error rate of my typing.
Does the iPhone not have an easy way to switch between keyboards? I just swipe left/right on the space bar to switch between Norwegian and English keyboards - but my phone isn't an iphone.
If you have several languages configured, there's a globe icon that lets you switch between keyboards. It's still a step down from Android that seems to just detect the language even if you switch mid-sentence.
If you don't mind the crashes, Gboard does this fine, generally detecting the difference between English, Spanish, and Portuguese for me. Although sometimes it wakes up on the wrong side of the bed and suggests only nonsense.
iOS autodetects and automatically switches languages as you described. The globe icon is just for switching key layouts. Language is independent of key layout.
Looks pretty half-assed implementation to me. If they have autocorrect for Finnish, it shouldn't be too difficult to do quick lookups for both Finnish and English. And everyone knows that it's Autocorrect's carefully designed brand image to screw up, switching languages would allow more creative mistakes.
> This gets back to the idea of preventing frustration. I determined that it would be more frustrating to have autocorrection “guess wrong” and erroneously fix broken typing.
I work on automation a lot, and this is so hard to communicate to the endless stream of non-tech types that just want to “tweak” the algorithms to be a little bit smarter. Trust is an asymmetric proposition, requires lots of positive inputs to slowly accrete it; it takes very few negative inputs to rapidly dissolve it. It is better to be reliably/predictably helpful some of the time, than it is to usually be helpful but sometimes dishelpful all of the time.
Or as Thumper put it (kinda): “If you don’t have nuthin nice to add, don’t add anything at all.”
I agree and see Thumper's Law as a combination of the Principle of Least Surprise and the concept of Loss Aversion in the sense that a pleasant surprise, like a correctly guessing what you were going to type, is greatly outweighed by the pain of an unpleasant surprise, like when the phone changes "it's" to "it's" even though I typed and wanted the former.
I think the key insight here is that corrections you can trust are great - you can just let the autocorrect do its thing & stay in flow state. Corrections that you have to check every time because they’re not reliable enough are worse than useless because they force you to check every single correction, completely breaking flow.
The right amount of flow state is hard to achieve. I'll type two words wrong but the autocorrect actually gets it right, but by the time I've realized that, I've already hit delete several times or are on the third word, have lost the autocorrect, and lost my focus and flow. My brain's just not timed the right way for the auto correct's default settings
In terms of automation, I'm a fan of the 80% solution. 100% automation tends to be fragile in the non-perfect case so often it's useful to automate most of it and let a human make important decisions.
Yup. Heuristics over algorithms is The Correct Answer™ (for UX).
I once wrote a bespoke query parser for an in-house full text search app. Spent most of my time doing fit and finish for the domain specific stuff. Looked at logs of actual user searches, before and after. Even did usability testing. (Who does that any more?)
End result was "invisible", because it just worked. Totally unattainable if I'd relied solely on stock tool stack.
Sometimes I’d type out a correct spelling of a word and it’d correct it to another word that’s totally unrelated to the context of the sentence, like your Quake example.
For me it always turns “well” into “we’ll”. I have no idea why. I rarely type in the second person, and grammatically they’re not substitutes. It’s maddening.
For me [on Android, which is just as excerable] it's changing "has" to "had", which it does every fucking time. No matter how many times I change it back. I'll re-read what I've written and find I've been jumping between past and present tense like a grammatical kangaroo.
One thing that could vastly improve the suggestions would be to only insert a proper noun if I've first tapped the shift key. Here again, Android has the infuriating habit of suddenly inserting a person, city or country name into the most prosaic of sentences.
My other major annoyance with this kind of typing on mobile is that; once the fuckwitted algorithm has made a ridiculously wrong choice, when you spot it a word or two later and go back to correct it, all the corrections offered are variations on the wrong word it chose, rather than alternatives for what could have been chosen initially.
And the very nature of typing on mobile means you're looking at the keyboard, not what's appearing on-screen [as people can do, to various degrees, on 'real' keyboards]. So, unless you're looking up at the screen between every single word, to make sure it's correct, a lot of the correcting has to be done belatedly. So the errors tend to pile up.
Oh nice, I never thought of that. I would love to see the list of these unacceptable words, I can almost understand it not wanting to type out "fuck" but iirc they were also not autocorrecting "abortion" at one point which is a little ... conservative
They put those various in because there was a time when it would autocorrect the other way duck would become fuck if misspelled kind of thing.
And usually a misplaced duck is less harmful in a polite/business setting than a misplaced fuck.
“I saw a fuck on the road on the way to work” in work chat is a different type of embarrassment than “what the duck were you thinking you ducking idiot” in a personal text.
Thank you so much. This alone is a quality of life improvement on an ios keyboard. I'll live with s/well/we'll/ if it stops trying to police my tone when I'm annoyed
There's a blast from the past. Remember on the old Nokia dumbphones with T9 [0] predictive text. Belatedly realising you'd insulted somebody by calling them a 'duck' or an 'aunt'
Continue typing the following word and it will revert we'll to well if we'll didn't make sense. (In other words, it looks backward two words, not one.)
I've discovered that Siri (US-English) is, IMNSHO ridiculously heavily weighted towards southern drawl. Like, where "lion" and "line" are essentially indistinguishable sounds. It KEEPs transcribing my words as if i had a southern accent, but i very much speak with a generic northern accent with fairly clear enunciation and diction and pronunciations that tend to match the dictionary.
Mine throws in random French words that look like the medical words I was aiming for.
Also for a 3 month period it was auto-correcting ’thé’ to ‘teh’ - i had to train it out of it by spending around half an hour just entering and cancelling the auto correct in notepad on both my computer and phone (because they’re linked)
Edit… oh dear, it may have discovered another association I don’t want it to have
Ugh this happens to me all the time. Earlier I typed pre-sale and it put pré-salé for some reason, and it’s in English keyboard. Why have separate ones if you’re just gonna mush the auto together anyway?
I looked through their comment history, I couldn't see anything too controversial around the time this kicked started. Weird, maybe they can ask @dang to see what's up?
I believe there is (or very much should be) something like a “principle of least surprise” in product design. Delight is great but this is unexpected, annoying behavior.
I took from all the comments to experiment with turning off auto-complete. So far its going great. You can still manually select words to substitute or complete but the algorithm won’t change any words by itself.
Swipe-to-type on Yandex keyboard on Android had a similarly infuriating habit of "correcting" my English spelling to American. So I'd swipe c-o-l-o-u-r and it would insert 'color', c-e-n-t-r-e and it would insert 'center', etc. etc.
Oh.And this was with my phone set to 'UK English' and Yandex keyboard set to use 'System Language'. If I caught it in time, I could drag the suggested word off the suggestion bar, so it would be removed from future suggestions. But the yanks have mangled the English language so much, it was a Sisyphean task.
Machine learning is powerful in many domains, but it's giving engineers license to be lazy. I don't know why everyone isn't using NNs and the likes as augments to existing code so that they keep what already works fine, but rather, they feel they can just replace it, which leads to all the problems we see now in Google, in autocorrect, and so on.
>Machine learning is powerful in many domains, but it's giving engineers license to be lazy.
The problem is that if you do machine learning, you just throw data at it to correct wrong behaviors. It's difficult to marry this with a logical approach, like dictionary frequency. Which one do you weight how much? 50:50? What if the user dislikes one of the two models more often, do you add another layer of machine learning here?
>At some point I recall Apple announcing that they had switched autocorrect to a full machine learning implementation.
>For example it just tried to sub-in “Quaker” for “quality” in the previous sentence. Why??
We need to organize and get a huge number of people to start sending text messages one day, using the autocorrect as it works, and not correcting the autocorrect. Just let it put whatever words it wants in there, and send those messages, no matter how nonsensical they are.
If everyone just does this for a week, it'll completely ruin these companies' ML models and they'll be forced to switch back to simpler autocorrect implementations that are actually useful.
What difference would this make? Using the ML model's output as input would merely make the model think it is indeed correct.
The ML models would not be ruined beyond how they already are. And if their current state is insufficient to force anything, this would just be more of the same.
> Sorry for the inconvenience caused to your order. Our customer is aware of the situation in the area and will be able to help resolve it.
Starting with only the word sorry. interesting that it went down a customer service path. It started suggesting corporate speak.
> Nature is a religion that has been around since ancient times but it is now being used to promote a culture of diversity in society that has not yet developed.
Starting with nature. Wow, deep stuff.
> I think you should do some research before making a post about the new game. I have played a lot with my wife but she doesn’t have a clue.
> Sorry for the late reply I just wanted to let you know that I am so sorry I missed your call yesterday I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that I was just fine with that
My SE seems to have a bit of a psychotic breakdown over missing things. Siri, you doing ok there?
> Nature is in the way of the planet and the planet is in the planet of the planet and the planet is in the planet of the planet and the planet is in the planet of the planet and
> I like the idea of the planet and the planet is in the planet of the planet and the planet
“She’s stuck in an infinite loop and he’s an idiot”
Sorry for your loss but I’m glad you’re getting better soon and I hope you feel much stronger and more confident in the next few days and I will be praying for the best of both worlds and I know that I love you and I will always be here if you ever wanna come over and see my little baby girl and we can hang out and play games and I will be happy for the rest of my life
> For example it just tried to sub-in “Quaker” for “quality” in the previous sentence. Why??
Do you have an app called Quaker something installed? I had to disable predictive text because after installing the “YouBike 1.0” app my phone refused to let me type the number 10. It always got replaced with 1.0 no matter how many times I tried to correct it.
As happy as I normally would be to laugh at Apple misfortune, everything in this thread including your comment could be about Android, and it would still sound true in my experience :(
Yeah, they're remarkably similar in this frustration, though have their own weird quirks around it in terms of implementation issues. Drives me crazy on every one of my devices.
Do people actually send messages to each other like that? I modified all the precomposed replies on my watch to remove capitals and punctuation. Using capitals and punctuation raises the register of the message for me, and 99% of the time if I’m sending a text it’s to friends or family.
I normally wouldn’t say anything but since it’s the topic of conversation, I hate that. I see lowercase and deliberate no punctuation as passive aggression.
I think it's not unreasonable to expect there to be written dialects as well as spoken ones. A comparatively huge amount of a person's communication is written these days, where previously it would have been face-to-face or with a phone call.
The general spoken register where I live skews informal, so I assume this has carried over to written communication. Using capitals and punctuation comes across to me as stilted and like an email or a letter rather than a text message.
It means the formality level of text. I think that person was saying that within their family chats, they perceive that using capitals and punctuation makes the messages feel unnecessarily/inappropriately formal.
Register of speak I suppose ? Formal, vulgar, technical, casual...
I might be wrong English is not my first language. But that would fits nicely. I understand that as going from casual to formal, for instance.
If you're in the car, it's nice, but it simply doesn't work.. So what d you do? You first struggle 2 minutes with the phone, and fixing all the mess it made, and then just pick up the phone and quickly type a message in 10 seconds. With or without autofrustrate
Reminds me of how much worse siri is getting every year, where it bit flips what I say to the opposite. Makes me think they're using ML models for everything which never gets anything right with %99.9 accuracy. "Hey siri turn off the bedroom lights", "Ok, turning on the bedroom". Recently tried alexa again with an old echo dot and it worked way better with basic things like I remembered it. Super sad.
Siri has languished in nifty feature hell. Apple bought it to look futuristic but hasn't made it useful.
"Hey Siri, check my messages on WhatsApp"
"You'll have to unlock your phone"
If I could handle the phone right now I wouldn't be asking....
"hey Siri, what commands do you know?"
"I can't do that."
"Hey Siri, remind me to call Bill on Thursday" (tiny pause before on Thursday with continuation sounds like "uh")
"Ok I set a reminder to call Bill."
"Change to Call Bill on Thursday"
[Adds "On Thursday" to the title]
All of these things are much better handled by Alexa or Google. Alexa does need a two word command introducer though. It joins into conversations randomly by mistaking words for "Alexa".
- open an app. (Say Apple Podcasts, otherwise it'll open deezer)
- call a contact (but randomly replaces your most frequently called person with someone I've spoken 10+ years ago)
- set a timer
- set an alarm
that's really it. Reminders work like shit, exactly like you said.
If siri doesn't know what to do with a contact, it asks you what you wanna do, and then doesn't understand it. I turn all this crap off as much as I can. Just a bunch of wasted dev-time, battery-time, and chip/die realestate which could be used for anything else.
My Siri experience seems to degrade over time. Months ago all my lights used to respond individually. "Turn on the floor lamp in the living room" would turn on the lamp. Now that command turns on all lights in the living room. Last week my HomePod started responding with "uh-huh" within .5 seconds of it hearing "Hey Siri" well before it's given me a chance to actually say anything.
And then there's so much trouble with connecting to the internet or even setting an alarm. Like setting a timer needs to connect to the internet even when there are zero issues with my connection. Please give me a local DumbPod.
I was super disappointed to find out that after they crammed a whole iPhone SOC package into the speakers that they don't do offline processing for siri like the phone does. Seems like such a wasted opportunity
I recently switched from Android to Apple, and this was a big difference that I noticed. I think Google/Android still use a "simple lookup" dictionary (or similar) that updates based on your own behavior, while Apple's suggestions are sometimes non-sensical, and harder to correct (happens to me when typing domains ending in ".xyz" a lot - they get autocorrected to ".cuz")
Thank you for explaining this, I've had the same experience as the OP so was very interested when I saw the title.
And I echo their sentiment that the 1st gen SE is the best phone I've ever had. Just bought 3rd gen SE (hardware on the 1st gen SE was dying) and while it's decent, I really miss the form factor of the original.
The very first thing I do in VS is to disable the git plugin and the AI assisted autocomplete. I've never found that autocomplete to be better than having the ability to predict what autocomplete was going to suggest.
It's not just the keyboard. It's also siri.. I tell siri to call XXXXXXX. I see on my screen it actually understood me, and then it changed the name into someone else who I never ever call.
Alls this "ai" stuff drives me crazy. It's just plain unpredictable. I prefer predictability in my daily drivers, and I'll go for "ai" when I need it.
Siri was great when it first came out. At some point it went machine AI and sometimes it works well but most of the time it is absolutely annoyingly batshit insane.
My current fun one is “turn off bathroom lights” will cause it to ask downstairs or upstairs and loop forever no matter what you say at that point. Then I have to get up and press a light switch like a Neanderthal!
In my opinion, they should limit the text fields that auto-correct to a very limited set of applications. It becomes very problematic when attempting to type words in a foreign language.
Just last week I was attempting to type a foreign word into a translate box on a webpage in Safari and the browser or page kept removing characters I had entered, presumably it was proactively auto-correcting but it was completely unpredictable because it also seemed to retain all the letters I had typed even though it was also removing them from the text field.
I have my e-mail address as a text replacement. It works ... about 1/10 of the time. The Apple keyboard didn't show text replacements when it wanted to suggest a password. (Not sure if that's still true). The google keyboard is just flaky about using the replacements. I'm usually stuck manually typing through it and fighting autocorrect, sometimes without the benefit of autocorrect suggestions.
Meanwhile, I had to delete the omw replacement which, 100% of the time, replaced with the overly enthusiastic "On my way!".
What I remember is that it sounded like pretty simple lookups. As you typed, the software compared your word to, essentially, a weighted dictionary to guess what you were going to type next.
If you typed “b” it was flummoxed. But if you typed “behav” it knew the next letter was almost certainly going to be “e” or “i” (for behavior). It may have been more complicated than that, but probably not much. It was 2007 and the phone CPU was not powerful.
One interesting thing I remember is that they said the phone enlarged the touch targets for highly predicted next letters. For example it would be easier to type an “e” than a “w” after you had typed “behav”, because the tap boundary expanded around the “e”. Cool stuff!
And if you did type behavw and hit space, it would autocorrect to behave.
At some point I recall Apple announcing that they had switched autocorrect to a full machine learning implementation. Rather than a simple deterministic look-up, it was trained on a huge corpus of text, and reads the whole chunk of what you’ve written so far to make predictions. Everyone does this now, it’s how they deliver the (incredibly annoying and stupid IMO) one-tap suggestions for email and text replies. “Thanks!” “Noted.” “I’ll get right on that.”
In my memory, that’s when typing got a lot more annoying on iPhones. The quality of suggestions went either down or weirdo or both. For example it just tried to sub-in “Quaker” for “quality” in the previous sentence. Why??