The thing this reasoning overlooks is that <i>apps</i> are complex tools that people use in very different ways, and it doesn&#x27;t make sense to force people to reinvent the wheel everytime they want a feature that your use case studies didn&#x27;t predict.<p>How I think it should always work is:<p>(1) back-end layer  &gt;  
(2) very customizable GUI layer  &gt;  
(3) highly tuned sensible defaults and presets.<p>The great thing about this approach is that if you include analytics, the users to the UI testing for you: if you introduce an optional UI feature and see that a large portion of users do activate it, then you know you should make it the default or include it in some preset.