You want people to run their own servers? Design and build servers for individuals, not communities and let communities arise from the interconnections between those servers.
Because that’s the only way we can compete on ease of use with centralised systems. Not by mimicking their complexity but by side-stepping it. There is orders of magnitude difference in complexity between a system designed to serve just one and one designed to serve one, two, or a hundred thousand.
@aral does it though? This may be unfair of me (I’m all for decentralisation BTW) bit when I was running IndieWeb functions on my blog, it was ridiculously complicated.
When I tried Micro.Blog, it was convoluted and awkward. Write.as was the same, albeit less so.
I hope it will get there some day, but my experience is the opposite. Centralisation is simple (sign up for Twitter, post your memes), and decentralisation is complicated unfortunately. 😕
When tools, protocols, or activities become too complicated, centralization will creep in. Hosting is complicated, and lo and behold we end up with largely centralized Web.
It's on us to design our tools such that they are *simple*. And when we do, centralized services will have less room to manoeuvre. The point is: we should not parrot centralized services, but instead design simpler tools.
As a friend put it: at least sometimes we have to be able to say "this code is now complete". No new features needed.
@kev @aral I believe the point is technical complexity. Software that is more complex tends to centralize over time (think email or maybe Matrix), while software that is simpler can easily be decentralized since more people can actually set it up (such as possibly web servers or IRC).
We need to make hosting servers simpler if we want more people to do it without being sysadmins.
@aral What I worry about is this: There are many things users want or "deserve" but ultimately, those who do the work get to shape their work. If developers are personally comfortable with editing config files and command-line tools, that's what we end up getting.
@happybeing @miklo I don’t think we can until we have a system where servers are providing (a) availability and (b) findability. Once we have that scaffolding and we’ve moved people to what is essentially a p2p system with experience guarantees, we can start removing the training wheels. At least that’s my plan.
Very keen to see how you get on with a less radical separation. I think the pro is easier adoption (migration/integration etc), but the con will be vulnerability to criminal and state attacks (technical and legal attempts to control, censor, surveil, extort, steal etc).
The current architecture isn't robust enough IMO. Hopefulyl Safe Network can shift this by orders of magnitude because all the trends are negative.
@aral @miklo @happybeing I have similar criticisms of Tim Berners-Lee's strategy with Solid. He's betting on Solid as a service, presumably with better regulation but I don't see how that won't repeat the same centralisation as web 2, and it continues to sit it on fragile and insecure infrastructure spread across commercial providers. Ick!
That's why I created a demo of Solid sitting on an early Safe Network testnet. That still looks promising.
@aral I agree, we need to make everything a lot easier to set up , securely, and ensure the person doing so is setting things up securely.
Surely it is possible to build a raspberry Pi image that has everything built, you just insert in to pi (first time) it does the usual resize file system, asks a bunch of easy to answer questions (which you know before hand,, can write down the answers to.
Even better have a online configuration tool that sets up a config file for you, Kind of like the old XFree86 or kernel configuration tool.
@aral I'd say design for three users rather than one.
Individuals running services are often not just individuals - they exist in households or other small groupings, with whom they often share services from the very beginning. Between cooperative housing and inter-generational households, a more than two-adult household with shared resources but multiple semi-independent decision-makers is very common.
@aral My example of a system designed for one is #Grocy, which is totally awesome in nearly every way, but which treats users as places to store different UI settings and nothing more; there is no object ownership or permissions model.
My household is not a nuclear family, and one main reason we haven't switched to the grocy instance we already have running is that we don't want to e.g. [be able to] see roommates' personal chores on the household task list.
@asparagi I understand the use case and agre that it is important but I don’t know how to design for three people. In terms of the architecture of a system I can either design one where a person is in charge of themselves or where someone else is in charge of one other, two other, or a million other people (the exact number doesn’t matter, it only determines the amount of power the person in control has). What I can design, though is a system individuals own/control where they can set the rules…
@aral I am lobbying for designing for systems in which multiple people (I agree that the exact number doesn't matter, as long as it isn't special-cased for 2, a la couples' communication apps) are each in charge of themselves, and one or more of them also maintain/support the system.
Assuming there are 3(+) such individuals, one would design for the basic permissions model things/personal data per user, but can ignore e.g. trying to scale to a million users.
@aral Of my personal sample of about 30 households of 2+ members observed closely enough to be able to tell, interest in using tech is distributed more broadly than interest and skill in maintaining it. One or more tech specialists maintain tech for the others, including single-user tech like iPhones, and often set policy for the others.
Household tech seems like the majority use case, over individual, we techies just haven't been seeing it that way.
@aral Just some ideas; I still think you are headed in a better direction than the status quo.
If we have to have a solution that doesn't fit, I'd certainly prefer systems that start with the goal of individual control rather than exploiting herds of faceless consumers.
@asparagi @aral just a though: we may not need traditional (web2/SaaS) permission/security models for household sized services. I have no lock nor safe to "protect" "my" physical belongings from my spouse with whom I live. I may not need software protections either.
Publicly exposed household services must still restric unauthorized (write/admin) access from outside (i.e. internet), but this is true regardless of the number of trusted inhouse users.
@aral So true. But how do we overcome things that are heavily dependant on centralised services? For example push notifications in mobile operating systems. Right now we have no choice but to either use Google FCM, Apple push services or hope for developers to implement their own push services which in mass accumulate to a lot of background activity and thereby battery drain. Almost anything else is easily imaginable in a decentralised manner.
I am just reading The Road to Serfdom from F. A. Hayek
says that cetranl planning leads to totalitarianism
also society grows when individuals are free
I see those as pararells to your opinion
@aral I think they mostly want to turn their laptops off when not in use, and running a server means having a computer which is always turned on.
They seem happy enough to run Alexa 24 hours though.
Probably need the right hardware form-factor as well as being no-admin simple to manage.
Increasing numbers of non-geek friends are starting to not even own a computer at all and just do everything on their phone.
Not gonna run much of a server on that.
But yeah, expanding the routers seem to be the way to go. Everyone who's got wifi is already running a DHCP server they just don't know it. That could be expanded to other services.
@aral this is an interesting to thought. But considering what it takes to run a server, I absolutely understand everyone who doesn't want to do it. At the end the day everyone has to decide whether to spend their time with routing tables, intrusion detection and counter measures, power supply, network connections, cooling, backup, software updates, and so on or with creating content. Delegating the boring stuff to people who give a damn seems like a smart idea.
@dl4mat @aral It's okay that people don't want to run servers. Shared webhosting is fine. Cloud computing is fine. The crucial point is to use software and protocols that allow you to switch providers and run a server if you wanted to instead of getting locked into centralized silos. I think the #IndieWeb got this right - as long as its your domain name you can point it wherever you want and change what's behind it.
@email@example.com i don't want to run servers. i also don't want other people to have to run servers. no more servers pls and thx
...People will run their own servers.... if ... . they don't even know they are doing it...."
You mean like JS cryptominers running on a webpage, or any peertube instance... 😉
[Obviously I know you don't mean either of those things, nor do I intend to associate them in any way.
I'm just trying to be witty, and make a point.]
@aral Totally agree and there are examples that already provide easy 1-click installers. Designing for multi-people is hard, especially regarding security. Designing 1-person services that connect through a common protocol securiley might be even harder, but the right way. But I'm not totally against a 2-person system, where one "administration" person controls what the other person on the service can do (e.g. parent vs child, or other relations that require access control, to prevent abuse).
@aral I run my own servers, I have one to was my clothes, one to was my dishes and one to keep my food cool. What these servers have in common is that they are bloody simple to operate.
If an internet filesharing/communication/collaboration server would be as simple as that, every home would have one.
Moxie is right in the sense that people don't want to run their servers because in his world, a server looks like this:
What he does not seem to realize is that the servers people want to run look more like this:
They are already doing it and guess what: the uptime is pretty good too
@aral While generally I applaud the sentiment, I have a couple of problems with that article:
1. Doesn't putting everyone onto a subdomain you control (even if it becomes a TLD) basically undermine the goal of decentralisation?
2. If everyone's using Site.JS to run their servers, that's also a centralised technology, isn't it? I guess you can just promote it as a tool for easy onboarding and encourage others to use other methods, but otherwise, you're making yourself the "big player".
This is my personal Mastodon.