MetaMask Snaps
MetaMask Snaps (https://metamask.io/snaps/) is a project with ambitious long-term goals. However, beyond its idealistic façade, the author prefers to liken it to mini-applications in the Web3 world. Alternatively, one could fancy it up with the name “dApplet”.
For developers, especially those in China, the concept isn’t entirely unfamiliar. In recent years, we’ve often heard buzzwords like “ecosystem creation” and “super apps” in the internet industry. Major corporations are increasingly closing off the internet to position themselves not just as service providers but as standard setters.
Now, this trend seems to be drifting into the Web3 domain.
As of June 2024, despite Snaps being around for nearly a year and its concept for at least four years, ordinary users have minimal understanding of it. Even friends deeply involved in cryptocurrency markets treat opening MetaMask as naturally as eating or sleeping, yet remain oblivious to what MetaMask Snaps entails. However, upon explaining it as akin to mini-apps, a smile of understanding, inexplicable yet discernible, spreads across their faces (most are frontend developers).
This scenario oddly recalls the early days of WeChat mini-programs, initially low in usage due to unclear entry points. It was only after placing the entry on the homepage, under a dropdown for mini-programs, that usage soared. If MetaMask aims to foster an ecosystem, attracting users through its gates might prove a pressing challenge.
Mini-programs have been contentious in the internet industry since their inception. Frontend engineers often scoff at them, viewing them as tools for internet giants to monopolize traffic and enclose ecosystems, offering little to technological advancement. How much can Web3’s Snaps contribute to the community? Reviewing MetaMask’s documentation increasingly suggests future Snap developers will struggle significantly.
Despite nearly a year since MetaMask initiated public testing of Snaps, the actual number of available Snaps listed on their official website remains relatively sparse. As of June 2024, there are only 68. It’s worth noting that well before formal public testing, around 2020, the concept of Snaps was already introduced, allowing Web3 companies and developers ample time to familiarize themselves.
Some Snaps
Personally, I’ve yet to meet dedicated Snap developers, but there are plenty of mini-program developers from Web2 around me. Their general sentiment towards mini-programs is that the development experience is subpar. While they utilize frontend ecosystems, it’s a stripped-down version with limitations imposed by vendors for various reasons. Documentation quality and technical capabilities vary among vendors, forcing developers to navigate numerous pitfalls before earning the label of “experienced.”
Returning to Web3, due to security considerations, Snaps likely face similar challenges. They must operate within a segregated security context, using “Secure ECMAScript,” essentially a restricted JavaScript API that limits access to DOM, Node.js, browser plugin APIs, etc.
For a basic Snap, this limitation severely restricts functionality. Most features require specific permissions upon installation, including lifecycle, transactions, signatures, CRON, etc.
Types of Snaps
According to MetaMask’s classification, Snaps broadly fall into four types:
Account Management: These Snaps primarily enhance private key security through Multi-Party Computation (MPC) technology.
Interoperability: These Snaps mainly provide compatibility with non-EVM networks.
Communication: These Snaps focus on providing messaging and chat functionalities.
Security: These Snaps address security needs, particularly enhancing transaction insights and warning against phishing attempts.
MetaMask aspires to expand its domain to other chain platforms through Snaps. However, emulating the success of Web2 mini-programs might prove challenging. Many App versions of mini-programs fail to match the functionality of full apps and lag in feature updates, often redirecting users back to their native apps. With the potential proliferation of “Snaps-like” solutions across various platforms, compatibility issues may burden developers, leading to calls for Snaps Standards and community-driven discussions.
In conclusion, while I harbor doubts about MetaMask Snaps, it remains a product built by passionate developers aiming to address real-world problems, distinct from financial scams initiated by a group of experts. Yet, for most current MetaMask users, Snaps are not an essential feature. MetaMask must focus more on effective promotion moving forward.
[Original Article Link]