L8 Flashcards
(33 cards)
Why might a system be complex?
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)
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?
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
What is an interaction space. Give examples
Interaction space is a UI where users select and configure components
Programming languages, APIs, AI systems, data analytic services, or computed-aided design tools
What is death by detail?
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
What steps are involved in performing CD analysis of an interaction space (= information structure + notation)
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
What is a CDs profile?
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.
What are some generic activities that can be performed using an interaction space
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
What is search and what CDs are important
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
What is incrementation and what CDs are important
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
What is modification and what CDs are important
Changing an existing structure, possibly without adding new content (e.g. changing a spreadsheet for use with a different problem).
What is transcription and what CDs are important
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).
What is exploratory design and what CDs are important
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
What is collaboration and what CDs are important
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.
What are the four components of a notational system
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
Explain how to use CD analysis
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
Explain the role of viscosity
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
Where is CDs relevant?
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.
Name the main dimensions
premature commitment hidden dependencies secondary notation viscosity visibility closeness of mapping consistency diffuseness error proneness hard mental operations progressive evaluation provisionality role expressiveness abstraction
What is premature commitment?
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?
What are hidden dependencies?
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?
What is secondary notation?
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.
What is viscosity?
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?
What is visibility?
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?
What is closeness of mapping?
- 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?