Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
User Interface design notes
1. Boabab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Design
Harry Hochheiser
University of Pittsburgh
Department of Biomedical Informatics
harryh@pitt.edu
+1 412 648 9300
Attribution-ShareAlike
CC BY-SA
2. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Goals
Designing Work, not designing interfaces
Start big - think about where we’d like to get
Then, scale back to what we can do.
3. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
What are our design goals?
Definition of goals informs design
Can’t tell if you’ve succeeded without goals…
Lean Value Diamond… (modified from Grunden and Hagood, 2012)
Costs
Quality
Time/Efficiency
Satisfaction
Materials,
Capital,
Revenue
Patient, Staff, MOH
Capacity,
Wait times,
Turnaround time
Safety
Waste Removal,
Best Practices
IMPROVE Safety,
Quality, Satisfaction
DECREASE Costs
4. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Multiple Goals
• Often dealing with multiple goals
• May have to make tradeoffs…
• Explore alternative designs?
5. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Framing questions
• Gerry’s example about managing the fatalities from
vehicle accidents
• PASSIVE: measuring data
• ACTIVE
• installing airbags
• re-routing traffic flow
VISIONARY: ask “What is the goal?”
To safely move people and goods?
Solution - more public transit and fewer cars!
6. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
After Interpretation
Data Collection
Analysis and
Interpretation
Design Activities
Before designing..
How do you know
you've got it all,
and got it right?
Review with
Stakeholders
7. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
How to Inform Design?
●
Goal – go from all of this data to design
●
Design of what?
●
Software artifacts
●
Underlying work processes
●
Easier said than done
●
Secondary intents
●
Systems for tracking medical device repair might be used to track
productivity of individual technicians
●
Cultural issues: control, resistance to change, diverse stakeholders...
●
Issues of trust and authority – customers vs. stakeholders?
8. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Activity Design Scenarios
Problem
Scenarios
Activity Design
Scenarios
Original description
of motivating challenges
Original description
of motivating challenges
Description of how
proposed design will
meet those challenges
9. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Storyboards
●
Cartoonish depictions of interaction designs/visions
●
Design to communicate ideas
●
Particularly for stakeholders
●
Tell the story graphically – graphical scenarios..
10. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Storyboards
●
Amal Dar Aziz – Guide to storyboarding http://hci.stanford.edu/courses/cs147/
assignments/storyboard_notes.pdf
11. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Storyboards/Scenarios are not
prototypes
●
Continuing goal: communicate vision
●
Avoid miscues
●
Convey broad ideas of design
●
Focus on big ideas
●
Prevent/discourage rapid descent into micro-critiques
●
“That button should really be in the lower-right corner...”
●
Prototypes will come along soon enough
12. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
User Environment Design
●
Storyboards and scenarios are not necessarily complete
●
Tie them together in some coherent whole?
●
System-level view
●
System-level diagrams to try to layout relationship
between activities how well does it hang together.
●
Analogy -architectural floor plan?
13. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Floor plans as inspiration...
●
Show overview of how things fit together – not too much detail
S. Wood 2003 Using a Floor Plan as a Metaphor for Design: Is your product a dream house, or a construction
nightmare? http://incontextdesign.com/articles/using-a-floor-plan-as-a-metaphor-for-design-is-your-
product-a-dream-house-or-a-construction-nightmare/
14. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
User Environment Design
●
Focus areas with functions, link, objects.
●
Defines overall structure of how things will get done
●
Built up from storyboards
●
Can guide development – one “room” or focus area at a
time...
●
Not UML Design!
●
Beyer & Holtzblatt do not discuss with stakeholders.
●
Why not?
15. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Prototypes
●
User Environment Design - informs interface design
●
Two challenges
●
How to do the design
●
How to use prototypes to engage users and validate
design
16. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Prototypes
●
Pre-release functionality for evaluation
●
feedback prior to large investment in development
Wizard-of-Oz
Storyboard
Video Prototype
Rapid Prototype
Working System
Low Cost, Low Fidelity
High Cost, High Fidelity
Paper prototype
Computer Animation
Rosson & Carroll, 2002
17. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Paper Prototypes
(thanks again to Anind)
18. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Prototypes evolve
H. Beyer & K. Holtzblatt, Contextual
Design. ACM Interactions, 1999
• Explore with users
• Modify on the fly
• Insights inform
• Redesign
• Revision of earlier findings
• New visions
• Iterate
• Other forms
• More detailed mockup
• “Wizard-of-Oz”
• Don't get too pretty too quickly
•Discourages feedback
19. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Prototypes as means, not ends
●
Final design may not look like prototype at all, and that's fine.
Paper Mockup of Stembook
Das, et al. 2008 Linked Data in a
Scientific Collaboration
Framework
www.stembook.org
20. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Prototyping Tools
Use Cogtool?
Presentation Software - Open Office?
Pencil http://pencil.evolus.vn/
many others..
21. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Advice on prototypes
Don’t make them pretty
Try several
head-to-head
explore ideas
like IDEO shopping carts…
22. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
The Prototype Paradox
●
Prototypes are supposed to be throw-away, but...
●
..they tend to take on a life of their own
●
Especially when presented as (possibly minimally) working
software
●
Another argument for staying with paper as long as
possible
23. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Interface Design
● Often considered an art, not a science
● Choose an interaction style
● “First, do no harm”
● Build on familiar models
● Metaphors
● Don't mess with convention
● Less is more
● Complexity is the enemy
● Get the basics right, then refine or innovate
● Don't use 3D (unless you need to)
24. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Eight Golden Rules of Interface Design
1. Strive for consistency
2. Cater to universal usability
3. Offer informative feedback
4. Design dialogs to yield closure
5. Prevent errors
6. Permit easy reversal of actions
7. Support internal locus of control
8. Reduce short-term memory load
25. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Consistency
• Language
• Yes, No, Cancel, Abort..
• Layout
• Colors
• Widgets
26. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Universal usability
Users of varying abilities, education, background
Different computing environments…
this is a strength of Baobab’s
27. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Informative Feedback
Make it clear when steps are done
Indicate where you are in the process
ANC Prescription page?
28. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Design Dialogs to Yield Closure
Process bars,
completeness indicators
Indications when a task is complete
29. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Prevent Errors
Better to prevent than to recover
Again, a strength at Baobab
30. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Permit easy reversal of actions
• “Back” or “Undo” button
• Note feedback guideline - very important here
31. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Support internal locus of control
• System doesn’t take over
• “The computer will reboot in…”
32. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Reduce short-term memory load
• Don’t force users to remember what they’ve done
• Related to other rules:
• Offer informative feedback
• Design dialogs to yield closure
• Prevent errors
• ANC: synopsis of user status at top of screen?
• dialog that blocks screen content?
33. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Contextual Design and Agile
Development
●
The Agile Manifesto (www.agilemanifesto.org)
●
Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
●
Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
●
Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
●
Business people and developers must work together daily throughout the project.
●
Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
34. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu BIONF 2014 January 2014Harry Hochheiser, harryh@pitt.edu
Contextual Design and Agile
Development
●
The Agile Manifesto (www.agilemanifesto.org)
●
The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
●
Working software is the primary measure of progress.
●
Agile processes promote sustainable development.
●
The sponsors, developers, and users should be able to maintain a constant pace
indefinitely.
●
Continuous attention to technical excellence and good design enhances agility.
●
Simplicity--the art of maximizing the amount of work not done--is essential.
●
The best architectures, requirements, and designs emerge from self-organizing teams.
●
At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
35. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Design Challenges
• Mini design sprints
• 3 problems, 30 minutes each
• 2-3 groups each problem
• Design a solution
• Storyboards
• Paper prototypes
• Flowchart
• …etc.
36. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Design Challenge 1
• Client sign in and hand-off to counselor
37. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Design challenge 2
• Counselor referral of client for treatment
• subsequent follow-up?
38. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Design challenge 3
• Registration desk and counselors managing load and
referring clients who can’t be seen on a given day.
39. Baobab Health, March 2014Harry Hochheiser, harryh@pitt.edu
Presenting and critiquing ideas?
• What problem were you trying to solve?
• Strong points?
• Weak points?
• Based on
• models from interviews, including questions and observations
• Design guidelines
• Cognitive issues
• Holes in designs? Holes in our understanding?