Here are some complaints and proposed changes.
I’m using TextEdit autocorrect as the baseline “standard macOS” behavior. I encourage people to explore that behavior, and also try out MS Word and Google docs for alternative approaches.
Also am interested if there are other autocorrect systems that I should try. Please note that I’m talking about autocorrection here (fixing something that was typed) vrs autocomplete which is more offering suggestions that match. They are similar ideas but I think that the same UI wise.
Don’t show correction popup as you type
If you type a word slowly TextEdit shows a completion popup for the word that you are typing… allowing you to hit
<space> to complete the word.
In theory this can be useful because it will save you typing and help you pick a correct spelling, but in practice I think it adds to much unpredictability to the autocomplete system:
- There’s not an exact time it will show, you need to wait for it.
- Sometimes it just won’t show up because it has no suggestion, or is in some editing state where it doesn’t want to show. This means you might wait for it as described in 1., but it will never appear.
- Often if you are typing medium speed it will just flash at times when you don’t really want it, but when you’ve paused just long enough for it to think you want it.
Neither Google docs or MS Word have this popup as part of their autocomplete system, so it doesn’t seem necessary. I think helpful to get rid of it.
Undo corrections only and don’t change selection
Autocorrect is usually right, but when it’s wrong I want a quick way to undo. In TextEdit if I type
hello<space> it autocorrects to
Hello<space>. That’s fine, but if I didn’t want it capitalized then I need to:
- Command-Z to undo
- Then I get
hello fully selected
- So I need to Right arrow and then re-enter the
Improvement is for undo to just undo the capitalization. Leave caret and space in original positions. Also instead of having to undo I like how Google Docs overrides delete key to undo the last autocorrection.
Show revert and spelling popups immediately for whole word range
If you want to revert a correction, or see spelling suggestions for a misspelled word you can move the text caret to the end of the word, and then a popup will show… except there area bunch of conditions on this.
From what I can tell:
- if use left arrow key to move to end of word
- if use Option-Right arrow key to move to end of word
- if use Up or down arrow key to land anywhere in word
- for all these cases the popup doesn’t show immediately, it waits a beat, and so won’t show if you are moving caret fast.
Popup doesn’t show
- if use right arrow key to move to end of word
- if use mouse to place caret anywhere in word
To me this is too much variability. I would rather see these popups either never or immediately anytime the text caret moves into a word that’s been corrected or has spelling errors. Google docs works this way showing the popups immediately whenever caret is in word. And MS Word works the opposite way, never showing any popup unless you click on the word.
Show correction underlines for the current sentence range?
When TextEdit makes a correction it will indicate the corrected word by drawing a blue underline under the word. It draws this underline when the correction happens, and then removes it when you type the next letter.
The blue underline will also be drawn (sometimes, I can’t really understand the behavior that I see) when move text caret into the word.
I wonder if this is enough indication time, and if I would trust the autocorrect system more if the blue line correction indicators were always show for the current sentence that I’m editing.
This would mean less flashing on/off of indicators and it would make corrections harder to miss. I think it would be better, but not entirely sure.
Show spelling error underlines more predictably
TextEdit shows a red spelling error underline when you misspell a word. I like this. I also like that as I’m part way through typing a word it does not show a spelling underling for the partially formed word.
Where I get confused and think it’s trying to be too clever is when I go back to edit a spelling error. As soon as I edit a misspelled word it removes the spelling error underline, and then doesn’t recheck the word until I go start editing a different word. Makes trying to manually fix a spelling error frustrating.
I think a better rule is:
- Don’t spell check a new word until you are finished writing it
- Always check and underline all other cases immediately
Unpredictable when corrections can happen
I’m not sure I have a better solution here, but I find it quite hard to determine when a correction can actually happen. In TextEdit the intended rule seems to be that corrections can happen after you have finished typing a NEW word.
This means if you go back into a sentence and edit an existing word and then keep typing a correction will not happen in that word.
I wonder if it would be better to not track the “new word” state and just always apply corrections when you finish typing a word. And by finish typing I mean type a non-word character such as a space after the word.
This seems to be how both Google docs and MS Word work.