Don’t Hide Features in the Settings
Nerdy users see settings everywhere.
Users never look in the settings.
Problem 1
Software is designed and implemented by nerds, so they have an innate tendency to put settings anywhere. And even if they try to fight their nature, they are also often surrounded by nerdy friends and colleagues that encourage them to add more settings.
Close encounters with members of the second category are very rare. Usability testing is often neglected due to its relatively high demand in time and resources, and the user experience is often evaluated by nerdy friends and colleagues.
Problem 2
Software engineers live in a statistically not significant sample set that doesn’t reflect the actual distribution of world population.
Nerdy users: ~0.1%
Users: ~99.9%
Don’t hide features in the settings. People should be able to find all the available features in your app1. Avoid providing access to features only in toolbars or under separate tabs. Features should be zero configuration out of the box. Avoid enabling features only via configuration options or switches. Features should always be available within two-three taps. Do not be surprised if you receive a feature request to add a new functionality that you’ve already implemented in the settings. People never look in the settings section, they see it as an engine room that says “do not touch”.
Don’t hide features in the settings. Provide “under the hood” options for advanced users, and they all lived happily ever after.
Fantastic post, I really look forward to updates from you.