Building trust through up front communication
There are two forms of communication: passive communication, which is making people aware of what's going on and active communication, which means responding to events in a clear, proactive way. We made use of passive communication in the first section. Our online/offline indicator is always present, letting us know when we're online or offline. However, when people click save or the lists (re)load, there's no feedback from the app. We can do better.
The easiest way to address this is to add a spinner and/or message when people add a new list, collaborator, or item. As each of these actions involves a round-trip to Cloudant, a reasonably expensive and (comparatively speaking) slow event, we should let people know that this is happening and when it finishes successfully (or fails).
This is actually trivial to do using our existing framework. Simply add the following code to the .on('active')
clause of the store.localDB.sync()
and call in the startSyncing...