eftychia: Me in kilt and poofy shirt, facing away, playing acoustic guitar behind head (Default)
Add MemoryShare This Entry
posted by [personal profile] eftychia at 05:25am on 2010-03-09

"Unix programmers inherit a strong bias toward making interfaces expressive and configurable. Like programmers from other traditions, they think about how to match their interfaces to the target audience -- but they differ in how they deal with uncertainty about that target audience. Software developers whose experience is primarily with client operating systems default toward making interfaces simple; they are willing to sacrifice expressiveness to gain ease. Unix programmers default toward making interfaces expressive and transparent, and are more willing to sacrifice ease to get these qualities.

"The results of this attitude have often been described as interfaces written 'by programmers, for programmers'. But this oversimplifies the matter in an important way. When a Unix programmer opts for configurability and expressiveness over ease, he is not necessarily thinking of his audience as consisting solely of other programmers; rather, he is often acting on a gut-level instinct that in the absence of knowledge about end-users' intentions it is best not to patronize or second-guess them."

-- Eric S. Raymond, The Art of Unix Programming, 2003 (partway through chapter 11, if you want to jump straight to the immediate context)

There are 3 comments on this entry. (Reply.)
metahacker: Superhero-gauntleted hands, holding a helm; text: "Bah! Mortals!" (mortals)
posted by [personal profile] metahacker at 01:41pm on 2010-03-09
...and this is why I have a job: because implementers often end up guessing about user needs and mental models, instead of systematically gathering and designing to them.

Designing for expansion, subversion, etc. is a different axis than designing for usability, though designers should be aware of both.
 
posted by (anonymous) at 11:10pm on 2010-03-09
It's a fun little world - his wife is on my flist.
bodger: xkcd android girlfriend arc weld cherry stem (arc weld)
posted by [personal profile] bodger at 02:31am on 2010-03-16
Yeah, when I'm designing something and there's more than one way forward, I tend to think "better leave it flexible and configurable. But with reasonable defaults. That are easy to find and change." That's where my Java Props library came from. It automagically gens up properties files as needed, and populates them with reasonable defaults, so someone who wants to change the behaviour has a list of all the configurable options, and the format used to express them.

Links

January

SunMonTueWedThuFriSat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24
 
25
 
26
 
27
 
28
 
29
 
30
 
31