UIML

UIML (User Interface Markup Language) is an XML-based markup language used to define user interfaces on computers. The primary purpose of UIML is to streamline the process of developing user interfaces, enabling programmers to describe their interfaces in declarative terms (i.e., as text) and abstract them. For instance, when describing a message window, a programmer using this language could write:

In theory, a programmer could use a description to create user interfaces for various platforms. Though, in practice, these platforms present challenges for comprehensive translation.

Currently, UIML is undergoing standardization by OASIS, with the latest iteration being UIML 4.0, which was released in 2008. A parallel effort with similar objectives to UIML is UsiXML.

Implementations

 * jUIML – An implementation in Java Swing.
 * UIML.Net – A free UIML renderer written in C#. It has been developed at the Expertise Centre for Digital Media (Hasselt University, Belgium) and can render a UIML document using different widget sets and different platforms. The software is hosted on GitHub.