Your SlideShare is downloading. ×
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Building Resilient User Experiences
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Building Resilient User Experiences

4,402

Published on

Video of this talk from the Velocity Conference 2012: http://www.youtube.com/watch?v=bM0yL0eQ9EM …

Video of this talk from the Velocity Conference 2012: http://www.youtube.com/watch?v=bM0yL0eQ9EM

Large-scale sites are complex systems, where every page is generated with data pulled from multiple back-end data stores and services. Yet, not every piece of data on the page is critical to the user experience. The front-end of your site (i.e. front-end applications, templates, and user interface) needs to be designed to tolerate service outages. We can achieve this by teaching our product design teams about working with an operational mindset, and having our product teams inform our engineering and operations teams about business priorities so that they can anticipate the right patterns to use for fault-tolerance.

Published in: Technology, Business
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,402
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
42
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Resilient User Experiences Mike Brittain DIRECTOR OF ENGINEERING, ETSY @mikebrittain
  • 2. Interfaces and user experiences that adapt to technical and architectural failure
  • 3. /** * 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())); }}
  • 4. 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 cant connect to the views db. throw $e;}
  • 5. Critical path
  • 6. Every back-end service is an opportunity for failure.
  • 7. 1 4 9 5 6 8 2 3 10 4 11 7 14 7 13 12
  • 8. Are you showing your visitors the door?
  • 9. < 400 ms
  • 10. Non-blocking Ajax
  • 11. Google Calendar Google Docs
  • 12. GMail
  • 13. “Oops, we aren’t able to access click metrics right now, do not worry — your data is safe.”
  • 14. Product design doesn’t stop at 100% availability.
  • 15. Dev Ops Product
  • 16. 1 4 9 5 6 8 2 3 10 4 11 7 14 7 13 12
  • 17. Operability reviews and post-mortems
  • 18. Operational MindsetDev Ops Product
  • 19. Operational MindsetDev Ops Product Business Priorities
  • 20. page views for error template
  • 21. This is hard
  • 22. ... but the benefits are great.
  • 23. Flickr: striatic http://www.flickr.com/photos/34427466731@N01/2192192956/ Flickr: roboppyPHOTO CREDITS http://www.flickr.com/photos/51035735481@N01/163374138/ Flickr: jamesjyu http://www.flickr.com/photos/32593095@N00/3465022/ Flickr: circulating http://www.flickr.com/photos/26835318@N00/2318226026/

×