## User Interface Design Tools

#### Benefits of GUI for Users

Most modern electronic devices provide a Graphic User Interface (GUI) to simplify interaction with the user. Because many different devices use the same basic interface elements, users can easily learn the operation of each new device they encounter.

Although each device may have a unique look and some custom interface elements, most GUI devices share a similar set of elements and behaviors. A typical GUI provides the user with familiar elements, such as windows, dialogs, menus, lists, buttons, and editable text fields. Each of these elements operate much the same in all devices.

#### Benefits of GUI for Developers

The use of standard interface elements simplifies your design and implementation of software for a platform. You do not need to expend effort designing a general look and feel for the interface or implementing the basic UI for your application. It is usually a relatively simple technical matter to manually create and customize interface elements for an application based on the high level interface objects that are provided in the SDK, but careful work is required at the implementation detail level to ensure the interface elements look and behave as desired. Using the custom subclasses of the classes defined in the SDK to implement the application's user interface, your development team can concentrate most of its effort on the parts of the application that are unique.

#### Rapid Development

Some development tool kits take this process one step further and provide tools that further simplify the creation of the user interface. The additional functionality provided by UI design tools allow you to create the UI in a graphic environment that provides immediate feedback of all changes to the interface.

When using a UI design tool, you create graphic representations of the windows, UI designs, dialogs, menus, and other visual user interface elements and modify these elements within the graphic editor. As you make changes to the visual elements in the graphic editor, the tool maintains an internal model of those elements. When you complete the editing session, the tool writes out the files and other resources necessary to create and use the interface elements within the application.

##### Related Information

- Controls Components
- Component Information Pane
- Component Palette Pane