Proposal: Ubuntu is not intuitive

petr bug petr.bug at
Tue Nov 3 19:27:10 GMT 2009

2009/11/3 Jo-Erlend Schinstad <joerlend.schinstad at>:
> I've always felt that calling a computer system "intuitive" is, at best,
> misleading. My understanding of the word "intuition", is that it's some
> vague and abstract understanding of something. The use of a computer
> system should be based on a clear and precise understanding of what's
> going on.

Computers are used by non-IT people. While I like the idea of people
understanding computer stuff and it is possible to teach them some
basics they will never master the fine details of what is going on.

1) First, it is unnecessary: Interaction designers can invent smooth
user interfaces quite easily. An extra polish is difficult but current
state of affairs will much benefit from usability basics. In my
experience programmers do not know how to remove the obstacle their
users are experiencing (or even what the obstacle is) and fall-back to
position of educating the users. Even when the particular case is easy
for a UI hobbyist like me.

2) Second, it hampers development. If people know how things work they
resist changing the internal workings - in order to avoid having to
learn the new stuff. Programmers try to not change program's interface
even if makes their work harder and the result is suboptimal
(code-wise and ergonomically) - because otherwise their users would
have to be re-taught, will make mistakes in meantime and will whine.

Imagine if people are required to set their IP address (manually):
their computer will not work in when they roam to other network; their
computer will also make ugly stuff on the foreign network and make
some other computer nonoperational (we still lack Duplicate IPv4
Address Detection AFAIK). If the user just knew about IP addresses: it
will be more difficult to move to IPv6. Programmer just opening TCP
connection using Berkeley sockets has to adjust his code to work with
IPv6 although the difference is not important to the code.

3) Third, it limits scaling. If employee does not have to know how to
use a program then many employees can use the program. Similarly if
program component/class does not expose its internals it can fulfill
its contract on other machine or with different algorithm or using
different data structure if programmer seems it fit.

4) Fourth: it is not practical to try fix people while we can fix the
code. Many people's issues on #ubuntu IRC channel, forums etc can be
avoided by clearer error messages, by built-in diagnostics, sanity
checking user input, distinguishing between input from user and
machine etc. Millions of people constantly forgetting and
misinterpreting versus code at hand.

5) Fifth: it is selfish / not ethical for us to consider our field of
expertise more important or enough that others should even bother
about the field. People already know much about botanics, physics,
chemistry or their work/hobby. I want other people's life to be
happier and they seem pretty happy without knowing the internals.
Though, if person expresses an interest I will be happy to teach.

> say that Ubuntu is a _didactive_ system. The user isn't expected to rely
> on intuition to be able to use the software -- that's not user friendly.
> Instead, the system _teaches_ the user to use itself. If you want to
> launch an application, for instance, we have a menu that's always
> available that holds launchers for all the applications. The menu is
> properly named "Applications" to _teach_ the user where to click in
> order to find the available applications. The applications are
> categorised into sections, teaching the user where to look for a certain
> program. Furthermore, the applications are properly labeled using a
> didactive name; we don't simply call it "Transmission", for instance. We
> call it "Transmission BitTorrent Client". This _teaches_ the user to
> launch that program if they wish to use a bit torrent client.

These sound like arguments _for_ "intuitive". (A person begins by
somehow knowing he needs a bittorent-thing. The thing evokes feelings
of application or program with a sense of internet or document related

One can be taught an alphabet but the alphabet (the ordering) is not
intuitive. In our case we can remove the need to know the "alphabet".

I would be great if people knew more/everything about computers,
certainly it would solve many of our problems but it is not practical.
I am afraid we will never get anything better than intuition.

It might be useful for marketing, though. I have heard that sales
people pick product's property at random, make it great or look great
and (lay) people buy it. It might work for us, too.

Quotes at the end:
* Users do not care about what is inside the box, as long as the box
does what they need done. -- Jef Raskin: The Humane Interface
* Engineers like to be in control, but that may not be true of your
target users. Ask a airplane full of people if any of them would be
interested in flying the plane. – Niall Murphy

I am sorry if am over-reacting but...


More information about the ubuntu-desktop mailing list