← Back to context

Comment by hiAndrewQuinn

11 hours ago

>When your connection to the internet fails and that the software locks up, that skill that you thought was yours was actually entirely owned by someone, and can be taken away.

There's a middle ground between locally installed software that fails as soon as you don't have an internet connection for the phone home, and locally installed software that can be used totally unplugged. You can stick a countdown timer within the software that allows 7, 30, 90 etc days of consecutive offline interactivity before the user needs to phone home again. Heck, if you really wanted to, you could sell copies or subscriptions to that software at varying price points depending on how many days the user expects to need - if it's a feature people want, it's a feature you can price in.

Why isn't this model more common? Mm, plenty of reasons. You need to implement pretty sophisticated techniques under the hood to deter software crackers, for one, which aren't required when you make an API call every sixty seconds to an Azure Function. For two the modal human mind really hates middle grounds of this sort. I actually suspect that some "online-only" local software implements something like this under the hood, and just doesn't advertise it, or perhaps gates it being being an enterprise feature. (I have unfortunately learned firsthand that advertising my software as "works up to 30 days off-grid" gets considerably more ire than "ah, sorry, it does require an internet connection, everything's in the cloud these days, you know how it is".)

But probably the most common reason is simply that most people don't need it! Most regular people aren't using software at all when they go off grid.

I have a deep hatred for software with x days offline capability. It's not fun to discover something won't work because someone else had a bad model of what's "reasonable" when you're doing field work in rural Mongolia or wherever. It's happened to me twice. Once I was lucky enough to accidentally discover this before leaving (PDF reader), and once while already in the field (drone software).

Now I'm a lot more diligent about FOSS for anything important.

  • Tell me more, if you're able. What happened?

    • Not much more to say. Back when I was actively doing field work as an archaeologist, I'd go out to the middle of nowhere for months. There was lots of software needed and some of it had those kinds of license checks. You anticipate and prepare for computer failure in fieldwork, but it's still irritating when the failure is caused by a person instead of the environment.

I don’t think such a middle ground is really realistic. There are plenty of apps that are just thin wrappers around their backend calls and are no more capable of working offline than I am of going without food or water. But if a program is capable of being fully functional offline for 30 days, then what does it really need to call home for, other than as a confirmation of payment?

  • Well, you're right it isn't realistic, that's why everything is a SaaS nowadays. That's what the second order effects of this kind of expectation generates.

    >Other than as confirmation of payment

    This is the wrong way around, imo. Confirmation of payment is like the #1 problem a business has to solve. If the business can't reliably turn a profit by running their software on your machine, then they will run it on their own machines, no matter how much it degrades the user experience. The end result is a hollowed out market for anything local and not offered totally for free, which sadly and ironically excludes a great deal of valuable software.