The interaction habits that have developed as a result of the use of screens have forged the "look and feel" of common graphical interfaces. Gradually, behaviors and representation conventions have become homogenized, differing from one system to another only in very minor details. These graphical interfaces are known generically as WIMP ("window, icon, menu, pointer") interfaces, due to the macroscopic graphical interactors most frequently encountered. However, there are other, non-WIMP interfaces, such as those used in video games.
In practice, the various graphical objects and associated usage conventions are now well developed and are directly available in functionally and visually very similar forms in the various toolboxes used to develop graphical interfaces. These include Delphi for Lisp, Motif for X-Windows, Mac App and PowerPlant for the Macintosh, and Java libraries for the latter. These include, in particular, classes that enable you to easily build specializations of the basic interactors you may need. However, an interface designer also needs to know and understand the principles and reasons behind the long evolution that led to today's interactors, as he or she may have to develop new ones for specific needs.
Following an overview of the cognitive foundations of graphical user interfaces [H 7 215], this article adopts the point of view of user interaction objects and techniques. The following article [H 7 217] explains the principles of software architecture for graphical user interfaces and the specificities of different platforms.