For many decades, it has been a dream of computer scientists to build user interfaces by using very simple language constructs that would describe both design and functionality, in a device-independent way. This paper describes the authors’ attempt to realize that vision. Nichols and Myers have developed, over more than six years, under constant reevaluation, a language to describe the functionality of appliances such as TVs, VCRs, and copiers. The paper explains the key design choices, in the hope that they may be useful to designers of future user interface description languages.
The authors’ approach is an Extensible Markup Language (XML)-based language that does not require the use of any real high-level programming language. The authors claim that the language is powerful enough to describe 33 different appliances; therefore, it may be “appliance interface complete.” Different user studies suggest that learning the language does not take longer than 1.5 hours; after learning it, the human subjects were able to write a specification for their first appliance of medium complexity, in about six hours. User studies were also conducted to evaluate the usability of the user interfaces generated. At the end, the paper reflects on the language’s design process and presents a section that summarizes what worked well and what didn’t.
The paper is easy to understand and is definitely recommended reading for people who want to get into this field or want to build their own user interface specification language. Unfortunately, Nichols and Myers did not compare their approach with mainstream state-of-the-art approaches in user interface design, leaving unanswered questions: How long would the same tasks take using Visual Basic? Could a smartly written Python package do the same job? How would the difficulties of these approaches compare to those that users face when adapting to the rather cryptic machine-targeted XML notation?