More realistic title. It would make for a shorter article though.
More realistic title. It would make for a shorter article though.
--
Two ideas for how we can help decentralization win.
1. Don't just clone an existing app.
The two decentralized protocols with the most adoption by far are Bitcoin and BitTorrent. Both of them have capabilities that no centralized system can match. Same with Ethereum, Namecoin, etc. So the goal of a decentralized system should be to exceed the functionality of what came before, not just to clone an existing centralized service.
2. Run your open source project like a startup.
That means gathering metrics, tracking week-on-week growth, getting press hits, creating a brand, caring about product and UX.
I've seen cool decentralized projects get no adoption because the people running them focus on the technical aspects and ignore things like usability. BitMessage, for example, is impressive technology, but the client is called "PyBitMessage" and it looks lolbad: http://i.imgur.com/ydY6PIX.png
You have to motivate designers etc. in a similar way as you motivate coders to work on the project.
GitLab and Sandstorm.io are both examples of startups, which make open sourcing their core 'product' a part of the plan.
Congrats, you've found the reason why a 100% decentralized web is more like fairy tale. The reason why vast majority of people use services like Facebook, SnapChat or Uber is because they are so easy to use. Good UX is not free, service stability is not free and new features are also not free.
People don't care about the underlying technology. If one wants a decentralized web, they must demonstrate a 10x increase, not a tiny bit shitty alternative service.
What about email? It's become quite centralised in practice, but it is ultimately a decentralised protocol, and it is used by pretty much everyone on the internet.
And even in its semi-centralised form, it's nowhere near the walled garden of Facebook.
That's a really good idea! Email is an good existing source of messaging and "identity." People can choose to participate in the "network" either using one of the big hosted providers, a privacy-oriented email host, and eventually over time, using self-hosted email.
Project idea: what if all the social shit could be sent over email? You'd need to setup your email client to hide emails that represent the "data packets" for the social communications so they don't pollute your INBOX. A completely separate personal browsing interface (client side .js) would be used to browse the social stream you receive at your email address.
It's already happening a bit like that with the "Social" tab in gmail, but instead of containing links to walled garden URLs, the proposed new "social email" packets will contain the full content and won't require access to any external servers. Perhaps we wouldn't even need a "central" browsing interface, since each social item can come with its own .js to render a simple UI adapted for the social item (e.g. message, photos, album, event, links).
To make the picture more concrete, let's analyze the Event data type. Alice wants to host a party, so she invites Bob, Betty, and Boris, by sending each of them a paragraph of invitation text, some images(<1MB), two RSVP links I'm going || Not going, and a [FWD] button. When Bob clicks "I'm going" Alice is notified by email. When Bob clicks [FWD] and sends to Charlie, and Charlie clicks "I'm going" Alice will be notified again. Social functionality. No central servers.
Yeah, contrast it with reality where: Alice wants to host a party, so she invites Bob, Betty, and Boris, by sending each of them invitation via Facebook.