Title: SEG 3210 User Interface Design
1SEG 3210User Interface Design Implementation
Waël Hassan Unit-D Design
- Prof. Dr.-Ing. Abdulmotaleb El Saddik
- University of Ottawa (SITE 5-037)
- (613) 562-5800 x 6277
- elsaddik _at_ site.uottawa.ca
- abed _at_ mcrlab.uottawa.ca
- http//www.site.uottawa.ca/elsaddik/
2Unit D User Centered Design and Prototyping
- System Centered Design
- User Centered Design
- 3. Case Study Olympic Messaging System (OMS)
- Participatory Design
- Design Rationale
- UI Prototyping
- Paper-based prototypes
- Software-based prototypes
- Where Does All This Fit Into the Software
Engineering Process? - Key Points to Review
31. System Centered Design
- What can be built easily on this platform?
- What can I create from the available tools?
- What do I as a programmer find interesting to
work on?
41. System Centered Design
52. User Centered Design
- There is no fixed process for HCI design ...
- ... Just a series of techniques that have been
found helpful - ... And some guidelines to help choose and
sequence those techniques - Key principles of user-centered design
- It should involve users as much as possible so
they can influence the design - It should integrate knowledge and expertise from
all the disciplines that influence HCI design - It should be highly iterative so testing can be
done and so users will be satisfied.
62. User Centered Design
- Some attributes one needs to be a good UI
designer - A sense of empathy with users
- An ability to understand their mental models
- An ability to rapidly learn their domain and
tasks - Hands-on experience with a wide variety of
software. - The more software you see, the more ideas you
will have - Analyze all the software you know for
malfunctions - This will prevent you from repeating errors!
- Familiarity with UI design techniques and
guidelines
Golden rule of interface design Know The User
72. User Centered Design
- Some critical aspects of the general SE process
needed to produce good UIs - (Note These alone are not enough!)
- The goal of all activities must be solving the
customers problem - Extensive data gathering and analysis must be
done to ensure we understand all aspects of the
problem. - Well-structured requirements must be reviewed and
agreed-to. - Foster a disciplined software engineering
process. - Effective regimes must be in place for
- Quality assurance
- Configuration management
8Questions
- What is quality assurance?
- What is quality assurance in User Interface
design? - What is configuration management?
93. Case Study Olympic Messaging System (OMS)
- Developed by Gould for the 1984 Los Angeles
Olympics - Led to the recognition of the term
user-centered design - Objective
- Develop a system to allow communication among
thousands of people during the Olympics - Assumptions
- Telephones will not work as people are constantly
moving and participating in events - Non-computer users
- To be used by over 20 000 people from kiosks
103. Case Study Olympic Messaging System (OMS)
- Some of the techniques used
- Initial analysis, interviewing, site visits etc.
- Usage scenarios prepared
- Commented on by many people
- Result Changes made and some functions dropped
- User guide prepared
- Modified 200 times before final version decided
- Simulations constructed and evaluated
- Primary purpose Designing help messages
- Result Discovered need for consistent undo and
go back functionality - Prototype constructed
- Result Many more iterations
- Hallway method
- Soliciting opinions of passers-by
- Try-to-destroy-it method
- Hire hackers to try and break it
113. Case Study Olympic Messaging System (OMS)
- Conclusions
- Focus on users and their tasks early, and keep
them central - Measure reactions using prototype manuals and
systems - Design iteratively because even highly-skilled
designers get it wrong - Usability factors must evolve together and be
under the control of one group - The extra work of user-centered design greatly
reduces work later on
124. Participatory Design
- Problem
- intuitions wrong
- interviews etc not precise
- designer cannot know the user sufficiently well
to answer all issues that come up during the
design - Solution
- designers should have access to pool of
representative users - END users, not their managers or union reps!
The user is just like me
134. Participatory Design
- Users become first class members in the design
process - active collaborators vs. passive participants
- Users considered subject matter experts
- know all about the work context
- Iterative process
- all design stages subject to revision
144. Participatory Design
- Advantages
- users are excellent at reacting to suggested
system designs - designs must be concrete and visible
- users bring in important folk knowledge of work
context - knowledge may be otherwise inaccessible to design
team - greater buy-in for the system often results
- Drawbacks
- hard to get a good pool of end users
- expensive, reluctance ...
- users are not expert designers
- dont expect them to come up with design ideas
from scratch - the user is not always right
- dont expect them to know what they want
15Methods for involving the user
- At the very least, talk to users
- surprising how many designers dont!
- Interviews
- used to discover users culture, requirements,
expectations, etc. - contextual inquiry
- interview users in their workplace, as they are
doing their job - Explain designs
- describe what youre going to do
- get input at all design stages
- all designs subject to revision
- important to have visuals and/or demos
- people react far differently with verbal
explanations
165. Design Rationale
- Def the reasoning behind the design of a
software - It could be understood as either
- The process of choosing among design alternatives
- A document carefully explaining why certain
design decisions are made - Who needs design rationale
- Other developers and maintainers
- So the design remains consistent
- So old analysis is not repeated
- Trainers
- So they can answer learners questions
- Learners may develop a better mental model
- Marketing personnel
- So they can answer customers questions
- New staff or new projects
- So consistency is maintained
17Ways people record design decisions
- Not at all!
- Minutes of meetings
- Buried in lengthy narrative
- Table with ...
- Alternatives considered
- Pros and cons of alternatives
- Alternative chosen
- This approach is reasonable
- Diagrams plus tables plus a small amount of
narrative - This is ideal but needs computer support to make
it fast - We will look at some diagramming techniques
18Approaches to Document Design
- Issue analysis
- Determine UI issues to be resolved and options
for their resolution - Design space analysis
- exploration of a space of alternatives
- For several options, determine goals they would
achieve - Claims analysis
- Look for claims explicit or implicit in a
design decision - Reason about whether the claim is legitimate
- e.g. A design has single-letter commands
- Implicit claim This is faster to use
- Is it really? Document reasoning
19Issued-Based Analysis
- Originated with the IBIS system in 1970
- (Issued-Based Information Systems)
- PHI is a more modern variant (Procedural
Hierarchy of Issues) - Steps
- Build a hierarchy of issues (questions)
- Sub-issues are issues that, if resolved, would
help solve higher level issues - Identify high level (prime) issues
- Repeatedly identify sub-issues breadth-first
- Resolve issues starting at the bottom level
- List options (positions or answers) i.e. ways of
dealing with each issue - List arguments for and against each option
- Choose the best answer
- Leave the hierarchy, options, arguments and
chosen option in the design documentation!
20An example issue hierarchy for a library system
How to go to previous screen
How to exit?
How to go to higher level?
How to exit system?
How should the user navigate the Library?
How to get more detail?
How to get related books?
21Design space analysis
- Exploration of space of alternatives
- Better quality because designer will have
explored more alternatives - And documents them at the same time
- Use of QOC notation
- Questions highlight issues that must be
considered - Options
- Criteria argue for or against various
alternatives - Steps to make a decision about an issue
- List the options as in issue analysis
- List positive criteria (benefits gained, or goals
achieved by choosing one or more options). - Show which criteria argue for or against each
option - Pick the option that best meets goals
22Design space analysis
- An example navigation problem
- Mechanisms are needed to move...
- A Within items on a screen
- B To and from a greater level of detail
- C To and from related screens at the same level
of detail
- Options
- Option 1
- A tab / back tab
- B right arrow / left arrow
- B left arrow
- C / -
- Option 2
- A tab / back tab
- B and C return / escape
- Option 3
- A down arrow or tab / up arrow or back tab
- B return / escape
- B select higher level (A) then return (B) or
escape - C select up (A) then return (B) /
- select down then return
B
?
B
A
C
23Design space (omitting negative criteria)
24Exercise?
- Design screen controls (configure screen options)
- Functionality Required
- Adjust screen projection area
- Set different color configurations
- Reset button
- User interface goals
- Goal is to increase speed and ease of use
- Goal is to minimize the number of buttons
25Using Design rationale
- Design rationale is critical in UI design
because - There are usually numerous alternatives
- Unless analysis is systematic, one may
- ... pick a suboptimal alternative
- ... not even think of one or more alternatives
- Alternatives depend on the context
- If the context changes, one can quickly study the
reasoning to see if a system change is needed - Design rationale is good for both
- Actively designing
- Recording (documenting) the design
26Using Design rationale
- As a minimum, use design rationale when
- There is deliberation over a decision
- Reviewers raise issues
- Opinion war is looming
- Accommodation is necessary
- Special knowledge is applied
- Testing reveals shortcomings
- Uncertainty remains
- A kludge had to be made
- Use issue and design space analysis in a
brainstorming environment - And record the results
- Analyze all claims (evaluate them)
- And record the results
276. UI Prototyping
- UI Prototyping involves a scaled down
analysis-design-evaluate cycle - It is an analysis technique
- Two key kinds of UI prototypes
- Paper based
- Quick and inexpensive
- Stimulates ideas in a brainstorming environment
- Software based
- Demonstrate functionality and usability
- A simulation of the eventual system
28Why is it essential to prototype the UI?
- With technical design documents alone ...
- It is hard to imagine ramifications of design
decisions - It is hard to represent interactions in a
complete, consistent and readable way - The system may have high functionality with low
usability - People are much more likely to get the functional
aspects of a system right up front - The UI is where most complaints will come from
- It is too late to start fixing it once the
product is built
297. Paper-based prototypes
- Paper-based prototypes
- a paper mock-up of the interface look, feel,
functionality - quick and cheap to prepare and modify
- Purpose
- brainstorm competing representations
- elicit user reactions
- elicit user modifications / suggestions
30Paper-based prototypes
- Sketches
- Drawing of the outward appearance of the intended
system - Crudity means people concentrate on high level
concepts - But hard to envision a dialogs progression
31Paper-based prototypes
- Storyboarding
- a series of key frames
- originally from film used to get the idea of a
scene - snapshots of the interface at particular points
in the interaction - users can evaluate quickly the direction the
interface is heading
32Storyboard of a computer based telephone
33Paper-based prototypes
- Pictive plastic interface for collaborative
technology initiatives through video
exploration - design is multiple layers of sticky notes and
plastic overlays - different sized stickies represent icons, menus,
windows etc. - interaction demonstrated by manipulating notes
- contents changed quickly by user/designer with
pen and note repositioning - session is videotaped for later analysis
- usually end up with mess of paper and plastic!
34Paper-based prototypes
- Pictive
- can create pre-made interface components on paper
- eg, these empty widgets were created in
JBuilder/visual basic and printed out
buttons
menu
alert box
combo box
list box
tabs
entries
35Some ideas of paper prototyping
- Draw diagrams on cards for each screen, window,
menu - Dont worry about being precise sketch roughly
- Draw different versions of the cards so you can
experiment with which is best - Experiment walking through various tasks
(scenarios) - Do the above in a brainstorming environment with
users and colleagues - Keep the design space open as long as possible!
- Commit to a particular UI as late as possible
- Storyboards are faster and cheaper than computer
prototypes
368. Software based prototype
- Actually works
- Must be built quickly and cheaply
- Is an integral part of user-centered design
- Evaluation and modification are fundamental
- The code is generally thrown away
- But the design is kept!
- In incremental and evolutionary prototyping the
code may be kept - But watch out for unmaintainable code
- A requirements animation
- Is a less functional kind of prototype
- A demonstration of the system that acts like a
movie - walks through interactions
- Can be stepped through to illustrate tasks
- Can be quick to set up
37What parts of the UI should you prototype?
- As much as possible, but emphasize
- The top 20 of tasks
- That will usually consume 80 of a users time
- Those aspects of the UI that are considered
unusual or problematic - E.g. Screens where you have unusual widgets
- Anything safety-critical, even if only used
occasionally
38Approaches to limiting prototype functionality
- Vertical prototypes
- includes in-depth functionality for only a few
selected features - common design ideas can be tested in depth
- Horizontal prototypes
- surface layers includes the entire user interface
with no underlying functionality - a simulation no real work can be performed
- Scenario
- scripts of particular fixed uses of the system
no deviation allowed
39Approaches to integrating prototypes and product
- Throw-away
- prototype only serves to elicit user reaction
- creating prototype must be rapid, otherwise too
expensive - Incremental
- product built as separate components (modules)
- each component prototyped and tested, then added
to the final system - Evolutionary
- prototype altered to incorporate design changes
- eventually becomes the final product
40Presenting SW-based prototype
- Painting/drawing packages
- draw each storyboard scene on computer
- neater/easier (?) to change on the fly than paper
- a very thin horizontal prototype
- does not capture the interaction feel
41Presenting SW-based prototype
- Scripted simulations and slide shows
- encode the storyboard on the computer
- created with media tools
- scene transition activated by simple user inputs
- a simple horizontal and vertical prototype
- user given a very tight script/task to follow
- appears to behave as a real system
- but script deviations blows the simulation
42Presenting SW-based prototype
Help-
Type name and place call
43Interface builders
- Tools for letting a designer lay out the common
widgets - Construct mode
- change attributes of objects
- Test mode
- objects behave as they would under real
situations - Excellent for showing look and feel
- a broader horizontal prototype
- but constrained to widget library
- Vertical functionality added selectively
- through programming
44Evaluation of a prototype elicits information on
- Functionality and operation sequences
- Assists with task analysis
- Some systems unfortunately create new tasks for
users! - e.g. time spent organizing files, converting
formats, translating coding schemes - Usability of the look and feel
- What symbols users can recognize
- Where layout or messages cause confusion etc.
- User support needs
- Where help and training are needed
45Some obstacles to effective prototyping
- It takes time
- Often it is omitted entirely or evaluation is
skipped - But evaluation gives it 70 of its value
- Many managers do not have the required experience
- Management may think its real!
- The question is not whether to build a pilot
system and throw it away. You will do that. The
question is whether to plan in advance to build a
throwaway - Brooks - Solution Train managers
- It is hard to fit into a contractual process
- Especially when the contract is to implement a
given specification - Solution Contracts should be based on solving
the problem
46Conclusions about prototyping
- Budget sufficient time to prototype key aspects
of any system - Properly evaluate prototypes.
- Be aware that prototyping alone will not give you
all the answers - Other techniques are needed to generate ideas for
the prototype - Task analysis
- Conceptual modeling
- Storyboarding
- Design rationale
- It misses non-functional issues such as
reliability and safety. - Consider previous and competing products as
additional prototypes - But you must still prototype any differences or
deviations from these!
479. Where does all this fit into the SW Eng.
process?
- When developing user interfaces, analysis and
design are naturally intermingled - There are really three kinds of design
- Architectural design
- how to split the system up into layers
- Interface design
- how to make the system work with the task and
conceptual model - Detailed design
- how to apply the physical nuts and bolts
48Where does all this fit into the SW Eng. process?
General Requirements Gathering, Scoping and
Objective Setting
UI Analysis Design
49Thoughts about specifications
- The importance of specifications
- Allow for contractual agreements or work sharing
with team members - Form the basis for efficient detailed designs
- Force detailed thinking
- often bring hidden problems to light
- There is a move towards making specifications
mathematically formal - This is still fully not achievable for UI specs
50Thoughts about specifications
- Clearly separate the following specification
components (which are prepared roughly in
parallel) - Formal specification of the API and lower layers
- API needs to be worked out a bit ahead of UI
spec. - Describes data and operations both abstractly and
precisely - A prototype is not sufficient
- Specification of the UI
- May be the results of UI design or more formal
- Somewhat dependent on the API specification but
also affects what must be in the API. - Describes
- look appearance of UI
- feel details of interactions
51Thoughts about designing an API
- What should be performed in UI layer
- Formatting and display of output
- Division into screens navigation among screens
- Interpreting of events
- Menus, action buttons and hotkeys
- Scrolling, re-painting etc.
- Most help
- What should be performed in lower layers
- (i.e. communicated via the API)
- Actions performed on data
- Requests for raw data
- Requests for information about the state of the
system or objects - Loading and saving of files
- Generation of most error structures
- Some systems may manipulate codes but this
blocks highly usable messages
52Characteristics of API
- The API must serve the user interface.
- Think in terms of commands that will serve the
users task - Ensure that all the UIs I/O needs are served via
the API - The API should allow flexibility
- Replacement of the UI as improvements are
required - Alternate UIs (e.g. online access, command-line)
- Automatic testing
- Replacement of lower layers
- Substitutes provide same API
- Despite the above, the API should be as simple
as possible
53Characteristics of API
- The API should provide both atomic and composite
operations. - An atomic operation is the smallest unit of work
that might need to be performed - e.g. Deleting one field
- A composite operation is a larger operation that
should be passed through the API as a whole - For efficiency
- Because component operations may interact
- e.g. Deleting a set of records
- Consider several layers with their own API
- Bottom layer
- Add, delete and modify objects
- Find information about objects
- Error messages might be simple codes
- Middle layer
- Operations on groups of objects
- Security to control access
- Diagnostic error messages
5410. Key Points to Review
- User-centered design
- Involves users highly iterative
- Integrate knowledge from many fields
- One group in a project should keep control
- UI designer needs empathy, software experience,
technique and guideline knowledge - Hallway and Try-to-destroy-it methods
- Involving Users
- At the very least, talk to users
- Interviews
- Explain designs
5510. Key Points to Review
- Design rationales
- Systematically consider all alternatives
- And record results so others understand
- Can benefit engineers, trainers, marketers, users
- Issue analysis IBIS
- Explore issues and options
- Analyze arguments to pick best option
- Design space analysis
- Explore options and positive criteria
- Map options to criteria to pick best option
- Claims analysis
- Reason about whether they are legitimate
5610. Key Points to Review
- Story-boards or paper prototypes
- Brainstorm about tasks pictures of the interface
- Keep the design space open
- UI prototypes
- Essential because UI is a big problem source
- Quick, cheap, functional, generally throwaway
- Incremental, evolutionary, requirements animation
- Types of design Cannot be fully separated
- UI spec.
- Architectural UI layer/functional layer (API)
- Detailed design Physical details