Graphical User Interface Design – How to get it right (Part 1) – Use Colour
- At December 18, 2011
- By John Wiese
- In Technology, User Interfaces
0

User interface design tips:
- Use colour, nice colour (engineer defaults like grey are not friendly)
- Multi-media and artist types can provide good advice on colours to use
- Users are people, think about how you are communicating with them
So why do so many companies get graphical user interface (GUI) design so wrong?
I attribute a large part of my success directly to two key factors:
- Working with a great team (they can build anything I can think up)
- Functional user interface design (building things real people can use)
One of the biggest mistakes I see on a regular basis is where companies bring together a group of super smart people and say “Here’s a piece of work, go for it” expecting to get something miraculous and assuming those smart people know exactly what to do because they have been given a task (sometimes even with requirements). Now I am not saying this can’t work, what I am saying is you typically get the solution you are after with a user interface designed to be used by Engineers. Now this is ok if your target market is Engineers, but there aren’t too many companies making money selling software to Engineers other than Microsoft.
What is so different about Engineers and standard users:
- Engineers care about technology, users care about outcomes…technology is a tool
- Engineers care about details, users care about the experience
- Engineers seek precision, users seek ease of use
Bar-humbug I hear echoing in the minds of Engineers who have come across this blog post. Well try this test, ask a colleague to write a quick “hello world” program. It doesn’t matter what language you use – C, Java, .Net. A good Software Engineer should have it done in a few minutes if that. Now take a good look at what you get and almost without exception I can guarantee the Main Window is “white” and the “text” is black (their default values). If there is a menu system, drop-downs or anything flashy (from your over achievers) it will almost certainly be “grey” (again the default system value).
What does this prove…quite simply that with Engineers you basically get exactly what you asked for, no more no less. A bit like a judge interpreting the law impartially, Engineers interpret requests and requirements in a similar fashion. They assume you want the hello world program to say hello which of course it does probably with as few lines of code as necessary. But would you say hello to a friend passing on the street in such an emotionless and dull fashion? No.
Now if I showed my wife (who is an artist) the same hello world program the first thing she would say is “That isn’t very cheery, why don’t you make the text BLUE and the background LIME GREEN.” And that’s my point and the thing the Engineer missed completely, people sit in front of computers and the majority of people (who aren’t Engineers) expect User Interfaces to be FRIENDLY and that means using colour (even for Hello World).
It’s a bit ironic that I lecture anyone on colour as I am actually colour-blind but here’s the thing, because I have to pay attention to colours to notice them, I notice their impact on people more than most.
Now let’s go a step further here and look into the psyche of our Engineer (this is getting deep but I studied some psychology at Uni and recommend it to EVERY software engineer, your end-users and colleagues are people after all). Surely the intended outcome of the “Hello World” program is to say something real like “HELLO WORLD, LIFE IS GOOD AND I HOPE YOU ARE WELL!” in a big colourful (read non-default) font and maybe with a nice background (or something like that). But that’s not typically how Engineers think. As a former Software Engineer myself I know the thought process is more like:
- Why has someone asked me to do such a lame task
- Ok, I’ve got my Java IDE open so I’ll use Java for this task
- How flashy does this need to be (flashy meaning should I do simple text I/O or bother with a graphics call, nah I’ll stick with text because they would have asked for graphics if that was important)
- Compile, done
- Overachiever – does heaps of other really clever stuff except change the colour OR WORSE picks the most horrible, gaudy colours known to human kind
Am I wrong?
The very first thing I had the team change in our current software was the colour scheme, I kid you not! Almost everything was grey and boring. Everyone on the team now knows I hate grey as a colour theme and if I see grey screens, dialogs or backgrounds I get mightily upset. It is amazing how different the same application looks just by moving to a user-friendly colour scheme.
Well I’ve ambled on for quite some time so I will finish here by re-iterating “change some defaults” when creating and designing GUI’s, it is so easy. Please:
- Use colour, nice colour (grey is not a nice colour)
- Multi-media and artist types can provide good advice on colours to use
- Users are people, think about how you are communicating with them