• When we build an application, or even work with a platform like SQL Server, what' s the right balance between simplicity and choice? I'm not sure, but I think that the model changes for each person, and we want to include the level of choice that makes someone use the product efficiently, but with the least amount of options.'

    Alternately, you could say that because the model changes for each person, apps should be flexible, with a default configuration that is close to the average user's need, but the options and ability to be configured for even simpler or even more complex scenarios. That's how I write my SSRS reports - I often include several parameters (based on the users' needs) but I try to default* them to the common usage scenario.

    My ideal application has two buttons on its main screen: "Go" and "Advanced Options" 😀 .

    * Well, I often won't default one parameter, because SSRS has a nasty habit of automatically running reports if all parameters have defaults. Cute, but it can be a headache if the report takes 2-3 minutes to run and you didn't want the default information.