There's something "perfect" about standalone software.
An old Palm Pilot that had some kind of calendaring system. Now on some phones, the only calendar might be Google Calendar and you can't even tell what day your parents' birthdays fall on if you're not online. To be fair, this means you have a calendar that can be updated from any of your devices and is always kept in sync as long as you're online. So the drawbacks aren't without benefits.
Many software developers go to great lengths to have as minimal of dependencies as possible. The pinnacle is an application with no shared libraries or local services that need to run. Yet, many accept software that refuses to function if another server, running tens of thousands more lines of code doesn't have a valid SSL certificate, an unexpired domain, and DNS pointing to its IP address. Somehow, that requirement is seen as acceptable over and over.
In reality, sometimes it's not a single service that's depended upon, but tens of them. Any one of them down and the entire application breaks, depending on how it's written. While software is updated at faster rates than ever before, it's also much more fragile. What if a meteor hits one of AWS' major data-centers? What if a single bug erases every single S3 bucket? It's unlikely but also completely possible.
With hardware being more advanced than ever, storage being cheaper than ever, we're able to self-host far more than ever before. Yet, our software tends to have more single points of failure than ever before, even at installation time. What if Github went offline? I won't say that self-hosting doesn't have tremendous drawbacks. It's not for everyone. Sometimes cloud services are by far the most sensible option. It's a bit of an excessive exercise, but I'd like to know that I could function as "normally as possible" if I were cut off from the rest of the Internet, or if it was cut off from me. Of course, I'd be quite curious about how to connect back up which could prove quite the feat, but that's a very different mental exercise. Probably worthy of consideration.
You can have every movie you'd ever want to watch on a 12TiB external hard drive that goes with you anywhere, or be paying a streaming service and bound to their terms and rates for life. One, you can utilize with a $100 generator and some gasoline (or propane). The other is so far removed and out of your hands whether it works or not.
An old Palm Pilot that had some kind of calendaring system. Now on some phones, the only calendar might be Google Calendar and you can't even tell what day your parents' birthdays fall on if you're not online. To be fair, this means you have a calendar that can be updated from any of your devices and is always kept in sync as long as you're online. So the drawbacks aren't without benefits.
Many software developers go to great lengths to have as minimal of dependencies as possible. The pinnacle is an application with no shared libraries or local services that need to run. Yet, many accept software that refuses to function if another server, running tens of thousands more lines of code doesn't have a valid SSL certificate, an unexpired domain, and DNS pointing to its IP address. Somehow, that requirement is seen as acceptable over and over.
In reality, sometimes it's not a single service that's depended upon, but tens of them. Any one of them down and the entire application breaks, depending on how it's written. While software is updated at faster rates than ever before, it's also much more fragile. What if a meteor hits one of AWS' major data-centers? What if a single bug erases every single S3 bucket? It's unlikely but also completely possible.
With hardware being more advanced than ever, storage being cheaper than ever, we're able to self-host far more than ever before. Yet, our software tends to have more single points of failure than ever before, even at installation time. What if Github went offline? I won't say that self-hosting doesn't have tremendous drawbacks. It's not for everyone. Sometimes cloud services are by far the most sensible option. It's a bit of an excessive exercise, but I'd like to know that I could function as "normally as possible" if I were cut off from the rest of the Internet, or if it was cut off from me. Of course, I'd be quite curious about how to connect back up which could prove quite the feat, but that's a very different mental exercise. Probably worthy of consideration.
You can have every movie you'd ever want to watch on a 12TiB external hard drive that goes with you anywhere, or be paying a streaming service and bound to their terms and rates for life. One, you can utilize with a $100 generator and some gasoline (or propane). The other is so far removed and out of your hands whether it works or not.