Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Offline Data & the Hostage Scenario

Offline Data & the Hostage Scenario

Many iOS apps are used in scenarios when offline usage is expected. Data may be collected on a device, retrieved from a server, manipulated while offline, and submitted to a server at a later date. We'll talk briefly about strategies for managing and syncing offline data. But what happens when bad data inadvertently is trapped on a device? What techniques can you use as workarounds in this scenario? How do you fix bad data with an app update? We'll learn the answers to these important questions through the lens of a buggy implementation resulting in critical data held hostage with users locked out.

Peter Kananen

March 08, 2014
Tweet

More Decks by Peter Kananen

Other Decks in Programming

Transcript

  1. Login Known? No Resume Session No Yes Server Auth Local

    Auth 24 hrs? Data Load Yes Session? End Session Yes Tue, Mar 11, 14
  2. Login Online? No Resume Session Yes No Server Auth Local

    Auth 24 hrs? Data Load Yes Session? End Session Yes Tue, Mar 11, 14
  3. Account User Account Region Region Region Region Site Site Site

    Site Site Site Report Report Report Report Report Report Tue, Mar 11, 14
  4. why? new or update? performance missing parent two way merges

    orphaned data shared data race conditions UI updates Tue, Mar 11, 14
  5. Account User Account Region Region Region Region Site Site Site

    Site Site Site Report Report Report Report Report Report Protect User Data Tue, Mar 11, 14
  6. iOS 1.0 iOS 1.1 Server 1.1 Server 1.0 expired auth

    old data expired auth? new data Tue, Mar 11, 14