Resilient User Experiences
-
Upload
mike-brittain -
Category
Technology
-
view
729 -
download
1
description
Transcript of Resilient User Experiences
![Page 1: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/1.jpg)
Resilient User ExperiencesMike Brittain ENGINEERING DIRECTOR, ETSY@mikebrittain
![Page 2: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/2.jpg)
Interfaces and user experiencesthat adapt to technical andarchitectural failure.
![Page 3: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/3.jpg)
Consider the followingtwo situations...
![Page 4: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/4.jpg)
![Page 5: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/5.jpg)
![Page 6: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/6.jpg)
http://www.flickr.com/photos/caffeina/2144044776/
![Page 7: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/7.jpg)
http://www.flickr.com/photos/17793901@N00/106331831/
![Page 8: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/8.jpg)
![Page 9: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/9.jpg)
/** * Creates a database connection. */ public function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db);
if (mysqli_connect_error()) {
throw new DBConnection_Exception( sprintf("Error: %s, %s", mysqli_connect_errno(), mysqli_connect_error()));
}}
![Page 10: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/10.jpg)
try { $conn = new DBConnection('viewsdb.host', 'db_read_user', 'ssssshh!', 'views_db');} catch (DBConnection_Exception $e) {
// TODO: Someone should figure out what to do if // we can't connect to the views db. throw $e;
}
![Page 11: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/11.jpg)
![Page 12: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/12.jpg)
![Page 13: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/13.jpg)
NavigationLogo
Cute Picture
“Something’s wrong,try again...”
![Page 14: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/14.jpg)
![Page 15: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/15.jpg)
Critical path
![Page 16: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/16.jpg)
Every back-end service is anopportunity for failure.
![Page 17: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/17.jpg)
![Page 18: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/18.jpg)
![Page 19: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/19.jpg)
![Page 20: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/20.jpg)
![Page 21: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/21.jpg)
1
2 3
45 6
108
9
4
11
13
12
147
![Page 22: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/22.jpg)
![Page 23: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/23.jpg)
![Page 24: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/24.jpg)
![Page 25: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/25.jpg)
![Page 26: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/26.jpg)
Are you showing your visitors to the door?
![Page 27: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/27.jpg)
Adverts SLA: !"" ms
![Page 28: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/28.jpg)
Non-blocking Ajax
![Page 29: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/29.jpg)
Google Docs
Google Calendar
![Page 30: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/30.jpg)
GMail
![Page 31: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/31.jpg)
“Oops, we aren’t able to access click metrics right now, do not worry — your data is safe.”
![Page 32: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/32.jpg)
![Page 33: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/33.jpg)
![Page 34: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/34.jpg)
Product design doesn’t stopat !""# availability.
![Page 35: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/35.jpg)
OpsDev
![Page 36: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/36.jpg)
Product
OpsDev
![Page 37: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/37.jpg)
1
2 3
45 6
108
9
4
11
13
12
147
![Page 38: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/38.jpg)
Operability reviews andpost-mortems
![Page 39: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/39.jpg)
Operational Mindset
OpsDev Product
![Page 40: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/40.jpg)
Business Priorities
Operational Mindset
OpsDev Product
![Page 41: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/41.jpg)
!"#$ %&$'( )*+ $++*+ ,$-!.",$
![Page 42: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/42.jpg)
This is hard
![Page 43: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/43.jpg)
... but the benefits are great.
![Page 44: Resilient User Experiences](https://reader034.fdocuments.us/reader034/viewer/2022052618/554bb175b4c905ae618b591f/html5/thumbnails/44.jpg)
Merci!These slides will be available atmikebrittain.com/talks
Say “Hello!”[email protected]
@ mikebrittain
Resilient User Experiences