UIML


UIML is an XML-based user interface markup language for defining user interfaces on computers.
Basically UIML tries to reduce the work needed to develop user interfaces. It allows you to describe the user interface in declarative terms and abstract it. Abstracting means that you don't exactly specify how the user interface is going to look, but rather what elements are to be shown, and how should they behave. For example, to describe a message window, you could write:



In theory then you could use that description to generate user interfaces for different platforms, like PDAs. In practice, the different capabilities of those different platforms make a complete translation difficult. Other less ambitious domain-specific programming languages attempt only to describe the user interfaces in a domain. See for example the Microsoft language XAML. These languages do a better job usually, but are less flexible.
Today, UIML is being standardized by OASIS.
A separate effort with the same goals as UIML is UsiXML.

UIML implementations