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

Adding online-only features


In the last section, we connected our app to the Internet. Now, let's start to implement the online-only features, which we outlined in the previous chapter. PouchDB gives us some of this for free; namely, synchronization between devices. However, this assumes that all of the devices are linked to a single, hard-coded user account. Let's inject some flexibility into this.

First, it should be possible to manage your user account and keep your lists separate from the lists belonging to other users. Next, it should be possible to share lists between users for collaboration purposes. As with synchronization, both of these use cases are online-only so we shouldn't expose them when we're offline.

User account management

In a typical app, you need to handle user account management in the app itself. Most of these tasks—creating an account, changing passwords, deleting the account, and others—are neither relevant nor interesting in the context of offline-first app development...