Many software applications solicit input from the user via a "forms" paradi
gm that emulates their paper equivalent. It exploits the users' familiarity
with these and is well suited for the input of simple attribute-value data
(name, phone number, etc.). The paper-forms paradigm starts breaking down
when there is user input that may or may not be applicable depending on pre
vious user input. In paper-based forms, this manifests itself by sections m
arked "fill out only if you entered yes in question 8a above", and simple e
lectronic forms suffer from the same problem-much space is taken up for inp
ut fields that are not applicable. One possible approach to making only rel
evant sections appear is to hand-write program fragments to hide and show t
hem. As an alternative, we have developed a form specification language bas
ed on a context-free grammar that encodes data dependencies of the input, t
ogether with an accompanying run-time interpreter that uses novel layout te
chniques for collapsing already-entered input fields, for "blending" input
fields possibly yet to come, and for showing only the applicable sections o
f the form. (C) 1998 Elsevier Science B.V. All rights reserved.