3 ms·
> If I make an app, I can safely assume that the user has a bank account Sure, but that doesn't mean you assume that the user operates their own bank. They hav
by smacktoward 7y ago
> If I make an app, I can safely assume that the user has a bank account
Sure, but that doesn't mean you assume that the user operates their own bank. They have some third party they trust to hold their money for them. There are risks to that, but in practice it turns out those risks are much less grave than the risks associated with everybody holding their life savings under their mattress.
This is why I've always been skeptical of the "everyone should have their own server" vision: servers require administration, administration requires technical skills that most people will never have, and even lots of those that do have them aren't necessarily skilled enough to be able to keep them reliable and secure. For all those people, having some professionals at a third party deal with that stuff will yield better results than DIY will. There are risks here too, but it'll probably be easier to mitigate them via regulation than it would be to teach everyone in the world to speak Unix.
(The one way out of this trap would be if we could come up with some kind of server that did not require administration -- that had guaranteed 100% uptime, that never required security updates, that scaled automatically to meet any level of demand, that didn't have physical parts that wear out over time, etc. It's telling that the closest thing we have to that today is less a server and more something like AWS, which... requires trusting a third party.)
- zenhack 7y agoThe key thing is the user has somewhere they can actually run your app; it doesn't necessarily have to be their own box, it could be one provided by a friend or a hosting provider. That said: > The one way out of this trap would be if we could come up with some kind of server that did not require administration To a large extent this is actually a goal of sandstorm. I'd contest some of your requirements though: /Nobody/ has 100% uptime, even AWS. And most individuals are not in a position where an outage is going to cost them millions. It might suck, but people trudge through worse problems with their PCs; no reason a personal server ought to be different. So I think the bar is a bit lower than you suggest; I think it's possible to get a server to the point where it can be "administered" by someone who's capable of "administering" a laptop. We're obviously not there yet; you still need to set up a Linux box before installing Sandstorm itself, and we don't really have a great Story wrt backups yet. But Sandstorm itself is already mostly fire-and-forget; it auto-updates itself, our security track record is rock solid, and I can't remember the last time I had to do anything that felt like sysadmin work for my Sandstorm box. There are a couple things I think still need to happen: 1. We need an automatic backups & recovery story. 2. We can't require the user to install Linux first; we'd need a "sandstorm distro" so folks can do the whole business together. The OS should be hardened by default and self-update with Sandstorm, as well as integrate with the admin panel for scheduling reboots. 3. Ideally, there'd be hardware you could buy that's just already running the sandstorm distro.
- andrewflnr 7y agoI think the key is to fully commoditize the maintenance, largely by ensuring that users' server state (documents, photos, server app config, the works) is portable between commercial providers and DIY servers. Even better if you can maintain highly available copies on multiple providers.
- augustl 7y agoGood point! This is why the e-mail analogy works. You _can_ host your own e-mail, and nobody has to know that you do, you can just do it. But most people settle for a 3rd party. It should be the same with whatever someone comes up to as a "bring your own server" solution imo. I'm completely fine with having to do more manual work to set up my own box at home or something like that. Maybe I'll install it on Azure or AWS instead. Or just source it out completely. Would be nice to at least have the option :)