All That Glitters Is Not
Gold
a.k.a. Usability Design for
"When Things Go Wrong"
Preface
• I love Graphic Designers
• This talk started out of frustration
• Thank you
Image from James Petts - https://www.flickr.com/photos/14730981@N08/11930527256
Iron Pyrite
• a.k.a. Fool’s Gold
• Looks pretty
• Initial Perceived Value
• Not much you can do with it in the real world
A Good User Experience:
• Delivers value to the user
• Reduces effort to get the job done
• Is invisible
• Just works
• But what if it doesn’t?
The Real World is Messy
• Things break
• Failures Happen
• Let’s Accept It. Not Fight It
Mistaeks We’re Made
• Designing for the happy path
• Static Assets
• PowerPoint/Keynote
• Animations (if lucky)
• “Nobody thought about that”
• “That would never happen”
Kind of Failures
• Net-Split
• Bandwidth
• Latency
• Site is “Unresponsive”
• Dependent Service Down?
• Others*
* http://rgoarchitects.com/Files/fallacies.pdf
Who You Gonna Call?
No Really…
Who You Gonna Call?
Your User Doesn’t Care
• It is on you, not a service provider
• How can you still deliver value when things go
wrong?
• This is where the user’s experience really begins
“Okay. Failures
Happen…”
Start Getting Out Of
The Hole
Or, we can’t fix the problem, so
how do we make it less intrusive
Provide Some Levity
• Be Helpful when the user messed up
• Github 404 pages
Provide Some Levity
• Be Helpful when the user messed up
• Github 404 pages
• erlang.org’s not found page
Provide Some Levity
• Acknowledge you messed up (and apologize)
• Twitter Fail Whale
• Reddit down time messages*
* https://github.com/reddit/error-pages/blob/876f3e689206551722fbe77374e7739f54b52847/504.reallydown.html#L152
Make It A Game???
• Track how many times they have failed
• Give them “rewards” for failures
• Real, or emotional
• DOOM faces?
• Give them something to be grateful about
• People can’t be grateful and upset at the same time
The “Harder” Wins
Can one failure take
out your entire system?
Can one failure take out your
entire system?
• How can we isolate that part of the system?
• Can we safely restart it from scratch?
• Is it critical to the entire system?
• No, really, is it critical to the entire system?
• Can we work without it until it gets better?
• Do we have different, and unrelated, way of getting that
information?
• Can we provide “The Next Best Thing”?
Partial / Reduced
Functionality
• Netflix
• Streaming
• vs Personal Recommendations
• vs Top Rated
• vs Queue/Watchlist Management
Partial / Reduced
Functionality
• Amazon
• Orders
• vs “Customers Also Bought”
• vs Inventory
• vs Ratings
• vs Reviews
Predictive
User Experience?
Automated Assistance?
• Analyze Event Streams and Analytics
• Common user behavior
• Uncommon behavior for a specific user
• Can we helpfully take control on behalf of the user
• Assisted driving
• Don’t let the user mess up
What if “Everything”
is unavailable??
Network is “down”
• Airplane mode
• International Travel
• Local ISP is having issues
• Bandwidth throttling
• Local network is down
Network is “down”
• Natural disasters
• Backhoes
• Backhoes 💖 datacenters
• Cleaning Crews
• That one server under the desk
Full Offline Mode Support
• Evernote
• Your calendar
• Home thermostat
More Than Just
Web(site|app)s
Internet of Things
• Televisions / Home Electronics
• Lightbulbs / Door locks / Toilets
• RFID Inventory
• Oil Pipeline Sensors
Multiple Sensor Devices
• What happens when one fails?
• Scary Time…
• Planes
• Cars
• Medical Devices
Distributed Systems
–Leslie Lamport
“There has been considerable debate over the
years about what constitutes a distributed
system. It would appear that the following
definition has been adopted at SRC:
A distributed system is one in which the failure
of a computer you didn't even know existed can
render your own computer unusable.”
http://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.txt
Self Healing / Regenerative
• How can I know that something is wrong?
• What is supervising/monitoring this?
• Can I safely “turn it off and on again”?
• Can this all be invisible to the user?
Usability Design
↓
Systems Thinking
–Peter Senge, The Fifth Discipline
“Systems thinking is a discipline for seeing
wholes. It is a framework for seeing
interrelationships rather than things, for seeing
patterns of change rather than static
“snapshots.””
–Nassim Nicholas Taleb, Antifragile: Things That Gain From Disorder
“Some things benefit from shocks; they thrive
and grow when exposed to volatility,
randomness, disorder, and stressors and love
adventure, risk, and uncertainty.”
Usability Design
Involves Everyone
Call to Action
Start thinking about these things.
Ask how things can break.
You might not be doing anything “critical” at this point
of your career.
But you never know what the future holds for you
(or one of your coworkers).
Where to find me
• @stevenproctor
• https://www.proctor-it.com
• https://www.functionalgeekery.com
• https://www.github.com/stevenproctor
• https://www.linkedin.com/in/steven-proctor

