chapter  7

Porting GUI Programs

The success of the ubiquitous personal computer (PC) as a multipurpose tool is largely due to the simplification of the graphical user interface (GUI)· The new generation of interfaces is based on intuitive, self-explanatory graphics that invite the user to explore the application in a more natural way. Programming for GUI-based applications, however, is much more complex than writing non-GUI-based programs. This difference is especially apparent when object-oriented (00) design, implementation methodologies, and 00 programming languages are involved. The programmer can only hope that the additional complexity of writing such programs is counterbalanced by the quality of the human interface and the application’s ease of use once running. Most important, the proliferation of GUI wizards, systems, and languages makes the portability of such applications across systems difficult indeed. This chapter presents a case study of a genealogical family-tree application implemented in six different GUI systems, which illustrates the cross-GUI platform portability problems. The authors also propose a solution for making such applications more portable across various GUI systems.