Permissionless Innovation and You
Permissionless innovation is the keystone of MetaMask’s strategy: an application development philosophy that promotes developer and personal agency.
“The developer is a multi-billion dollar corporation with hundreds of millions of users… either way I’m powerless to affect the outcome.”
Recently, I was A/B tested by one of my most commonly used applications, an unnamed audio streaming service. (A/B testing is a common practice in modern software development, where the developer gives some users experience A, the rest experience B, and then compares their performance.) When we are A/B tested, we don’t know how many experiences are being tested at once, why we are being tested, or how long the test will last. In my case, the experience was that the app’s home page started automatically playing music, much like a hideous website of the Dotcom-era internet. Whenever this happened, my first instinct was to launch my phone into the nearest wall, but I settled for hastily changing to a different view.
“We have obtained a bicycle for the mind only to confine it to a shopping mall.”
There was nothing I could have done to prevent this from happening short of not using the app. The developer is a multi-billion dollar corporation with hundreds of millions of users; even if I managed to get a hold of them, my opinion would be no more than a row in a spreadsheet. I have probably been A/B tested many times since then, but I know it happened at least once: a few days ago, a friend was in a different testing cohort than me, and had a feature on their home page that I wanted for myself. Maybe I’ll get it someday, maybe I won’t; either way I’m powerless to affect the outcome.
I believe that this experience reflects something essential about being a user of today’s internet, and of computers generally. Products and services we depend on every day change constantly and without our consent, sometimes to our liking, others to our annoyance, and often to our indifference. We have a choice, sure, but only between this or that walled garden, never between less or more agency. Despite that our digital devices are infinitely expressive and under our direct physical control, the experience of using them is almost completely at the mercy of forces greater than ourselves. In other words, our agency as users is extremely limited. The causes of this are both political and economical in nature, but it is also the legacy of Steve Jobs and “end-to-end control”. We have obtained a bicycle for the mind only to confine it to a shopping mall.
“To create something better than web2 and safely increase user agency, we need both compelling economic incentives and the technical means to do it.”
How can we as users reclaim some of our agency? The fact is that our options are limited, and from a commercial app developer’s perspective, user agency is usually at odds with your business objectives and/or the safety of your users. Web2 did not supplant the Dotcom internet for no reason, and A/B testing is a common practice precisely because it has proven to be effective. Ultimately, web2 delivers on many of its promises, such as instant commerce and communication, as opposed to the Dotcom internet, which promised everything and delivered little. To create something better than web2 and safely increase user agency, we need both compelling economic incentives and the technical means to do it. This finally brings us to web3 and wallets.
A wallet is a software application that helps a person manage their web3 “stuff” (accounts, assets, transactions, etc.) and safely do things with it (e.g. sending transactions or granting allowances). At MetaMask we call this “exercising your digital authority.” The problem is that developers have built an astonishing variety of stuff using web3, which has in turn exploded the kinds and ways of digital authority that people want to exercise.
Ethereum alone encompasses ERC-20s, NFTs, DAOs, Mainnet, L2s, bridges, onramps, offramps and a slew of other primitives composing its current ecosystem. That doesn’t even begin to encompass things like ERC-4337, which despite being analogous to Ethereum’s existing transaction model will have profound implications at the UX layer. And then of course, people don’t want to use just Ethereum, but also other L1s like Cosmos, Solana, and Avalanche. This has created a fragmented user experience across web3 that compromises user safety. When users are required to navigate multiple interfaces, it increases the risk of mistakes and makes them more vulnerable to malicious actors.
“...the solution is more developer and user agency, not less.”
The solution is, naturally, to create a universal web3 interface. But how can this be achieved? If a single organization were to unilaterally create such an interface, it would just replicate the incentive structure and results of web2 applications. We believe that it is, fortunately, impossible for this to occur for the foreseeable future; even if it could, no corporation would develop the expertise necessary to enable people to safely exercise their digital authority across such a wide range of domains.
Instead of repeating the mistakes of web2, wallets need to take a lesson from web browsers and become vehicles for the ambitions of our communities. Rather than attempting to impose a one-size-fits-all solution, we must create an environment where developers have the freedom to innovate and cater to the specific needs and preferences of their users. In other words, the solution is more developer and user agency, not less.
“MetaMask Snaps… is an extensibility system for MetaMask that enables anyone to extend the functionality of the wallet, at runtime, without our permission.”
Enter MetaMask Snaps. Snaps is an extensibility system for MetaMask that enables anyone to extend the functionality of the wallet, at runtime, without our permission. In the initial version of the system, we are curating the list of available Snaps. In the future, anyone will be able to create and publish a Snap, and anyone will be able to install it. Snaps is the means by which MetaMask will become a universal web3 interface, all while granting all MetaMask users far greater control over their wallets. We are able to do this by means of cutting-edge JavaScript developed with our partners at Agoric. You can learn more about the story of Snaps in this post by Dan Finlay.
MetaMask Snaps is the essence of what we call permissionless innovation (PI). Generally speaking, PI refers to the ability of developers and users to create decentralized applications without the approval of centralized actors. Its purpose is to give people more control over their digital lives.
Snaps is a concrete instantiation of a PI strategy that combines the economic incentives with the technical means to safely expand the agency of all MetaMask users. We hope that the release of MetaMask Snaps marks the beginning of an era of safely extensible computing, where people rather than platforms will own their data and social networks.
We have much more to share about the road to making MetaMask Snaps fully permissionless, and are excited to invite you on this journey of co-creating the wallet with you. Together we can break out of the shopping mall that has been erected around us, and venture into the unexplored territory that lies beyond.
Keep reading our latest stories
Developers, security news, and more