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

Comparing and contrasting with the design principles


Let's put our phone into airplane mode and do another quick evaluation against the principles with the same pass/fail scoring as before.

Give me uninterrupted access to the content I care about.

This is a pass. Besides maps, the entire app works as expected while offline. Thanks to PouchDB, even when we can't talk to the online database, our offline database works just fine.

Content is mutable. Don't let my online/offline status change that.

This is a pass. The content in our app is perfectly mutable, again thanks to PouchDB.

Error messages should not leave me guessing or unnecessarily worried.

This is a fail. Even though we're not supporting offline maps in our app, we should provide a better error message. Also, there are a bunch of errors that only appear in the developer console and not in the app itself, so sometimes it appears that nothing happened when in reality we just ran into an error. We'll improve error messaging in the next...