Faruk Ateş makes some ineresing points about adjusting interfaces to users' needs: > Doing this automatically also makes more sense than offering the user a large number of options to customize the UI, for two reasons: first, users shouldn’t be expected to spend a lot of time making an interface usable to them; secondly, people might not always know exactly what they want, but their behavior might make clear what they need. A system that intelligently measures what the user needs in order to deliver the most efficient, effective yet still understandable interface could allow such a thing. A highly effective interface is one that can be changed not to how each user wants it, but to how each user needs it. Ateş gives Nest's thermostat as an example, but I think it probably isn't such a good one. Nest's (mechanical) interface doesn't change. The product only simplifies user interaction by automating its own functionality. Overriding option always remains in user's hands via primary interface. In that way it is similar to autofill or autocomplete. I agree however that manual customization is bad and shouldn't be necessary. Automatic customization has the potential to enhance user experience, but it has the same potential to worsen it. Demoting a button to a popover or displacing fields in a form might be fine, but there is serios trouble in completely removing them from an interface. If a control disappears, how should one summon it back again? Hiding entire features is even worse in that same regard. It is easy to learn what the user doesn't need and hide it. It is really hard to know when (and where) that same user might need it and presenting a solution to get it back. The quesion here is, what kind of negative scenario do we provide and how complex it is for the user to grasp. Let's consider Siri. It's clearly the most simplified user interface that ever existed. But if it presents you with a scarce result, you *know* you still have Safari and Google search to rely upon. This immediately lowers the expectation rate, and if Siri were wrong constantly, one surely would stop using it over time. We don't want to demote our apps like that. Therefore we should not conceal the main mechanics for our functionality if we cannot present an excellent fallback when such is needed. As long as the users can reach their end goal, we should consider refining and eliminating everything that stands in their way. To do that, our apps should definitely know more about their users, but not at the users' expenses.