Sarah's comments made me want to add another point to what i was trying to say.
I think it's important to distinguish between software designed to be intuitive and easy to use, vs. those programs that try to guess what the user wants and thus HIDE the complexity and options from them, and not bother making the user perform some actions.
MS Word is a great example of a program filled with features that are trying to do things smartly/automatically so that the user doesn't ever have to think about what's actually going on. This is really nice when the program guesses properly about how you want your paragraphs and pages broken up and formatted -- but i do believe i've lost 2 years of my expected life span screaming at the program when it insisted on breaking up pages and applying new formatting craziness behind the scenes that i did not want.
The controversial option in MS Office apps of re-arranging the menus so that the common items were dynamically moved to the top of the menu, and least common ones were moved off the main menus, is another perfect example of how trying to be "smart" and show the user what they probably need at any given moment, can lead to increased complexity for the user when it fails to guess properly. The loss of predictability is such a catastrophe that I believe such things are almost always better left out.
Here's a good test to figure out if your new smart user interface idea is worth adding. Compare the *complete* help manual instructions you'll have to give for the function.
Let's look at Godin's AM/PM example.
- The old way help file "Choose the time of your appointment and indicate if it is AM/PM using the drop down combo box."
- Here's the new way help file "The program will try to guess whether your appointment is AM/PM based on your past habits. Check to make sure the guess is correct. If not, re-select the proper am/pm setting using the drop down combo box. If the program is consistently wrong for you, you can disable this automatic guessing by going to View->Preferences->Heuristics and changing the Guess mode to disabled."
If that last item seems familiar, you might have read it in one of my help files. I'm guilty of plenty of that kind of heuristic optional stuff. BUT I don't claim it's there to make software "easier" to use -- it's there because a lot of us love to tweak a million options to get things the fun way we want them to be.
Some programs may indeed benefit from this kind of "smart" interface guessing -- if the aim is really to streamline user input to the maximal extent, then sure go for it. But i do think you pay a non-trivial price in terms of consistency, clarity, control, and predictability, and that most of the time you would be much better with an interface where the user always performs the same few steps each time.