Usability for Nerds/Can I guess what the user wants?

My word processor has a "wonderful" feature called autocomplete. It can guess what I want to write and write it for me. If I write Dear M it will finish the phrase for me and write Dear Mom and Dad.

Usability Autocomplete dearmomanddad
Usability Autocomplete dearmomanddad

I just have to press Enter to make it finish the phrase for me, or write something else if I don't want Dear Mom and Dad.

But as the previous page explains, the users are not always looking at the screen, and even if they are, you cannot expect them to react immediately to whatever happens to pop up on the screen. What if I actually want to write just Dear M or Dear Mom, followed by a line break. The Enter key does not make a line break, as I expect it to, but instead it makes Dear Mom and Dad. This violates the principle of predictability.

My word processor has more "smart" features. If I write the letter i as a separate word, it is changed automatically to a capital I because the dictionary says that the word I is written with a capital I. If I change it back to a small i, the word processor corrects it to the capital I again. It is actually impossible to write a small i, even if I need it as a symbol, an abbreviation, a roman number, or a word in another language.

Modern software has many of these "smart" features. But they violate the principle of predictability and the principle that the user should be in control. The software should never do anything on its own initiative, not even correct errors. Neither should it interrupt the user by asking "Do you want to change i to I?". But it may indicate in an unobtrusive way that is has a suggestion for you. For example, it may indicate words not found in the dictionary like this:

Misspelled indicated by waveline
Misspelled indicated by waveline

Many web browsers also come up with a suggestion when the user starts to write a URL:

This suggestion is accepted by pressing Enter. This violates the principle of predictability because the Enter key would do something else if the suggestion was not there. The user has to actively delete the suggestion if they don't want it.
Usability Netscape autocomplete
Usability Netscape autocomplete
This suggestion is accepted by pressing the Tab key. The frame that pops up may be disturbing, but at least you can ignore it.
Usability Explorer autocomplete

Never interrupt the user · Error tolerance