Reification, Polymorphism and Reuse: Three Principles for Designing Visual Interfaces
W. Mackay, and M. Lafon. In Proc. Advanced Visual Interfaces, AVI 2000, Palermo, Italy, (2000)
Abstract
This paper presents three design principles to support the development of large-scale applications and take advantage of recent research in new interaction techniques: Reification turns concepts into first class objects, polymorphism permits commands to be applied to objects of different types, and reuse makes both user input and system output accessible for later use. We show that the power of these principles lies in their combination. Reification creates new objects that can be acted upon by a small set of polymorphic commands, creating more opportunities for reuse. The result is a simpler yet more powerful interface. To validate these principles, we describe their application in the redesign of a complex interface for editing and simulating Coloured Petri Nets. The cpn2000 interface integrates floating palettes, toolglasses and marking menus in a consistent manner with a new metaphor for managing the workspace. It challenges traditional ideas about user interfaces, getting rid of pull-down menus, scrollbars, and even selection, while providing the same or greater functionality. Preliminary tests with users show that they find the new system both easier to use and more efficient.
- interaction techniques often developed in isolation över time, users develop individual patterns of use that depend upon the available objects and commands, the particular application domain, and the current context of use.
- ease of use depends on many factors such as effective representation, complete command set, support for efficiency in patterns of use.
- reification aka grouping so a node is combined with 2 others to form a meta-node - polymorphism implies the same actions have the same effect on different objects of similar type.
- Reuse means we should pipe and filter input and output from various commands. (shrimp has this notion already I believe).
- see also Proceedings of the third international conference on Computer-aided design of user interfaces 1999, Louvain-la-Neuve, Belgium
%0 Conference Paper
%1 mackay00a
%A Mackay, W. E.
%A Lafon, Michel B.
%B In Proc. Advanced Visual Interfaces, AVI 2000
%C Palermo, Italy
%D 2000
%K study user hci visualization
%T Reification, Polymorphism and Reuse: Three Principles for Designing Visual Interfaces
%U http://www.cs.toronto.edu/~nernst/papers/mackay-AVI2000.Principles.pdf
%X This paper presents three design principles to support the development of large-scale applications and take advantage of recent research in new interaction techniques: Reification turns concepts into first class objects, polymorphism permits commands to be applied to objects of different types, and reuse makes both user input and system output accessible for later use. We show that the power of these principles lies in their combination. Reification creates new objects that can be acted upon by a small set of polymorphic commands, creating more opportunities for reuse. The result is a simpler yet more powerful interface. To validate these principles, we describe their application in the redesign of a complex interface for editing and simulating Coloured Petri Nets. The cpn2000 interface integrates floating palettes, toolglasses and marking menus in a consistent manner with a new metaphor for managing the workspace. It challenges traditional ideas about user interfaces, getting rid of pull-down menus, scrollbars, and even selection, while providing the same or greater functionality. Preliminary tests with users show that they find the new system both easier to use and more efficient.
@inproceedings{mackay00a,
abstract = {This paper presents three design principles to support the development of large-scale applications and take advantage of recent research in new interaction techniques: Reification turns concepts into first class objects, polymorphism permits commands to be applied to objects of different types, and reuse makes both user input and system output accessible for later use. We show that the power of these principles lies in their combination. Reification creates new objects that can be acted upon by a small set of polymorphic commands, creating more opportunities for reuse. The result is a simpler yet more powerful interface. To validate these principles, we describe their application in the redesign of a complex interface for editing and simulating Coloured Petri Nets. The cpn2000 interface integrates floating palettes, toolglasses and marking menus in a consistent manner with a new metaphor for managing the workspace. It challenges traditional ideas about user interfaces, getting rid of pull-down menus, scrollbars, and even selection, while providing the same or greater functionality. Preliminary tests with users show that they find the new system both easier to use and more efficient.},
added-at = {2006-03-24T16:34:33.000+0100},
address = {Palermo, Italy},
author = {Mackay, W. E. and Lafon, Michel B.},
biburl = {https://www.bibsonomy.org/bibtex/2994c1abea54337bcc9cde9ad62cfe1c9/neilernst},
booktitle = {In Proc. Advanced Visual Interfaces, AVI 2000},
citeulike-article-id = {121777},
comment = {- interaction techniques often developed in isolation "over time, users develop individual patterns of use that depend upon the available objects and commands, the particular application domain, and the current context of use.
- ease of use depends on many factors such as effective representation, complete command set, support for efficiency in patterns of use.
- reification aka grouping so a node is combined with 2 others to form a meta-node - polymorphism implies the same actions have the same effect on different objects of similar type.
- Reuse means we should pipe and filter input and output from various commands. (shrimp has this notion already I believe).
- see also Proceedings of the third international conference on Computer-aided design of user interfaces 1999, Louvain-la-Neuve, Belgium},
description = {sdasda},
interhash = {1e6fcc345eaece0b87a99658cf43c5f6},
intrahash = {994c1abea54337bcc9cde9ad62cfe1c9},
keywords = {study user hci visualization},
priority = {0},
timestamp = {2006-03-24T16:34:33.000+0100},
title = {Reification, {P}olymorphism and {R}euse: {T}hree {P}rinciples for {D}esigning {V}isual {I}nterfaces},
url = {http://www.cs.toronto.edu/~nernst/papers/mackay-AVI2000.Principles.pdf},
year = 2000
}