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.
@asparagi @aral a typical neighborhood is also a good example of an unmet need for decentralization at community level. People are using Whatsapp for local groups, google drive for sharing stuff, gmail for local interest mailing lists etc disemboweling the integrity of their tiny commons.
Some locally run services (there is always a nerd in a dozen or so households) could change all that
@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.
@julianfoad But isn't it de facto centralised? How many mainstream app providers use these alternatives? They won't do it for a niché userbase.
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
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!