You know the situation: Waiting in the plane at a multiple hour long flight. Flight mode, no internet connection and you wish that you could do something productive like reading the latest news.

Before boarding a plane, I always open NYTimes, Facebook or Twitter to download content. These apps have thought intensively about offline usability. I engage with these apps for hours as there are very few apps that work well offline. These apps have been exploiting a niche — creating engagement even when the user is offline.

Entering a plane is not the only situation where users are not online. There is nothing more frustrating for mobile users than losing the internet connection and therefore the functionality of an app.

You can’t count on constant mobile connectivity, but you can deliver a satisfying offline user experience on your app.

Most apps today are built on one fundamental assumption: users are connected to a stable internet connection all the time. But this isn’t true! It doesn’t matter how connected cities get, there are still situations when users can’t connect to the internet.

Unlike web applications, mobile applications have a high latency. A typical mobile user is traveling through the city while using your app. As they use the app, their network switches cell towers and the connectivity switches multiple times from 3G, 4G, LTE to completely offline and then online. All of this can happen on a single usage of the app.

Especially when you want to reach a worldwide user group, you should care about the offline usability of your app. While billions of people in developing countries are coming online for the first time, they are probably doing so on lower connectivity like 2G.

Mobile networks are notoriously inconsistent. App users regularly experience spotty coverage, congestion, or intermittent network fluctuations, even in an urban environment. Apps that rely on the transfer of data are particularly at risk for providing a poor user experience in the face of disrupted connectivity. Offline-first mobile apps today are designed from the ground up to handle offline use cases and enable much of the app’s functionality to persist.

Users depend on their mobile apps to do their work, power their personal mobility or to fulfill several other tasks. They expect to be always connected to the internet and to do their tasks anytime, anywhere. Moreover, they are impatient. When the app takes too long to start or to show that it’s loading the user can get frustrated.

While testing apps, developers use and test the apps on a stable connection and it typically works. However, in order to stand out and provide an optimal user experience you should cover all cases and also consider the case of a restricted or failed internet connection.

Practical Tools and Techniques

Empathize with your Low-Connectivity Audience

In order to design your app for a segment of users, you need to understand and empathise with the user.

Facebook famously ran Facebook 2G Tuesday where part of the team is limited to 2G connections to experience what the user experiences. In doing so, the developer “can address issues and pain points in future builds” ( Facebook).

On Windows you can use tools like Fiddler and OSX tools like Network Link Conditioner to throttle traffic and test.

Other tools to test your app under slow internet conditions are:

Grunt throttle task

Charlesproxy

RoboHydra

TCPMon

To get an insight into how your users use your app you can use mobile app analytic tools. These tools help you to understand what % of your sessions are offline.

UXCam unlike most other tools, supports Offline and allows you to see how users use the app offline along with capturing and analyzing what they do. The analysis of the offline sessions helps you to identify and understand user frustration and improve the user experience you deliver.

Your app’s offline functionality is often an afterthought, but this could be considered early on. The product team is not powerless, they have all the necessary tools to build apps online and offline.

Offline-first mobile apps still need a connection to the internet, but not all the time. While having an internet connection, the app downloads data to the mobile device and updates the app. The data is still available when the app is offline.

Take Crucial Features and Make Them Work Offline

It is nearly impossible to make all features available offline. There are exceptions to this statement where apps are built specifically for offline interaction.

You will need to choose key features that can work offline. The features you choose depend on the business you are in. For example, a news app allows you to read news offline or a note taking app that saves content and uploads it to the cloud when it’s back online.

While a seamless experience for the user is expected, it’s best to also let your users know that they can be used offline.

It doesn’t matter how connected cities get, there are still situations when users can’t connect to the internet. Because you can’t count on mobile connectivity, you should offer your users an app that is usable offline to deliver a satisfying user experience, even when the internet connection is slow or not available.

It might be okay not to focus on this issue at the beginning when you have other priorities. But over time, when you get more and more users, ignoring this issue means losing revenue. If it’s not possible to offer the app in offline mode, the information that the app isn’t usable should be clear to users.

To analyze the user behavior you can use tools like UXCam or Localytics. I have summarized a list of the Top Tools 2019 here. With these tools you will get a full picture of what your users do, even in offline sessions, because they are able to record offline sessions by efficiently caching offline data.