Jeremy Keith at Render 2017
Two important questions when building software:
- How well does it work?
- How well does it fail?
Great example with CSS shapes. In browsers that don’t support it, if you use it, you just get a regular fallback.
Service workers are another good example. When somebody loads your webpage for the first time, they download images, html, css, etc, and a service worker. Then on any subsequent request, the service worker does it’s work. Note that every browser, the first time your page is loaded, doesn’t support service workers because they haven’t been downloaded yet. So you start out building under the assumption that your site doesn’t have a service worker, then you enhance from there.
It’s a really good way to build your UI’s, by building them around failure cases.