All That Glitters Is Not Gold: Usability Design for "When Things Go Wrong"

  • 1.
    All That GlittersIs Not Gold
  • 2.
    a.k.a. Usability Designfor "When Things Go Wrong"
  • 3.
    Preface • I loveGraphic Designers • This talk started out of frustration • Thank you
  • 4.
    Image from JamesPetts - https://www.flickr.com/photos/14730981@N08/11930527256
  • 5.
    Iron Pyrite • a.k.a.Fool’s Gold • Looks pretty • Initial Perceived Value • Not much you can do with it in the real world
  • 6.
    A Good UserExperience: • Delivers value to the user • Reduces effort to get the job done • Is invisible • Just works • But what if it doesn’t?
  • 7.
    The Real Worldis Messy • Things break • Failures Happen • Let’s Accept It. Not Fight It
  • 8.
    Mistaeks We’re Made •Designing for the happy path • Static Assets • PowerPoint/Keynote • Animations (if lucky) • “Nobody thought about that” • “That would never happen”
  • 9.
    Kind of Failures •Net-Split • Bandwidth • Latency • Site is “Unresponsive” • Dependent Service Down? • Others* * http://rgoarchitects.com/Files/fallacies.pdf
  • 10.
  • 11.
  • 12.
    Your User Doesn’tCare • It is on you, not a service provider • How can you still deliver value when things go wrong? • This is where the user’s experience really begins
  • 13.
  • 14.
    Start Getting OutOf The Hole Or, we can’t fix the problem, so how do we make it less intrusive
  • 15.
    Provide Some Levity •Be Helpful when the user messed up • Github 404 pages
  • 17.
    Provide Some Levity •Be Helpful when the user messed up • Github 404 pages • erlang.org’s not found page
  • 19.
    Provide Some Levity •Acknowledge you messed up (and apologize) • Twitter Fail Whale • Reddit down time messages* * https://github.com/reddit/error-pages/blob/876f3e689206551722fbe77374e7739f54b52847/504.reallydown.html#L152
  • 20.
    Make It AGame??? • Track how many times they have failed • Give them “rewards” for failures • Real, or emotional • DOOM faces? • Give them something to be grateful about • People can’t be grateful and upset at the same time
  • 21.
  • 22.
    Can one failuretake out your entire system?
  • 23.
    Can one failuretake out your entire system? • How can we isolate that part of the system? • Can we safely restart it from scratch? • Is it critical to the entire system? • No, really, is it critical to the entire system? • Can we work without it until it gets better? • Do we have different, and unrelated, way of getting that information? • Can we provide “The Next Best Thing”?
  • 24.
    Partial / Reduced Functionality •Netflix • Streaming • vs Personal Recommendations • vs Top Rated • vs Queue/Watchlist Management
  • 25.
    Partial / Reduced Functionality •Amazon • Orders • vs “Customers Also Bought” • vs Inventory • vs Ratings • vs Reviews
  • 26.
  • 27.
    Automated Assistance? • AnalyzeEvent Streams and Analytics • Common user behavior • Uncommon behavior for a specific user • Can we helpfully take control on behalf of the user • Assisted driving • Don’t let the user mess up
  • 28.
  • 29.
    Network is “down” •Airplane mode • International Travel • Local ISP is having issues • Bandwidth throttling • Local network is down
  • 30.
    Network is “down” •Natural disasters • Backhoes • Backhoes 💖 datacenters • Cleaning Crews • That one server under the desk
  • 31.
    Full Offline ModeSupport • Evernote • Your calendar • Home thermostat
  • 32.
  • 33.
    Internet of Things •Televisions / Home Electronics • Lightbulbs / Door locks / Toilets • RFID Inventory • Oil Pipeline Sensors
  • 34.
    Multiple Sensor Devices •What happens when one fails? • Scary Time… • Planes • Cars • Medical Devices
  • 35.
  • 36.
    –Leslie Lamport “There hasbeen considerable debate over the years about what constitutes a distributed system. It would appear that the following definition has been adopted at SRC: A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” http://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.txt
  • 37.
    Self Healing /Regenerative • How can I know that something is wrong? • What is supervising/monitoring this? • Can I safely “turn it off and on again”? • Can this all be invisible to the user?
  • 38.
  • 39.
    –Peter Senge, TheFifth Discipline “Systems thinking is a discipline for seeing wholes. It is a framework for seeing interrelationships rather than things, for seeing patterns of change rather than static “snapshots.””
  • 40.
    –Nassim Nicholas Taleb,Antifragile: Things That Gain From Disorder “Some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty.”
  • 41.
  • 42.
    Call to Action Startthinking about these things. Ask how things can break. You might not be doing anything “critical” at this point of your career. But you never know what the future holds for you (or one of your coworkers).
  • 43.
    Where to findme • @stevenproctor • https://www.proctor-it.com • https://www.functionalgeekery.com • https://www.github.com/stevenproctor • https://www.linkedin.com/in/steven-proctor