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 In Detail 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 betterbut 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.