A1 Vertaisarvioitu alkuperäisartikkeli tieteellisessä lehdessä
Helping Programmers Help Users
Tekijät: Freeman J, Järvi J, Kim W, Marcus M, Parent S
Kustantaja: ASSOC COMPUTING MACHINERY
Julkaisuvuosi: 2012
Journal: ACM sigplan notices
Tietokannassa oleva lehden nimi: ACM SIGPLAN NOTICES
Lehden akronyymi: ACM SIGPLAN NOTICES
Vuosikerta: 47
Numero: 3
Aloitussivu: 177
Lopetussivu: 183
Sivujen määrä: 7
ISSN: 0362-1340
Tiivistelmä
User interfaces exhibit a wide range of features that are designed to assist users. Interaction with one widget may trigger value changes, disabling, or other behaviors in other widgets. Such automatic behavior may be confusing or disruptive to users. Research literature on user interfaces offers a number of solutions, including interface features for explaining or controlling these behaviors. To help programmers help users, the implementation costs of these features need to be much lower. Ideally, they could be generated for "free." This paper shows how several help and control mechanisms can be implemented as algorithms and reused across interfaces, making the cost of their adoption negligible. Specifically, we describe generic help mechanisms for visualizing data flow and explaining command deactivation, and a mechanism for controlling the flow of data. A reusable implementation of these features is enabled by our property model framework, where the data manipulated through a user interface is modeled as a constraint system.
User interfaces exhibit a wide range of features that are designed to assist users. Interaction with one widget may trigger value changes, disabling, or other behaviors in other widgets. Such automatic behavior may be confusing or disruptive to users. Research literature on user interfaces offers a number of solutions, including interface features for explaining or controlling these behaviors. To help programmers help users, the implementation costs of these features need to be much lower. Ideally, they could be generated for "free." This paper shows how several help and control mechanisms can be implemented as algorithms and reused across interfaces, making the cost of their adoption negligible. Specifically, we describe generic help mechanisms for visualizing data flow and explaining command deactivation, and a mechanism for controlling the flow of data. A reusable implementation of these features is enabled by our property model framework, where the data manipulated through a user interface is modeled as a constraint system.