Two Cultures? (was Re: GUI backup tools )

Peter Garrett peter.garrett at
Tue Apr 4 14:39:02 UTC 2006

On Tue, 04 Apr 2006 18:46:29 +0800
"Michael T. Richter" <ttmrichter at> wrote:


> That's the part that needs the most work in any software product.
> Whether you're talking about the human interface, inter-component
> interface, storage interface, system interface -- whichever interface it
> is you're talking about, this is where the real work is in software
> development.  It is also the part that is least glitzy, glamorous and
> fun.  As a result it is the part that is shirked in most (possibly even
> all) software development efforts.
> Free (and open) software is most prone to stopping once the problem
> domain is coded.  GUI work is hard, fiddly and boring.  Only a crazed
> person would waste that much time and boredom on unpaid effort.  If a
> GUI is made, it tends to be hacked together quickly.  (Sbackup is a
> prime example of this -- sorry, Peter -- as is that spec on the wiki
> that was cited before.)  Further it tends to be hacked together quickly
> after the problem domain code is pretty much in a fixed state.  So
> whatever warts exist in the problem domain's interface are worked around
> in the GUI.

I think Michael makes some very valid points here. It's an interesting
aspect of Free/Open Source ( pick your preferred terms), that often the
solutions might be very functional, even brilliantly so ( say, Samba or
Apache for example ) - yet be more or less opaque to ordinary mortals.

Usability studies of course take a lot of resources both in time and
expense, so even with the best will in the world, it is difficult to see
how individual coders (or internationally linked groups of coders) can do
more than make a stab at the problem.

The other aspect of this is a perceptual issue somewhat akin to cultural
differences. A programmer will tend to think in terms of the functions of
the software, and will tend to "design" interfaces accordingly. A
"computer illiterate" user will think quite differently. For example, most
users will look for a menu entry with the word "mouse" in it to configure
click behaviour, whereas a programmer will think 

"Well, Nautilus draws the desktop in Gnome, and icons etc. are part of
that, so the mouse click behaviour will go in the preferences for Nautilus"

In many ways, programmers/coders are the worst possible people to design
interfaces. The real problem, as I see it, is that there tends to be a gulf
fixed between "technical" people and "make it understandable" people.

C.P. Snow, who was both a novelist and a scientist, wrote about this, and
referred to "The Two Cultures" . On a bigger scale, Michael's concerns are
about the division between the sciences and the humanities.

To put it in crude terms ( note that I'm aware that this is a
generalisation and a caricature), programmers/engineers/scientists tend to
think non-technical people are concerned with issues that are "arty" or
"content-free", whereas the non-technical types think that technical
people need an imagination transplant ;-)

I fully expect some technical person to pipe up and say " This should be
discussed on Sounder"  - which would absolutely vindicate me ;-)



Linux User #343161 

More information about the ubuntu-users mailing list