The Dylan User Interface Manager (DUIM--pronounced "dwim") is a Dylan-based programming interface that provides a layered set of portable facilities for constructing user interfaces.
While DUIM provides an API to user interface facilities for the Dylan application programmer, it is not itself a window system toolkit. DUIM uses the service of the underlying window system and UI toolkits as much as possible. DUIM's API is intended to insulate the programmer from most of the complexities of portability, since the DUIM application need only deal with DUIM objects and functions regardless of their operating platform (that is, the combination of Dylan, the host computer, and the host window environment).
DUIM is a high level library that allows you to concentrate on how the interface looks and behaves rather than how to implement it on a particular platform. It abstracts out many of the concepts common to all window environments. The programmer is encouraged to think in terms of these abstractions, rather than in the specific capabilities of a particular host system. For example, using DUIM, you can specify the appearance of output in high-level terms and those high-level descriptions are turned into the appropriate appearance for the given host. Thus, the application has the same fundamental interface across multiple environments, although the details will differ from system to system.