Today's Internet appliances feature user interface technologies almost unkn
own a few years ago: touch screens, styli, handwriting and voice recognitio
n, speech synthesis, tiny screens, and more. This richness creates problems
. First, different appliances use different languages: WML for cell phones;
SpeechML, JSML, and VoxML for voice enabled devices such as phones; HTML a
nd XUL for desktop computers, and so on. Thus, developers must maintain mul
tiple source code families to deploy interfaces to one information system o
n multiple appliances. Second, user interfaces differ dramatically in compl
exity (e.g, PC versus cell phone interfaces). Thus, developers must also ma
nage interface content. Third, developers risk writing appliance-specific i
nterfaces for an appliance that might not be on the market tomorrow. A solu
tion is to build interfaces with a single, universal language free of assum
ptions about appliances and interface technology. This paper introduces suc
h a language, the User Interface Markup Language (UIML), an XML-compliant l
anguage. UIML insulates the interface designer from the peculiarities of di
fferent appliances through style sheets. A measure of the power of UIML is
that it can replace hand-coding of Java AWT or Swing user interfaces. (C) 1
999 Published by Elsevier Science B.V. All rights reserved.