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

Making the setup less painful


Technically, we've enabled offline synchronization between devices, but our approach is littered with caveats:

  • Offline syncing only works over Wi-Fi

  • Requires a laptop to perform synchronization

  • Involves a manual setup of a separate CouchDB database, a peer-to-peer Wi-Fi connection, and static IP addresses

  • Cannot sync two mobile devices together (unless syncing through a laptop)

  • Have to edit the source code to switch to offline mode

A lot of these reasons are due to technical constraints. Let's go through each point and understand what the ideal solution would be, whether possible today or not. There's a huge opportunity for mobile device manufacturers to improve the current state of offline synchronization in a platform-independent way.

Multiprotocol sync

What if any of the wireless protocols on your phone could be used to sync with other phones? Apps could choose the right one based on the security, energy, and performance requirements of the application, and synchronization...