User interface (UI) design is changing due to the separation of front- and back-ends, even to the extent that a priori unknown remote devices can be used to control appliances. This paradigm calls for new formal and generic methodologies of UI design. This paper describes an approach for generating graphical (GUI) and voice-based user interfaces from a single source format. The proposed method introduces a generic dedicated widget vocabulary that aids in defining UI descriptions written in the UIML language. Subsequently, this generic description may be converted to multiple UI implementation formats suitable for the specific client terminals. These targets include GUI-like formats, e.g., HTML, WML and Java, as well as voice-based formats, most notably VoiceXML. A case study is presented for UI generation in a home environment for device-controlling applications.