IT Lecture Notes by Mark Kelly, McKinnon Secondary

Interface Design

An 'interface' is the point where a human meets software.

The interface shows data, information and controls for human to interpret, give commands and enter or modify data. There are interfaces in all software that a human has to directly work with, from spreadsheets to operating systems.

Ever since the early Amiga and Macintosh days, operating system designers have had to follow strict guidelines about how to create interfaces. They also publish style guides to software programmers dictating how they make their programs' interfaces look. While it may have stifled the creativity of some programmers, it made life blissful for users who - until that point - had to suffer the idiosyncratic design decisions of every different programmer. e.g. aren't you glad all Windows menu bars start with the "File" menu, and all have an "About..." item in the Help menu so you can find the version of the software you are using? And isn't it great that all Windows software uses the F1 key for help?

Apple's Interface Guidelines (updated 27 Sep 06)

A good interface is rarely noticed - because it is good. A bad interface can really irritate the pants off you.

Let's look at some factors in good interface design...

 

Ease of use

Do you have to read a manual to work out how to perform basic operations?

Are the most commonly-performed operations and information available on the main screen, or do you have to tunnel through mysterious levels of screens to find the most-wanted buttons or data?

Are the most commonly-used keystrokes short and easy to perform? e.g. CTRL+S rather than CTRL+ALT+SHIFT+S to save a file?

Is help provided - e.g. online help, context help, tool tips, helpful reminders on a form?

 

Clarity

Are there "mystery" buttons that give no clue what they do because they use some weird, meaningless graphic or some text that means diddly-squat to most people?

Are related items grouped together in a box or frame to show they are related?

Does the programmer try to squeeze too much into a given space?

Do some command options become inactive ('greyed out') when they make no sense, or could be harmful?

 

Minimal work

Does the interface 'remember' your preferences and use them next time? e.g. if you save a file to a given location, does it remember that location the next time you save or does it force you to find and re-select that folder every time you save?

Are combo boxes used, where appropriate, so you don't have to type?

Are shortcut keys available instead of using the mouse?

Are "spin controls" provided so you can make quick and minor adjustments to a setting?

 

Consistency

style guides have been created by Amiga, Apple, Microsoft and other operating system creators to tell programmers how to design their interfaces. For a program to be certified by Microsoft, it has to pass a test to see whether it conforms to Microsoft's guidelines.

Is colour coding used consistenly?

Are navigation buttons the same on different screens?

Do icons look the same from screen to screen?

Do menus and vocabulary fit in with acepted conventions?

 

Appearance

Is the screen pleasant to stare at for an 8 hour work day? If you don't like it, can you change it?

 

Accuracy, safety

The most basic factors you'd expect of an interface, but it ain't always so! Do buttons perform the right action? Does the display actually show everything, or does text get cut off? Is everything the right size?

Does the interface warn you when you are about to do something silly or dangerous? e.g. before you format a hard disk, are you given plenty of warning that this is a really dramatic thing to do, or does the software just destroy your data? If you exit an application with unsaved documents, do you get a warning first?

 

Configurability

If you are used to a different shortcut key for an operation, can you change it?

Can you turn off irritating features (like Microsoft's accursed Clippy)? Yes - even Microsoft realised in the end that 98% of the human population detested Clippy and the other Office Assistants

 

 

Back to the IT Lecture Notes index

Created Tuesday, November 5, 2002 3:31 PM

Last changed: August 22, 2007 11:19 AM

IT Lecture notes copyright © Mark Kelly 2001-