Thursday, April 06, 2006

lessconfig is another word for friendliness

Jaime wants to know "why lessconfig?".

1) Because I'm not special.  (the defaults should work for me until I have a reason to change them.)

2) Because I don't want to need to know how my software works in order to use it.  (I already know you're smart, I downloaded your program; you don't need to show me how smart you are by showing me how hard it is to get the app working.)

3) Because configuration is neither user- nor developer-friendly.  (Everything I can touch is something I can break.)

The first reason is the sensible-defaults argument.  I think we're all in agreement about that.

The second reason is a little harder for developers (myself included!) to grok because we like it when our work is appreciated, and because showing off comes naturally.  "This was hard to write, it should be hard to understand" is the ha-ha-only-serious expression I'm fighting here; we need, as developers, to learn to take pride in Just Works even if it means that our effort is misunderestimated by nontechnical people.

The third reason is the kicker, though.  The Mac users out there already understand this, and have for a long time.  The more configuration your app has, the smarter your users have to be.  Being smart is hard, but that doesn't make it a virtue.  Being smart is a (sometimes necessary) evil.  Anything that

forces me to think -- as a developer or as a user -- when I could just

be getting on with my day is Bad.  The more things I have to pay attention to, the more mistakes I will make when I don't.  And "just do your job!" is a wonderfully pragmatic thing to say, but given the choice between a package/patch management system that lets me hit one button and trust my machine is updated and safe and one that requires me to care about, and spend time on, each individual patch and I know which one I'll choose.


Post a Comment

<< Home