'''Outsmarting the user''' Outsmarting the user refers to any design choice which leads to the user being unable to use the product in the way he would normally expect it to be used. A common fallacy when the developer assumes that his own opinion about what is convenient and intuitive is also convenient and intuitive for the users of the product he is developing. Software developers make many choices about how their software should work. Software developers strive to make choices that result in their software being easier to use or more convenient for their users. However, when the design includes assumptions about how the users are going to use the product, the developer is at risk of creating a product which is difficult and unnatural to use. Users do not care about the intended uses of a product; they will use it in any way that appear convenient or natural to them. Since the user and developer are not the same person most of the time, the developer should not decide what is most convenient for the user. '''Examples of outsmarting the user''' Smooth scrolling in Windows. Windows operating systems include a feature to smooth the scrolling of windows when the scroll wheel is turned or the arrow keys are pressed. I personally dislike this feature because it slows the visual response to the physical motion to a level which disrupts my thoughts. When I scroll using the mouse, the scroll often goes much further than I intend and does so much later than when I expected. Luckily, Microsoft has included an option to disable this "feature". Smooth scrolling can be disable both using Microsoft's own tool "Tweak XP" and through the Windows GUI itself. Now, that is all well and good for the Windows operating system itself. It perfectly disables smooth scrolling for InternetExplorer and the file Explorer. The problem is that applications such as MicrosoftOutlook and the help systems for many products completely disregard this setting. The developer's sin is to assume that the smooth scrolling feature is always good for the user and that he would never want to turn it off. The effect of his mistake is that the user gets even more annoyed over not being able to disable an already annoying feature. '''Variation''' * Assuming how the user will use the product * Deciding what is best for the user * Choosing uncommon designs for common and similar products ---- CategoryAntiPattern