All non-trivial software inevitably grows in complexity over time. Regardless of best intentions, with continuous releases of new functionality, design debt threatens to cripple our applications: they become confusing and increasingly hard to understand and use. Alexandra will share lessons learnt and make suggestions on how to avoid overcomplicating our UIs as our applications grow.
Death by a thousand paper cuts — Alexandra Leisse - Codemotion Amsterdam 2017
1. Death by a thousand paper cuts
Alexandra Leisse
AMSTERDAM 16 - 17 MAY 2017
2. D E A T H B Y
A T H O U S A N D PA P E R C U T S
User Experience and Complexity
Alexandra Leisse
Ardoq – governance and compliance for the data-driven enterprise
twitter.com/troubalex
3.
4. T H E C H A L L E N G E W I T H C O M P L E X I T Y
– complex products overwhelm us
– we feel helpless and stupid when we don’t know how to use
something
– we feel out of control and exposed
– we become increasingly frustrated
6. — Don Norman
“Complex things will require complexity.
It is the job of the designer to manage that
complexity with skill and grace.”
7. T H E O T H E R C H A L L E N G E
– there are many moving pieces in any product organisation
– there is tension between different priorities, perspectives, and needs
– we meet a wide range of interests, skills and skill-levels
– we have to do lots of mediocre things
– this is all ridiculously difficult
8. H O W D O E S C O M P L E X I T Y I N C R E A S E ?
– quick fixes
– changes in design thinking or principles
– partly-done functionality
– features that outgrow their initial design
– functionality that is added after a customer request
– features that are developed bottom-up and/or in isolation
9. – Jon Bolt
“If we begin to discuss scope as complexity, instead
of flexibility, it changes the conversation as it
reinforces there’s a correlation between the two.
Indeed, they’re really the same thing. Complexity
is scope.”
11. P R O D U C T V I S I O N
– do you know which problem you are solving for whom?
– does everyone agree and confidently understand the problem?
– are you trying to solve everything for everybody?
– have you checked your assumptions?
12. P R O D U C T D E V E L O P M E N T
– map your hypotheses and known unknowns
– always start from the user need and the business need
– carefully define the problem before you think about solutions
13. –Paul Adams
“We do it because a solution can only be
as good as your understanding of the
problem you’re addressing. This is non-
controversial.”
14. P R I O R I T I S A T I O N
– make tough decisions: not everything is equally important
– remove, remove, remove
– move everything else out of the way
– don't get hung up on all the rare cases
15. P R O G R E S S I V E D I S C L O S U R E
Progressive disclosure is an interaction design technique
often used in human computer interaction
to help maintain the focus of a user's attention
by reducing clutter, confusion, and cognitive workload.
This improves usability by presenting only the minimum
data required for the task at hand.
16. C O N S I S T E N C Y & C O N T E X T
– make sure everything that looks the same behaves in the same way,
and vice versa
– consider the whole flow or user journey
17. – Jason Fried
“What’s the most ignored paradox in
software development?
Every time you add something you take
something away.”
27. S O U R C E S
– http://www.jnd.org/dn.mss/why_is_37signals_so_1.html
– https://signalvnoise.com/posts/2917-flashback-every-time-you-add-something-you-
take-something-away
– http://boxesandarrows.com/complexity-and-user-experience/
– https://blog.intercom.com/great-product-managers-dont-spend-time-on-solutions/