Because a user's skill level is a primary factor determining how the user will interact with your program, understanding your users' skill level plays a significant role in your user interface design. This chapter explores the different types of users, how their different skill levels result in different interface designs, and some methods for creating a program that can accommodate all types of users.