When You Need Cloud-Based Software with Offline Capabilities
Whether you’re in the beginning stages of building your application or launching version 9.0, there should be a strategic thought process behind your app’s online and offline usage.
A purely cloud-based application will require a strong, permanent connection in order to function at its best. On the opposite side of the spectrum, all an offline application requires is storage space on a given device.
100% cloud-based and 100% offline apps are few and far between. In reality, most apps sit along a sliding scale between cloud-based and offline features.
And while these features aren’t difficult to develop, business and product owners often overlook the details while planning.
When this happens, your app is as good as dead.
When You Need Cloud & Offline Capabilities
Even if you’re cloud-based, your app likely requires some offline capabilities to address your user’s usage. Here are some common scenarios your users are likely dealing with.
Remote Locations: Think of your users in the field, remote travel, global education, and emergency response in rural areas.
Low/No Bandwidth: Think travel systems (tunnels, airplane mode) and poor service areas.
High Usage Events: Ever been in line for a concert and can’t access your tickets? Nuf said.
While most app’s offline capabilities are nice-to-haves (Gmail, Maps, Wordscapes), some business models would seriously suffer without them. That’s why it’s essential to plan how your cloud and offline features operate.
Things to Consider When Creating Your App
The following items are things every product manager or software business owner should think of before building their application.
At some point, your app users are going to do *something* offline. Once they’re back online, your database needs to sync with their recently-connected app so you know that Henry got a new email address.
However, Henry likely has multiple devices he uses to access your software. He might log on to another device, re-update his email, and mistype it.
All of a sudden, there is an old email, a new email, and a mistyped email across different offline and online devices.
If there are no structures or rules in place to deal with this synching problem, it can throw off your data and ruin your user’s experience.
Offline Vs. Online Features
Before you design your app, decide which features will be available on the offline version.
Once you’ve made these decisions, analyze whether the change is drastic enough to warrant a different user interface. If yes, then you’ll need additional designs that support it. While it's important to have uniformity in your UI, if you have a ton of features that are disabled, that’s not good either. Work with a UX designer to get the best results.
You’ll also need to consider user flow and possible pathways. If one offline feature works but directs users to an unavailable resource, it will create a poor user experience.
If you’re using third-party integrations in your app (you probably are), then you’ll also need to consider how these features work when offline. If any part of your app sends or retrieves data from a third party, you’ll need to map how this functions in the absence of recent data.
Options include queuing and caching, both of which can quickly become complex. Understanding your needs early and getting the correct input from your team (both technical and design) is important in making these decisions.
If you’re serving users in a remote or low-bandwidth area, one of the most essential developmental implications is speed. Online functions need to download quickly so they can function in low or no service areas. Use all the tricks and tools you can to reduce data transfer size like compressing images and zipping payloads. If you can’t get things small enough, make sure to send/receive them less often.
While these considerations may seem complex, as long as they’re discussed during your planning stage, they’re relatively easy to address. The problems come when you forget these details and have to go back and change interfaces and integrations.
We always recommend sitting down with a product owner, designer, and developer to discuss the scope of your app. Having insights from each unique skill set will make sure your app functions as planned–no matter where your users are.