User Interface Markup Language, (UIML) is a markup language extension of XML that promotes the creation of Web pages that can be viewed on any kind of interface device, from PC monitors to smart phones to PDAs. Using UIML style sheets, Web content can be created once without knowing specifically which devices it will be viewed on. A developer uses UIML to describe elements of the user interface — such as menus, buttons and input boxes. A programmer then can write applications that rely on UIML to get the content to different devices.
UIML rids developers of the need to have multiple source code families in order to deploy interfaces on multiple devices, relieves developers from the burden of having to manage interface content depending on what devices the content will be viewed on, and eliminates the risk of developing device-specific interfaces for a device that may not be on the market in the future.