SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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

Más contenido relacionado

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

Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and cultureChris Winters
 
I Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetI Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetDan Kaminsky
 
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...Loadzen
 
Perspectives on salesforce architecture Forcelandia talk 2017
Perspectives on salesforce architecture   Forcelandia talk 2017Perspectives on salesforce architecture   Forcelandia talk 2017
Perspectives on salesforce architecture Forcelandia talk 2017Steven Herod
 
How To Run a 5 Whys (With Humans, Not Robots)
How To Run a 5 Whys (With Humans, Not Robots)How To Run a 5 Whys (With Humans, Not Robots)
How To Run a 5 Whys (With Humans, Not Robots)Dan Milstein
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)MiniBar
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys Harun Yardımcı
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)David Benjamin
 
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...DevOpsDays Houston
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product ManagementRoger Hart
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Alberto Brandolini
 
Yet Another Dan Kaminsky Talk (Black Ops 2014)
Yet Another Dan Kaminsky Talk (Black Ops 2014)Yet Another Dan Kaminsky Talk (Black Ops 2014)
Yet Another Dan Kaminsky Talk (Black Ops 2014)Dan Kaminsky
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent CerveauTheFamily
 
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013Dan Milstein
 
Rapid Prototyping 2015: Its a Mad Mad World
Rapid Prototyping 2015: Its a Mad Mad WorldRapid Prototyping 2015: Its a Mad Mad World
Rapid Prototyping 2015: Its a Mad Mad WorldMarti Gold
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
 

Similar a All That Glitters Is Not Gold: Usability Design for "When Things Go Wrong" (20)

Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and culture
 
What is devops
What is devopsWhat is devops
What is devops
 
I Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetI Want These * Bugs Off My * Internet
I Want These * Bugs Off My * Internet
 
Stop SharePoint Project Failure
Stop SharePoint Project FailureStop SharePoint Project Failure
Stop SharePoint Project Failure
 
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
 
Stop SharePoint Project Failure
Stop SharePoint Project FailureStop SharePoint Project Failure
Stop SharePoint Project Failure
 
Perspectives on salesforce architecture Forcelandia talk 2017
Perspectives on salesforce architecture   Forcelandia talk 2017Perspectives on salesforce architecture   Forcelandia talk 2017
Perspectives on salesforce architecture Forcelandia talk 2017
 
How To Run a 5 Whys (With Humans, Not Robots)
How To Run a 5 Whys (With Humans, Not Robots)How To Run a 5 Whys (With Humans, Not Robots)
How To Run a 5 Whys (With Humans, Not Robots)
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product Management
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
Yet Another Dan Kaminsky Talk (Black Ops 2014)
Yet Another Dan Kaminsky Talk (Black Ops 2014)Yet Another Dan Kaminsky Talk (Black Ops 2014)
Yet Another Dan Kaminsky Talk (Black Ops 2014)
 
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get LeanerAgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
 
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
 
Rapid Prototyping 2015: Its a Mad Mad World
Rapid Prototyping 2015: Its a Mad Mad WorldRapid Prototyping 2015: Its a Mad Mad World
Rapid Prototyping 2015: Its a Mad Mad World
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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

  • 1. All That Glitters Is Not Gold
  • 2. a.k.a. Usability Design for "When Things Go Wrong"
  • 3. Preface • I love Graphic Designers • This talk started out of frustration • Thank you
  • 4. Image from James Petts - 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 User Experience: • 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 World is 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. Who You Gonna Call?
  • 11. No Really… Who You Gonna Call?
  • 12. 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
  • 14. Start Getting Out Of 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
  • 16.
  • 17. Provide Some Levity • Be Helpful when the user messed up • Github 404 pages • erlang.org’s not found page
  • 18.
  • 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 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
  • 22. Can one failure take out your entire system?
  • 23. 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”?
  • 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
  • 27. 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
  • 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 Mode Support • Evernote • Your calendar • Home thermostat
  • 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
  • 36. –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
  • 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?
  • 39. –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.””
  • 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.”
  • 42. 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).
  • 43. 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