Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Offline First Web Development

You're reading from   Offline First Web Development Design and build robust offline-first apps for exceptional user experience even when an internet connection is absent

Arrow left icon
Product type Paperback
Published in Nov 2015
Publisher Packt
ISBN-13 9781785884573
Length 316 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Daniel Sauble Daniel Sauble
Author Profile Icon Daniel Sauble
Daniel Sauble
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Preface 1. The Pain of Being Offline FREE CHAPTER 2. Building a To-do App 3. Designing Online Behavior 4. Getting Online 5. Be Honest about What's Happening 6. Be Eventually Consistent 7. Choosing Intelligent Defaults 8. Networking While Offline 9. Testing and Measuring the UX A. References Index

Exposing the system state to the user


The first step towards being transparent is to tell people about what's going on in the background. We know when synchronization starts, pauses, and ends. Let's put this data to good use by creating an indicator that shows the current status of synchronization. When errors occur, let's show them too.

Creating an online/offline indicator

Let's override these PouchDB events that we've ignored up until now. When we enabled live synchronization, we set up a bunch of empty handlers that listen for different synchronization events. The first thing that we should do is modify our views in order to show off this data regardless of where the user is in the app.

Adding a global toolbar

First, we need a toolbar that is always visible. This toolbar can't be tied to any individual view, so we'll attach it to the Main view instead. To do this, edit todo-app/app/view/Main.js and replace the contents of config with the following code:

layout: 'vbox',
items: [
  {
    xtype...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image