Building Resilient User Experiences
-
Upload
mike-brittain -
Category
Technology
-
view
4.385 -
download
1
description
Transcript of Building Resilient User Experiences
![Page 1: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/1.jpg)
Resilient User Experiences
Mike Brittain!"#$%&'# '( $)*")$$#")*, $&+,
@mikebrittain
![Page 2: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/2.jpg)
Interfaces and user experiencesthat adapt to technical and
architectural failure
![Page 3: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/3.jpg)
![Page 4: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/4.jpg)
![Page 5: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/5.jpg)
![Page 6: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/6.jpg)
![Page 7: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/7.jpg)
![Page 8: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/8.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 9: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/9.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 10: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/10.jpg)
![Page 11: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/11.jpg)
![Page 12: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/12.jpg)
![Page 13: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/13.jpg)
Critical path
![Page 14: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/14.jpg)
Every back-end service is anopportunity for failure.
![Page 15: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/15.jpg)
![Page 16: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/16.jpg)
![Page 17: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/17.jpg)
![Page 18: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/18.jpg)
1
2 3
4
5 6
10
8
9
4
11
13
12
7
14
7
![Page 19: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/19.jpg)
![Page 20: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/20.jpg)
![Page 21: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/21.jpg)
![Page 22: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/22.jpg)
![Page 23: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/23.jpg)
Are you showing your visitors the door?
![Page 24: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/24.jpg)
! "## ms
![Page 25: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/25.jpg)
Non-blocking Ajax
![Page 26: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/26.jpg)
Google Docs
Google Calendar
![Page 27: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/27.jpg)
GMail
![Page 28: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/28.jpg)
“Oops, we aren’t able to access click metrics right now, do not worry —
your data is safe.”
![Page 29: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/29.jpg)
Product design doesn’t stopat !""# availability.
![Page 30: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/30.jpg)
Product
OpsDev
![Page 31: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/31.jpg)
1
2 3
4
5 6
10
8
9
4
11
13
12
7
14
7
![Page 32: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/32.jpg)
Operability reviews andpost-mortems
![Page 33: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/33.jpg)
Operational Mindset
OpsDev Product
![Page 34: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/34.jpg)
Business Priorities
Operational Mindset
OpsDev Product
![Page 35: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/35.jpg)
!"#$ %&$'( )*+ $++*+ ,$-!.",$
![Page 36: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/36.jpg)
This is hard
![Page 37: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/37.jpg)
... but the benefits are great.
![Page 38: Building Resilient User Experiences](https://reader033.fdocuments.in/reader033/viewer/2022060106/55492a63b4c9054c498bedaa/html5/thumbnails/38.jpg)
Flickr: striatichttp://www.flickr.com/photos/34427466731@N01/2192192956/
Flickr: roboppyhttp://www.flickr.com/photos/51035735481@N01/163374138/
Flickr: jamesjyuhttp://www.flickr.com/photos/32593095@N00/3465022/
Flickr: circulatinghttp://www.flickr.com/photos/26835318@N00/2318226026/
PHOTO CREDITS