Book Image

Offline First Web Development

By : Daniel Sauble
Book Image

Offline First Web Development

By: Daniel Sauble

Overview of this book

When building mobile apps, it’s easy to forget about the moments when your users lack a good Internet connection. Put your phone in airplane mode, open a few popular apps, and you’ll quickly see how they handle being offline. From Twitter to Pinterest to Apple Maps, some apps might handle being offline better—but very few do it well. A poor offline experience will result in frustrated users who will abandon your app, or worse, turn to your competitor’s apps Expert or novice, this book will teach you everything you need to know about designing and building a rigorous offline app experience. By putting the offline experience first, you’ll have a solid foundation to build upon, avoiding the unnecessary stress and frustration of trying to retrofit offline capabilities into your finished app. This basic principle, designing for the worst-case scenario, could save you countless hours of wasted effort.
Table of Contents (17 chapters)
Offline First Web Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Letting users provide direction


Sometimes, we can't handle these scenarios automatically. We need to capture people's attention and ask them for input. This should be done sparingly and only after we've made a reasonable attempt to handle flaky network conditions ourselves.

Letting the users know when encountering turbulence

For the purposes of this book, we'll define turbulence as any situation where people are actively writing new information to the app and we haven't been able to successfully persist this for the past 30 seconds.

In this scenario, we should bump our notification from passive to active and let people know that we've tried and failed to save their changes. Still, we should keep these notifications unobtrusive and not interrupt anything that they're currently doing.

The simplest way to do this is to display updates at regular intervals in order to keep the user apprised of the current state of any synchronization operation. We'll provide updates at 10 seconds, 30 seconds, 1...