Tldr: This post makes the case for us creating a web2 wrapper server and client temples around web3 infrastructure
(feel free to share the tweet)
Alice thinks that Bob is a nerd
Successful Web2 products have a great onboarding experience. Google, YouTube, Twitter⌠If you are just passing by, you can consume it without questions asked. Only after users are getting interested in the product, they are provided with low-barrier ways to increasingly become part of the platform by sharing content and eventually creating an account.
Web3, including Polkadot, has horrendous UX. Most agree with that. In virtually every practical use case Bob has to install client software (signers/wallets), read tutorials, buy tokens from exchanges, bridge them, etc⌠Just to be able to re-take control of the web and interact without trusted intermediaries.
It reminds us of the early days of the Web, where you were forced to install chat clients (IRC/ICQ/MSN), email clients, etc. just to do one seemingly simple thing.
Itâs an impediment that might be tolerable (or even enjoyable) for innovators and maybe early adopters, but that will definitely block us from reaching the majority of Internet users.
It doesnât have to be that way! Web3 apps could actually have minimal barriers to entry and be easy to use!
Itâs already happening: Subsocial recently launched grill.chat, a chat frontend for Subsocial Network that does not require you to have any tokens or sign transactions. Itâs a frictionless user experience that allows you to onboard without reading a single line about what web3 is and does. It just works!
When Alice first launches the app, she is not logged in and is presented with a chat UI. Upon sending her first message, the web app automagically creates an account for her that she from now on uses.
Without looking into the code, letâs make an assumption about how this challenge is solved in a Web3-ish way:
- The client handles the key management, signs the transaction on user premises, and sends it to a Web2 service
- The Web2 service repackages the request and forwards the request to the Web3 network, paying the gas for the user
I love this solution because it shows us the direction that we need to push for. Low barriers to entry, hide complexity from the majority. This is why I am championing for Web2 wrappers around Web3 infra.
âBut Alice!â, we hear Bob inquire, âdoesnât that lead to centralization?â
Bob has a point. If we make it easy for users and give them Web2 middleware, they wonât need to manage their own accounts fully, wonât take custody of the tokens necessary to use the network, and worst of all, will be relying on a third-party to help them with signing requests.
In terms of IT security properties, if Alice uses a Web2 middleware to submit signed Web3 requests, she maintains integrity and authentication, but risks availability. She might get locked out of the service by the Web2 service provider.
We are in a dilemma of seemingly having to choose between compromising our Web3 values and getting corrupted by the tendencies we wish to overcome. Or instead staying true to Web3 values, but never reaching escape velocity to become widely adopted technology.
Email is sufficiently decentralized
I want to propose a counter-argument: Email
Email is sufficiently decentralized. You can use Gmail or Proton or any other service hosted by a third party to have ease of access. Or you may choose to set up your own servers and keep full control. The protocol is freely accessible and there is an abundance of clients and choices.
You donât hear people arguing whether email is centralized or decentralized. They just use it their way and get things done. It doesnât matter if you are in school, an elite IT person, or a grandparent. It just works.
I argue that we should give people more options to participate in Web3. Even if they donât know what is happening under the hood (you know⌠like 99% of people)
People need to have the option of using Web3 directly or with Web2 middleware in between.
This is our only chance to achieve critical mass.
Third-Wave Polkadotism
The first wave of Polkadot builders were the OGs that built the original tools. Polkadot, Substrate, Polkadot.js, etc⌠They laid the groundwork for a multi-chain world. They
The second wave of Polkadot builders were parachain teams. They build chains that take blockspace and transform it into higher-value features.
We are now entering the third wave. App builders that tap into all the features that parachains offer to create powerful apps on Polkadot. Itâs their time to shine. To empower them, we need to give them tooling that allows their users to just use the app. We need to get apps into a state where you can just use them. And once you start to like them, you start jumping through the hoops that give you more power.
2 components that can play a role in this:
- Client software (in-browser applications as well as extension) need to handle more work under the hood. There are use cases where
- account management can happen without the user knowing it; or without forcing them to think about it right away.
- signing transactions is not a necessary manual task, as long as the user sufficiently trusts their own client machine
- Middleware is a helper service that takes work off the usersâ hands to perform it for them. Just like a Web2 product pays for the servers, a Web3 middleware might choose to pay the gas needed to run on Web3 infra.
We need templates for this! A 200 line node.js middleware server would be a great start. A polkadot.js UI sample that allows you to post use a chain without logging in would go far in terms of getting Third Wave Polkadot developers onboarded.
Eating the cake and keeping it too
We have built the infra, now it is time to build the apps. It is already happening. Gear/Vara has something in preparation for app developers here too. Smart contracts that are pre-loaded with gas to just go. Subsocial reacting to user complaints and giving them what they want.
While we build all that, letâs say the obvious: Self-Custody is not negotiable. Nation States and certain institutions will want to divide and conquer us by the question of self-custody. It is not negotiable. Self-Custody is the most important topic to ensure that users are free to consume Web3 in any way they want. Letâs make sure this is granted.
And when that is given, letâs make it easy for the majority to onboard to Web3.
(feel free to share the tweet)