At some point in almost every software developer’s life – even if it’s just for a personal project – there comes a time when a Graphical User Interface needs designing, and there’s nobody else to do it. Of course, we know there’s plenty of technical information out there on how to use Swing LayoutManagers, IDE GUI builders and so on, but often when it comes to the design we play it by ear. Today I’m going to look at two books from outside the field of Software which have a lot to say about how to build interfaces.
Both have gained a considerable following in the field of human computer interaction, and both are very enjoyable, regardless of your current level of interest in their main subject matter.
The first thing that might have surprised you about this book being on the list is its topic – the second might be that as well as being about comics, it also is a comic.
Comics don’t have the best reputation – one of the first things author Scott McCloud does is describe his initial opinion of comics.
“Comics were those bright, colorful magazines filled with bad art, stupid stories and guys in tights. I read real books, naturally. I was much too old for comics!”
Scott McCloud, Understanding Comics
But, of course, this all changed, and the rest of the book goes to prove that Comics are a complex and flexible medium which, while often used badly, can also successfully inform and entertain readers.
Understanding Comics is full of little things which are relevant to interface design. An example comes when discussing the way we visualise ourselves and why we’re capable of identifying with simplistic cartoons. McCloud takes a brief diversion to talk about how humans extend their identity into inanimate objects:
This is exactly the same kind of extension that people experience when using a mouse.
McCloud also has a lot to say about Iconography – perhaps not the first thing that springs to mind with UI design, but an important aspect nonetheless. Look at this excerpt from the book –
Now look at the buttons on your browser above. You’ll notice that they fall at the very far right of the spectrum, where their meaning is amplified. Perhaps it isn’t a coincidence that Google got Scott McCloud to draw a comic to announce Google Chrome.
The rest of the book is equally informative and thoroughly engrossing, and covers topics such as the history of comics – stretching from the hieroglyphics of ancient Egypt to the Bayeux tapestry and through to the comics and graphic novels of more recent years, how lines can have character, the way time exists within and between panels, the use of colour, and a six-step model of the creative process.
Listing its topics feels like a disservice – it ties it’s numerous ideas together so well and in such an engrossing and enjoyable way that really the best thing you can do is just read it.
The Design of Everyday Things
I was first exposed to Don Norman’s work when he spoke at the Business of Software conference in 2009. His talk, “Ten Rules for Successful Products”, followed the same ‘Top 10’ pattern as many blog posts, but with a twist: the first and last points were both this:
“It’s all about the experience.”
Don Norman, Business of Software 2009
Perhaps this is unsurprising given the topic of his 1988 book ‘The Design of Everyday Things’. Norman constructs a framework for thinking about how designed objects can encourage or discourage human interaction in many ways, which, while primarily described in relation to objects in the world like doors, microwaves and fridge freezers, is extremely applicable to software too.
While the title is design focused, Norman confesses in a preface to the 2002 edition that this was not always the case. The original title was “The Psychology of Everyday Things”, which is shared by an early section which describes the concept of affordances. An affordance is (loosely) the association we have in our brain between an object and an action.
“Affordances provide strong clues to the operations of things. Plates are for pushing. Knobs are for turning. Slots are for inserting things into. Balls are for throwing or bouncing. When affordances are taken advantage of, the user knows what to do just by looking: no picture, label or instruction is required.”
Don Norman, The Design of Everyday Things
To make a comparison with user interface design:
By adding some shading, the box gains depth and seems to pop out from the screen, so we know it should be pushed in. We then move the mouse cursor over it, treating it as an extension of ourselves (remember Understanding Comics?) and physically push the button.
I’d argue that while “The Design of Everyday Things” is a less misleading title than “The Psychology of Everyday Things”, the most accurate might be “How Human Psychology Should Affect the Design of Everyday Things”. Catchy, I know, but important!
Other important topics like human memory, the models for systems people build in their heads due to visual clues, and giving users appropriate feedback are all covered. The book is written in a gentle, entertaining style and has many interesting anecdotes and examples throughout.
This article is part of our ‘Book Review’ Series of articles in which we review interesting books.
Do you need to write or read JPEG in Java?
We have an easy guide on how to write JPEG in Java using ImageIO and JDeli.
You can learn how to read/write most of the image files in ImageIO. However, it gives little control over the process.
JDeli is easy to use and offers complete support, so why not give JDeli a try?