Design and implement a robust offline app experience using Sencha Touch and PouchDB
About This Book
Understand the design principles behind a well-designed offline experience
Create the illusion of being online when you're really offline
Use common libraries such as Sencha Touch and PouchDB to enhance the offline experience of mobile apps
Who This Book Is For
Do you want to make your app experience more robust and delightful? Are you eager to write apps that cater to a wider audience, not just the Silicon Valley crowd? Do you need to persuade your peers that offline-first is a worthwhile development paradigm? If your answer to all or any one of these questions is yes, then this is the book is for you. Some previous coding and command-line experience would be useful, but is not required.
What You Will Learn
Design the behavior of the app, taking offline, online, and the transition between those two states into account
Seamlessly implement the offline/online experience that you've designed using Sencha Touch and PouchDB
Show the user what's happening under the hood with online/offline indicators and Good Mobile Messaging
Employ various strategies to cope with unreliable network conditions
Help the user resolve conflicts related to the “split-brain” problem
Choose intelligent defaults based on usage of the app
Use point-to-point networking to partially overcome a lack of Internet connectivity
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.
Style and approach
This book adopts an iterative approach to designing and building a mobile app, where each chapter builds on the one before, resulting in a fully-functional app that demonstrates the concepts taught, each one of which is explained through the use of an example.