L8 Flashcards

1
Q

Why might a system be complex?

A

Domain complexity
users of the system may undertake many different tasks
because task outcomes are not well defined (e.g. wicked problems)
because the combined behaviour of individual parts makes the overall system operation too complex to anticipate
because the system will continue operating when the user is not there to observe it (i.e. programming)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What limitations are encountered when we try to apply classical HCI methods based in first wave HCI (such as CW and KLM/GOMS) to interaction spaces?

A

CW and KLM/GOMS assume that a user has a well defined goal, and that it is possible to define a task involving a predictable sequence of actions,
This kind of TASK BASED design can be contrasted with the design of INTERACTION SPACES in which users select and configure components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an interaction space. Give examples

A

Interaction space is a UI where users select and configure components
Programming languages, APIs, AI systems, data analytic services, or computed-aided design tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is death by detail?

A

Design of an interactive space requires a broad brush analysis technique, because attempts to describe the individual tasks and specific actions would result in a DEATH BY DETAIL resulting from a combinatorial explosion of possible tasks and potentially relevant domain elements
Rather than describing specific actions that the user will carry out using an interface, broad brush techniques aim to describe interaction at a level of analytical distance from the interface
It is necessary to find an analytical frame that structures the description of an interaction, so that it can then be compared to some ideal characterisation of the application domain in terms of desirable interaction patterns offering a critical perspective
Canonical example of a broad brush analysis technique is CDNs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What steps are involved in performing CD analysis of an interaction space (= information structure + notation)

A

get to know your system
decide what the user will be doing with the notation
choose some representative tasks
for each step in each task, ask whether the user can choose where to start; how a mistake will be corrected; what if there are second thoughts; what abstractions are being used; etc. for the other domains. This will generate an observed profile
Compare the observed profile with the ideal profile for that type of activity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a CDs profile?

A

When users interact with content, there are a limited number of activities that they can engage in, when considered with respect to the way the structure of the content might change. A CDs evaluation must consider which classes of activity will be the primary type of interaction for all representative system users. If the needs of different users have different relative priorities, those activities can be emphasised when design trade-offs are selected as a CDs profile.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some generic activities that can be performed using an interaction space

A

incrementation: adding formulas to a spreadsheet
transcription: converting a formula into spreadsheet or code terms
modification: changing the layout of a spreadsheet or modifying it for a different problem
exploratory design: designing software, other cases where the final product cannot be envisaged and has to be discovered
searching: hunting for a known target such as where a function is called
exploratory understanding: discovering structure or algorithm, or discovering the basis of classification
collaboration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is search and what CDs are important

A

finding information by navigating through the content structure using the facilities provided by he environment e.g. finding a specific value in a spreadsheet
The notation is not changing at all though the parts of it that the users see will vary
Visibility and hidden dependencies can be important factors in search

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is incrementation and what CDs are important

A

Adding further content without altering the structure in any way (e.g. adding a new formula to a spreadsheet). If the structure will not change, then viscosity is not going to be very important.

creates new information
there may be problems with premature commitment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is modification and what CDs are important

A

Changing an existing structure, possibly without adding new content (e.g. changing a spreadsheet for use with a different problem).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is transcription and what CDs are important

A

Copying content from one structure or notation to another notation (e.g. reading an equation out of a textbook, and converting it into a spreadsheet formula).

No new information being created so premature commitment not a problem
Nothing being altered so viscosity not a problem
To preserve consistency of treatment from instance to instance, visibility may be required (otherwise the transcribed copy will be missing crucial hidden state).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is exploratory design and what CDs are important

A

Combining incrementation and modification, with the further characteristic that the desired end state is not known in advance (e.g. programming a spreadsheet on the fly or “hacking”). Viscosity can make this kind of activity far more difficult. This is why good languages for hacking may not be strictly typed, or make greater use of type inference, as maintaining type declarations causes greater viscosity. Loosely typed languages are more likely to suffer from hidden dependencies (a trade-off with viscosity), but this is not such a problem for exploratory design, where the programmer can often hold this information in his head during the relatively short development timescale.

Designers continually make changes at many levels from detailed tweaks to fundamental rebuilding so
Viscosity as low as possible
Premature commitment needs to be reduced
Visibility must be high
Role expressiveness – understanding what the entities do – must be high

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is collaboration and what CDs are important

A

If the main purpose of the notation is to be shared or discussed with other people, the design considerations can be very different to those necessary for working by yourself.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the four components of a notational system

A

an interaction language or notation
an environment for editing the notation
a medium of interaction
possibly two kinds of sub-devices: helper devices which offer a new notational view, redefinition defies e.g. macro recorders

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explain how to use CD analysis

A

Vocabulary for design discussion
Many dimensions reflect common usability factors that experienced designers might have noticed but did not have a name for
Giving them a name allows designers to discuss these factors easily
CDs are based on the observation that there is no perfect user interface any more than na perfect programming language
Any user interface design reflects a set of design tradeoffs that the designers have had tom
Giving designers a discussion vocabulary means that they can discuss the trade-offs that result from their design decisions
The nature of the tradeoffs is reflected in the structure of the dimensions
It is not possible to create a design that has perfect characteristics in every dimensions, making improvements along one dimension often results in degradation along another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explain the role of viscosity

A

