15.04.2018 Views

programming-for-dummies

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

306<br />

Designing a User Interface<br />

User interfaces should tolerate and expect that the user will make a mistake<br />

and then find a way to recover from these mistakes gracefully. This can be as<br />

simple as having the program beep if the user tries to type his name instead<br />

of his Social Security number, or having the program display a descriptive<br />

error message that not only tells users what they did wrong but also tells<br />

them what to do right.<br />

By doing this, a user interface can give the user confidence to experiment<br />

with a program and learn its features without reading a 300-page manual.<br />

Instead, the user can gradually figure out how to use a program with the program<br />

guiding him every step of the way.<br />

Be consistent<br />

One reason why franchise restaurants are so popular is because people<br />

know what to expect when they eat there. User interfaces also need to make<br />

a great first impression on users and then remain consistent so users generally<br />

know what to expect from a program at any given time.<br />

For example, suppose a program displays a toolbox of icons on the left side<br />

of the screen. Now what happens if the user chooses a command and suddenly<br />

the toolbox of icons either disappears or appears in another part of<br />

the screen <strong>for</strong> no apparent reason at all?<br />

Having the user interface suddenly change its appearance or behavior while<br />

the program is running is certain to confuse and annoy users. By staying<br />

consistent in appearance and behavior, a user interface can be predictable<br />

so the user feels more com<strong>for</strong>table using it (just as long as the user interface<br />

was designed properly in the first place).<br />

Focus on the task<br />

Ultimately, the user interface must make it easy <strong>for</strong> the user to achieve a specific<br />

result from the program, whether it involves creating greeting cards,<br />

editing digital photos, or typing messages into a blog. If the user interface<br />

doesn’t make the main purpose of the program clear and easy, users don’t<br />

know or understand what to do.<br />

The program in Figure 10-20 is designed to help people create stories, but<br />

rather than display its various tools <strong>for</strong> story writing, this program <strong>for</strong>ces<br />

users to choose a file to open first. At this point, most users will wonder<br />

which file to choose, where to find a file, and why they need to open a file if<br />

they’re using the program <strong>for</strong> the first time?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!