What do you do if your program needs to support all user skill levels? After all, it is a reasonable goal for most programs to support a wide range of users. Happily, while the needs of beginning and advanced users are not the same, they are not exclusive either. You can accommodate a wide range of user skills by making your user interface visible; allowing the user to perform all tasks using the menu bar and dialog boxes; providing optional toolbars, context menus, and keyboard shortcuts; and providing advanced interface features such as direct manipulation and drag-and-drop functionality. Windows Explorer, Microsoft Internet Explorer, and Microsoft Word are examples of programs that support a wide range of user skills.
Here are some additional ideas you should consider: