Every good work of software starts by scratching a developer's personal itch. – Eric Raymond, The Cathedral and the Bazaar
There's a closely related issue, however that I don't know how to solve yet without a big player with a lot of money, which is doing systematic user interface end user testing. We're not very good at that yet, we need to find a way to be good at it. – Eric Raymond, Why Open Source will Rule
Different people have different psychologies. This seems almost too obvious to be true, but it is surprising how many people don't properly understand it. My favourite description of how people – particularly programmers – differ is in chapter 15 of Bruce Tognazzini's book Tog on Interface:
When Sensories drive to work, they are aware of the birds, the trees, the hills turning green. They notice a cow lowing in the field. [...] Intuitives live in their own private universe, depending on an internal model of external events. [...] When Intuitives drive to work, they watch the tectonic plates, deep in the earth's crust, rubbing together. They run into the cow.
Open Source software is produced by programmers. Programmers are very different from the general public (a far greater proportion of programmers are intuitives than in the general public, for instance). This means that when programmers produce open source software, since they are largely scratching their own itch, they will tend to produce the software for themselves, and in particular be perfectly content with the (programmer-oriented) user interface.
If Open Source software is to make inroads into the general public, something will have to be done about this. The typical response to a complaint about a piece of open source software is "I'll show you where the source is". But by definition the people with this particular itch won't be programmers, and they won't know how to fix the problem: the general public will have an itch they can't scratch, the programmers won't have that itch, and so won't scratch it.
This means that if Open Source Software is to appeal to people that are not producing it, the programmers are going to have to start learning to scratch other people's itches, or people who are able to mediate for the non-programmers are going to have to find a way to tickle the programmers, so that they will scratch it.
© Copyright Steven Pemberton, Amsterdam, 2004. All rights reserved.
First published in ACM/Interactions, January 2004