Developers rarely take into consideration the offline experience when they design an application.
Smartphones enable users to access the internet from anywhere or at any time so long as they are connected to a server, making an offline version of an application may seem unnecessary. But mobile networks are sometimes unreliable because coverage varies depending on the location.
In this case, we should be able to handle network failures and latencies. It is at this point that offline architecture can really make a difference and save your application!