A good user interface is specifically designed for the people who are going to use it. Clearly, the first task is to determine the target user. You need to answer the following questions:
Of course, at this point the answers to many of these questions are theoretical. You'll get much more realistic answers from your target users in the next step.
TIP
Establish the target user to help you make design decisions.
Suppose that as you identify the target user, you determine that your program is a mainstream, mass-market product to be used by everyone. Programs such as Microsoft Internet Explorer or even Microsoft Windows itself are good examples of such products. Appealing to a broad market doesn't mean that you can't define a target user. While it is possible for a single program to accommodate a wide variety of users, not all users can be accommodated equally well. As I discussed in Chapter 6, "Beginning vs. Advanced Users" users with different skill levels have different needs. Such a mainstream program should be targeted squarely at intermediate users. Going out of your way to accommodate beginning users will likely frustrate all other users. Furthermore, beginners don't stay beginners for long. Targeting advanced users will clearly frustrate beginners.
Identifying and understanding the target user is valuable even if your program is used by a wide variety of people. The target user sets the direction in which you want to aim your program. Identifying and understanding the target user will help you make better design decisions.
TIP
Always identify a target user, even if your program will be used by a wide range of users.