Highly Opinionated Primitive Interfaces.
In life, you are faced with challenges and problems every day. Rushing to find a solution, we work tirelessly to find the highest return solution that can be implemented at the lowest cost. When it comes to building in the tech and crypto industries the case is much the same.
It’s a constant battle to deliver against the wants and needs of users where companies and builders are often required to answer questions they are yet incapable of answering. With decisions made from the first seconds of developing an idea, there exists a dynamic level of certainty appended to every decision.
As more decisions are made, the shape of the output becomes set in stone as it ossifies to become a fossil of reality. Yet this approach results in only having served a small subset of the users within the niche while having pushed away countless other groups of future potential users:
- with decisions made of expected usage.
- with the determination of a fee premium added to each action.
- with the calculation of the target profit margin.
The list of decisions made when building a product quickly becomes so long it is impossible to track, yet the list of things that were ignored or not built is often much shorter. Having been baked in opinion and the perspective of one’s perception, it is not uncommon to see a final product that is in a very different shape than the form needed or wanted by users with:
- features that no one will never use.
- expectations of business operations set by a piece of software.
- pricing models that limit the ability to effectively scale.
- user experiences that do not match the expectation.
While many problems in the world have been solved, there still exists a vast amount of design space entirely unexplored; even with the “perfect” solution, there is never a case where 100% of the design space is covered. This is where highly opinionated interfaces bring an advantage.
Extending Opinion of Others
Since the inception of software development, the concept of primitive utilities has played a pivotal role in constructing efficient and dependable systems. These battle-tested code standards extend beyond organizational boundaries, uniting teams to create tools that optimize functionality and improve overall user experience.
As technology advanced, the isolated nature of these individual primitives began to coalesce, giving rise to the foundational protocols that underpin the Internet as we know it. One iconic example is the HyperText Transfer Protocol (HTTP), which revolutionized information exchange and paved the way for the interconnected digital age.
Much like the social shift that arose from the rise of the Internet, the blockchain industry has resulted in a very similar journey. With all the experience of the decades before, the emergence of blockchain technology introduced a new dimension to these foundational building blocks, offering the potential for enhanced, secure, and streamlined verifiable functionality.
In an instant, anyone around the world has access to financial rails that can power asset direction unlike ever before. With a credibly neutral blockchain, censorship and preferential treatment are forgone in preference of (often immutable) code blocks that can be consumed and used by anyone regardless of geography or background.
Specialty teams can come along and build on top without investing hundreds of hours and thousands of dollars into the development of the underlying onchain primitives. Like a bank that does not have to acquire and defend a safe, a new provider can step in and aim to extend the service that already exists without the overhead cost of development, research, and auditing. In theory, everyone wins, right? A true positive-sum game.
Empowering Specific Functionality
Central to this evolution of primitive-based development are smart contracts, compact packages of code containing essential onchain features. By encapsulating specific functionalities, they eliminate the need for redundant development efforts, enabling efficient integration of core features without exposing projects to unnecessary risk.
- If you want to enable token swapping, there is Uniswap.
- If you want an in-token bridge, there is LayerZero.
- If you need a library of lower-level Solidity primitives for development, you have Solady and OpenZeppelin.
- If you want to offer safe token delegation, there is Delegate.
- If you want to build a vesting token, you can use Sablier.
- If you want to build around lending, you have Aave.
The list of primitives for you to use and integrate with is effectively endless. Despite this monumental level of things to build upon, the utilization of primitives within the crypto ecosystem often remains confined to the backend operations of the organization that originally orchestrated development.
Over the last decade, intricate protocols have materialized, merging various specific features to fuel diverse models. However, in the quest to fortify the security of protocols, the emphasis on crafting user-centric interfaces and seamless experiences has at times taken a back seat.
This raises a question: How can the gap between robust functionality and user-centered design be bridged to create highly opinionated interfaces that cater to specific use cases and users?
N Operational Solutions
A one-off product development sprint with high levels of opinion often just results in not having many users and missing the opportunity to unlock the power of a network. Instead, with the application of consistently approaching everything with high levels of opinion teams find themselves in the situation of many easy wins that can be acted upon with little to no downside.
Today, many members of the crypto industry experience this most commonly when choosing the place that they prefer to bridge. Competing almost entirely on user experience, token bridges remain a piece of the industry that has been expensive and slow from the day of launching to today.
On Blur, an NFT marketplace aggregator, the user interface has been designed to prompt users to select if they are a Collector or a Trader.
With just a simple button, the user interface shifts from being designed to enable to simplest and nicest browsing experience of NFTs:
For Collectors, the focus often remains on the art that is being purchased. With care placed in the visuals of their purchase, it is important to them that they buy something visually appealing so the pictures have been put front and center. Removing elements that inform on actionable market state, the discovery of new traits and unique tokens has been prioritized with the utmost focus.
To be designed for the Trader, maximizing screen real estate with trading information that helps inform on all the context needed to make the best trade possible.
Having lowered the importance of the visuals of the digital asset the user is buying, a live feed of market depth is introduced that shows the historical record of the trading activity for the collection they are browsing. No extra configuration. No special account or premium payment. Just a simple click of the button and instantly the Trader is catered to.
Critical to note, is that prior to Blur essentially every product had specifically aimed to serve either Collectors or Traders, but never both. The backend functions of the two remain identical beyond a few application elements that simply represent the data of the protocol.
With a single move, they were able to capture more market share than any other marketplace simply because they created the perception that it was designed to serve every user and that it was the primary place to shop for non-fungible tokens.
Through this lens, the idea of building Highly Opinionated Interfaces seems rather simple on the surface. But, the question to ask yourself is if it was simple, why doesn't everyone do it?
In reality, it requires a deep level of understanding for your users and their preferred experience. It takes constant iteration and being able to run with the ball as it rolls from market sector to market sector. Understanding multiple user personas is a time-consuming task, it is not an easy feat by any stretch of the imagination.
In recent years, decentralized social media protocols have gone parabolic with the launch of Farcaster, Lens, and more. With many focusing strictly on the protocol level, the development of the applications has been promoted to developers in search of custom-built applications designed for a very specific cut of the audience.
With an army of developers, a swarm of applications emerge that cater to a different subset. With unique experiences and functionality powered by their development, users can take the entry point that they believe to give them the best experience.
Until very recently, even Reddit enabled this ability to resounding success. For the longest time, Reddit did not even have a functional mobile app and third-party developers stepped in with expert teams and approaches. Eventually, Reddit built their app that effectively stole all the research and development efforts of the third-party apps and then increased the price of the API to a point that effectively killed all major consumers overnight.
Not as sinister as Reddit, Farcaster instead launched a first-class app, Warpcast, to get over the initial hump of lacking engagement and guide the community development in a direction that is much higher quality than the typical open-source community.
The Truth of Primitive Usage
Amid the excitement surrounding the potential of onchain primitives, a sobering truth emerges: the mere existence of well-crafted primitives does not guarantee widespread adoption or usage by external parties. While these building blocks hold immense promise, their impact often hinges on how they are packaged, shared, and maintained. Acquiring developers for any ecosystem is extremely hard and if a significant amount of effort isn't invested it's unlikely results will magically manifest.
Even the most sophisticated and versatile primitives, when left in isolation, face challenges in gaining traction. Despite their potential to catalyze innovation and streamline development, the reality is that primitives, in many cases, are most often only used in the ecosystem of their origin.
Yet, while it is uncommon today, that is largely because the adoption-focused effort hasn't yet been invested.
The packaging of primitives as accessible and consumable libraries is a pivotal step in driving external adoption. Primitives that are meticulously transformed into well-documented and easy-to-use libraries become assets that others can seamlessly integrate into their projects. It requires the delicate crafting of supporting materials that empower developers across the community to build upon the foundation laid by the original creators, extending the utility and impact of the primitives. Without doing this, the new primitive will never be adopted regardless of the theoretical value it contains.
It is not as simple as writing a pretty README. Like a normal product, any new consumer of the codebase will have to be taught how things work and the ways that they can use this very low-level product.
Beyond packaging, ongoing maintenance plays a crucial role in determining the fate of primitives. Regular updates, bug fixes, and support are vital to keeping primitives relevant and effective. Neglecting maintenance erodes the credibility and reliability of the primitives, causing potential adopters to hesitate or seek alternatives.
To break the barrier between the exclusive realm of primitive creators and broader community adoption, proactive efforts are required. Organizations and individuals must recognize that the true power of primitives lies not solely in their creation but in their accessibility and usability for both the developer and end-user.
Maintaining a Focused Opinion
With this approach of building products with extreme levels of opinion, a product can more strictly define who the product is and isn't designed for. While the concept could apply to countless products for countless users, the use of opinion drives the strict focus of a few chosen audiences at all times. Even as you grow, the phase of acting upon the monetum you've established does not include expanding your audiences, but amplifying the value of the product and in turn value of your users.
To remain effective with this development model you mustn't forget who you are building for and why. You have to be willing to say "no." If you are not willing to remain principled your product will end up being worse had you just follow a traditional roadmap.
Needless to say, someone asking for a feature is not proper justification. While users are always correct in their desires, they are not always right in the method of delivery. Listen to what frustrates your users and optimize for the most effective solution.
Thankfully, this becomes easier as the foundation of one's niche is established. The concentration becomes simpler to maintain and the future focus begins to become more clear. Over time, your users begin to understand the way you approach development and provide paths that you can simply walk upon. Weaving from each focused piece, a tree of potential product paths emerges to drive a robust network effect that is not just self-sustaining, but that shares the benefits across nodes.
With all this said, it can be simple to think that you already apply this type of thinking, but there is a simple way to determine for sure:
- When a feature is proposed, do you first confirm it falls within the rails established and enable the ideal user to have a better or more full experience than before?
- Do you decline the development of a feature more often than you approve one?
- Do you always focus on the thing that would enable the user most in satisfying their desires?
If not, you probably aren't applying the opinions you have very strongly; even if you have a lot of them. In reality, by taking this approach you will find yourself acknowledging the simple truth that your product was not designed for a given set of users because it has been designed to serve another.
Highly opinionated interfaces break away from the traditional approach of trying to cater to everyone's needs and instead focus on serving a specific target audience. You don't have to worry about the balance of keeping everyone happy or dread the inevitable defense from the chaos when a given set of users are not satisfied with the capability.
Rather than trying to please everyone, highly opinionated interfaces are designed with a clear vision and set of values. They embrace a specific perspective or philosophy and make intentional choices that align with that viewpoint. They are unapologetic in their design decisions and prioritize the needs and preferences of their intended users.
In a world where individuality and self-expression are highly valued, highly opinionated interfaces provide a way for users to consume a product or experience in a way that aligns with their self-perception and social integration. They allow users to engage with a product that reflects their own beliefs, values, and tastes, creating a sense of resonance and personal connection that cannot be matched by a product that has been designed for "everyone".
Driving Network Growth with Referrals.
The crypto industry moves swiftly. It is constantly changing and is extremely volatile in sentiment which means you must have a robust go-to-market strategy. Unlike traditional m...