optimistic offline experiences

Simon Knox
@psimyn
            
fetch('something')
.then(handleSuccess)
.catch(handleFail)
            
          
            
fetch('something')
.then(handleSuccess)
.catch(handleFail)
            
          
            
function handleFail() {
  showError('uh oh')
}
            
          
            
function handleFail() {
  // TODO: handle error
}
            
          
offline is not an error
it is real life
we should handle it

Step 0: Default

You're offline

Step 1: Content

Save content

save things we've seen
adactio.com/journal/
adactio.com/journal/

Save all content

Offer something

Be considerate

of data

Step 2: FORMS

Good: Prevent

Better: retry

Best: Background sync

async interfaces

offline push notifications

offline is not an error
let's do it better

better offline experiences