Software Dev

Anxious Offline

I make apps for a living. And one of the things that annoys me most is when an app just can’t handle being offline. It needs to be connected or else it acts unhappy or sick. I love apps that are offline first and silently sync with the network whenever they can. Some examples are Things, 1Password, or the stock iOS Calendar app. I know it isn’t always possible for an app to work offline. You can’t have all the movies on your device, after all. But a non-anxious offline app is a worthy goal that we app developers often forget about as we work through the endless details of making something work at all.

👉 My Apps Have an Anxiety Problem

Above is a great article kind of about offline apps. It’s not a UX article and not a software development article. But it does give a very human-centered perspective on “offline mode” and why it can be so agitating when it’s half-baked or too needy. 😆

My favorite quote from the article…

We often speculate the end of computing looks like an all-knowing orb or a Skynet spawning android super-soldiers to murder us. But maybe it just looks like a beachball that never stops spinning, never lets us open our apps because they are always fetching the latest data. Wouldn’t that be funny?

Software Dev

The Many Offline Options for iOS Apps – Device Blogs – Medium

Offline mode is no longer just an extra feature you could choose to add to your app — it’s something many users expect. I’ve often seen developers force their favorite offline solution on a problem…
— Read on medium.com/device-blogs/the-many-offline-options-for-ios-apps-2922c9b3bff3

Summary

Runs through Caches vs. Databases and when each is a better fit. Basically, databases are better for a finite set of data that you can save “all” of, perhaps a game of personal database. Caches are better for something that is too big / complex / dynamic to save “all” of, e.g. social media, web, etc.

Also covers the idea of using a queue (or EveneBus) for offline tasks and mixing strategies.