In this framework, the programmer designs various actions that his application can implement, with several actions defined for the programmer by the KDE framework, such as opening a file or closing the application. Each action can be associated with various data including icons, explanatory text, and tooltips.
The interesting part to this design is that the actions are not inserted into the menus or toolbars by the programmer. Instead, the programmer supplies an XML file, which describes the layout of the menu bar and toolbar. Using this system, it is possible for the user to redesign the user interface of an application without needing to touch the source code of the program in question.
In addition, XMLGUI is useful for the KParts component programming interface for KDE, as an application can easily integrate the GUI of a KPart into its own GUI. The Konqueror file manager is the canonical example of this feature.
A project code-named LiveUI is currently under development for KDE 4. It is intended as a successor for XMLGUI.