Next: Interface builders Up: No Title Previous: Contents

# Introduction

Developing graphical user interfaces using graphical environments like the X window system provides the programmer with high flexibility, much functionality, but often big confusion as well. Facing thousands of pages of documentation, most programmers decide to leave the programming of graphical user interfaces to experts. Even these experts often use only parts of the functionality the window system offers, and above all, developing a graphical user interface is a time consuming task.

While everybody wants a graphical interface for his applications, as it makes the handling easier and reduces the learning effort, nobody likes implementing applications with graphical interfaces. A programmer who implements a graphical user interface by hand has to write or change some interface code, has to compile and test it. Afterwards, he often finds out that the changes have had the wrong impact on the interface. The programmer has to handle numerous variables and statements containing widget initialization, configuration and geometry information. The resulting application code mainly implements the interface, and the functionality of the application is thrust into the background. Studies have shown that about 50 to 80 per cent of the code of an application with a graphical interface are used to implement the graphical interface.

The introduction of OOP techniques for interface building makes the implementation of graphical interfaces much easier. Toolkits like Interviews[#Linton88##1#], Theseus++[#Eckardt89##1#] and others can drastically reduce the complexity and size of the interface code. But for many developers, even this reduced complexity of the interface code is not acceptable. They don't want to care about the implementation of the interface, they want to work on the application itself. For those users, a graphical interface builder can be the solution.

- Interface builders
- Terminology
- Roadmap