Internet access is not ubiquitous. Everyone experiences the frustration of being offline. When you design a mobile app which doesn’t work without internet, you’ve made a decision about when and where your app may be used.

But consider:

  • You’re on a flight, and you don’t want to pay for Wi-Fi.
  • You’re on a camping trip in a remote location.
  • You want to unplug for awhile and get work done.
  • You can’t afford a data plan for your phone.

Principles of good offline design

  • aggressive caching is a better user experience
  • let people interact with their content - always
  • make error messages informative and consistent
  • do not let people start something they can not finish
  • do not show contradictory information
  • when caching, choose breadth over depth
  • design your empty states well
  • never show the raw error message
  • remember what your users were doing last
  • never purge the cache while offline