viscosity: resistance to change
In some notations, small conceptual changes can be very expensive to make. Imagine changing a variable from int to long in a large Java program.
The programmer has to find every function to which that variable is passed, check the parameter declarations, check any temporary local variables where it is stored, check any calculations using the value, and so on.
The idea of what the programmer needs to do is simple, but achieving it is hard.
This is viscosity.
There are programming languages that do not suffer from this problem, but they have other problems instead – trade-offs.
This means that language designers must be able to recognise and discuss such problems when planning a new language.
Furthermore, language semantics alone does not capture all the important usability considerations, because it is possible to design tools (such as refactoring functions) that mitigate the problems.
The word “viscosity” helps that discussion to happen

17
Q

Where is CDs relevant?

A

CDs are relevant to a wide range of content manipulation systems – audio and video editors, social networking tools, calendar and project management systems, and many others.
These systems all provide a notation of some kind, and an environment for viewing and manipulating the notation. Usability is a function of both the notation and the environment.

18
Q

Name the main dimensions

A
premature commitment 
hidden dependencies
secondary notation
viscosity 
visibility 
closeness of mapping 
consistency 
diffuseness 
error proneness 
hard mental operations 
progressive evaluation 
provisionality 
role expressiveness 
abstraction
19
Q

What is premature commitment?

A

Premature commitment: constraints on the order of doing things.
When you are working with the notation, can you go about the job in any order you like, or does the system force you to think ahead and make certain decisions first?
If so, what decisions do you need to make in advance? What sort of problems can this cause in your work?

20
Q

What are hidden dependencies?

A

Hidden dependencies: important links between entities are not visible.
If the structure of the product means some parts are closely related to other parts, and changes to one may affect the other, are those dependencies visible?
What kind of dependencies are hidden?
In what ways can it get worse when you are creating a particularly large description?
Do these dependencies stay the same, or are there some actions that cause them to get frozen?
If so, what are they?

21
Q

What is secondary notation?

A

Secondary notation: extra information in means other than formal syntax.

Is it possible to make notes to yourself, or express information that is not really recognised as part of the notation? If it was printed on a piece of paper that you could annotate or scribble on, what would you write or draw? Do you ever add extra marks (or colours or format choices) to clarify, emphasise or repeat what is there already? If so, this may constitute a helper device with its own notation.

22
Q

What is viscosity?

A

Viscosity: resistance to change.
When you need to make changes to previous work, how easy is it to make the change? Why? Are there particular changes that are especially difficult to make? Which ones?

23
Q

What is visibility?

A

Visibility: ability to view components easily.
How easy is it to see or find the various parts of the notation while it is being created or changed? Why? What kind of things are difficult to see or find? If you need to compare or combine different parts, can you see them at the same time? If not, why not?

24
Q

What is closeness of mapping?

A
  • Closeness of mapping: closeness of representation to domain.
    How closely related is the notation to the result that you are describing? Why? (Note that if this is a sub-device, the result may be part of another notation, not the end product). Which parts seem to be a particularly strange way of doing or describing something?
25
Q

What is consistency?

A

Consistency: similar semantics are expressed in similar syntactic forms.
Where there are different parts of the notation that mean similar things, is the similarity clear from the way they appear? Are there places where some things ought to be similar, but the notation makes them different? What are they?

26
Q

What is diffuseness?

A

Diffuseness: verbosity of language.
Does the notation a) let you say what you want reasonably briefly, or b) is it long-winded? Why? What sorts of things take more space to describe?

27
Q

What is error proneness?

A

Error-proneness: the notation invites mistakes.
Do some kinds of mistake seem particularly common or easy to make? Which ones? Do you often find yourself making small slips that irritate you or make you feel stupid? What are some examples?

28
Q

What are hard mental operations

A
  • Hard mental operations: high demand on cognitive resources.
    What kind of things require the most mental effort with this notation? Do some things seem especially complex or difficult to work out in your head (e.g. when combining several things)? What are they?
29
Q

What is progressive evaluation?

A
  • Progressive evaluation: work-to-date can be checked at any time.
    How easy is it to stop in the middle of creating some notation, and check your work so far? Can you do this any time you like? If not, why not? Can you find out how much progress you have made, or check what stage in your work you are up to? If not, why not? Can you try out partially-completed versions of the product? If not, why not?
30
Q

What is provisionality?

A
  • Provisionality: degree of commitment to actions or marks.
    Is it possible to sketch things out when you are playing around with ideas, or when you aren’t sure which way to proceed? What features of the notation help you to do this? What sort of things can you do when you don’t want to be too precise about the exact result you are trying to get?
31
Q

What is role expressiveness?

A
  • Role-expressiveness: the purpose of a component is readily inferred.
    When reading the notation, is it easy to tell what each part is for? Why? Are there some parts that are particularly difficult to interpret? Which ones? Are there parts that you really don’t know what they mean, but you put them in just because it’s always been that way? What are they?
32
Q

What is abstraction?

A
  • Abstraction: types and availability of abstraction mechanisms.
    Does the system give you any way of defining new facilities or terms within the notation, so that you can extend it to describe new things or to express your ideas more clearly or succinctly? What are they? Does the system insist that you start by defining new terms before you can do anything else? What sort of things? These facilities are provided by an abstraction manager - a redefinition device. It will have its own notation and set of dimensions.
33
Q

What tradeoffs exist wrt CDs

A

CD framework has the advantage that it illuminates design manoeuvres in which one dimension is traded off against another
We can reduce viscosity by introducing abstractions though that will require an abstraction manager where the abstractions are defined + some early commitment about which abstractions to define
The abstractions themselves may then become more viscous and introduce hidden dependencies