Further to Andrew Walenstein's message:

> Yes, not necessarily.  It is certainly reasonable to expect to get some
> sort of useful guidelines out of models.
> 
> But I was really arguing a rather more philosophical point about how
> much further away cognitive models are from justifiable design
> requirements or programming guidelines.

The question of how to move from cognitive theory to design 
practice has been a major concern of PPIG researchers for quite 
a long time, and many people have noticed that a cognitive model 
of programming doesn't always provide much design advice.

This is why Thomas Green, with many collaborators since then, 
started work on the Cognitive Dimensions of Notations framework, 
which was intended to be a distillation of cognitive research 
knowledge, made accessible to people designing new tools.

Although the Cognitive Dimensions framework has most often been 
applied to complete tools, it has many useful things to say 
about the usability problems that may affect coding and 
commenting standards. Some obvious ones that come to mind 
include a tradeoff between "diffuseness" and "role-expressiveness" 
when naming variables. Longer variable names can be highly role 
expressive, by giving you lots of information about how this 
variable is related to the rest of the program. But longer 
variable names make the program more "diffuse" - it takes more 
space to express the information, and hence reduces visibility 
and comprehension. This kind of observed tradeoff relationship 
is typical of the design information that can be expressed using 
the framework.

More information about the Cognitive Dimensions of Notations
framework, including a brief introduction, a tutorial for
designers, a usability evaluation questionnaire, a list of active
researchers and a bibliography with links to relevant
publications, can be found at the new Cognitive Dimensions
resource site: 
http://www.cl.cam.ac.uk/~afb21/CognitiveDimensions/index.html

In a way, this is related to Eugene Wallingford's comment about 
software patterns. The Cognitive Dimensions are like patterns of 
usability characteristics that can be applied when analysing the 
usability of notation systems.

Alan
-- 
Alan Blackwell           Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/users/afb21/       Phone: +44 (0) 1223 334418        

Reply via email to