Without developers, it is impossible to reach users. Regardless of who came up with the idea or who else was part of the process, developers' hands ultimately craft what people use every day. Developers make technical decisions that shape entire industries and movements.
For platforms, the dependency on developer adoption for success is stronger and more direct than any other type of product. And for new platforms, that presents a unique challenge. Developers only build on platforms with users. And users need something to use, which requires developers to make things. Chickens, eggs... bootstrapping a developer ecosystem is not easy. However, we're here to subvert the dominant paradigm. We're not here for easy.
We want developers to create apps that embrace freedom instead of oppression, consensual opt-in instead of shady defaults, and to build interoperability in from the start. These are the values that are driving platforms like Ethereum and Aragon.
These decentralized platforms are new - with new patterns, primitives, tooling, and workflows. How do we encourage developers to take the time and effort to use these platforms, and not just build their game on Facebook, or run their payments through Google?
Let's explore what it takes for a decentralized project to bootstrap a developer ecosystem with some examples of what's effective and ineffective in developer relations.
Authentic Stories of Success
You're shouting from your Twitter account about how amazing your project is, but you're only seeing a few superfans making Hello World apps. It doesn't matter that you think your project is the best at x, y, z. It matters if people can build meaningful things on it... and that other people know it.
Find every one of the people that built something meaningful and effective with your project and amplify their story - showcase them so that others see their success. Stories of success with your project are the stories that matter for growth.
Aragon is the best at authorization management, transaction pathing, intent forwarding, and covering all of that under a reactive UI that makes interacting with smart contracts easy.
Aragon empowers developers to build meaningful applications and organizations, such as community-governed mesh networks in Colombia, a grassroots-funded space agency, or a fully decentralized version control system.
One of the most effective tools for developer relations is advocacy - use designer and developer feedback as the most valuable guidance for product modifications, while not comprising core product values. If you don't have that feedback loop set up - and strongly guiding your feature prioritization - it's going to be a hard road.
The world has changed. As a developer, I have hundreds of decentralized platforms to choose from. If you don't listen to my feedback, I'll find a platform that will.
The core development team knows what to work on for the next years, and while third-party developers might disagree, they should trust our vision.
As core developers, it is our responsibility to listen to our developers building on the platform, and prioritize their needs so they can build the most meaningful apps on it.
The challenge of communicating the implications and possibilities of non-centralized architectures to developers, businesses, governments, and individuals is one that all decentralized projects share.
People make decisions against their best interests every day (I hate Facebook! ... three seconds later checks Facebook). As platform developers, we need to understand that constraint, turn it into a feature, and optimize for it.
Applications need to be useful for everyday use-cases... and be more private, more secure, and give people control over their online lives. Maybe that seems unfair and impossible, but remember - we didn't sign up for easy when we decided to build applications that reflect our values over just getting rich.
Centralized architectures are terrible because they erode human freedom and create walled gardens to profit off their users without their consent. Each time you build on centralized platforms, god kills a kitty!
Centralized architectures work for many use cases, but... check this out, you can now deploy your application to a global platform that is censorship-resistant! Everyone can use your app, even people behind the Great Firewall in China!
Oh, and have I mentioned that you could make your apps server-less? Yes, forget about DevOps, managing complicated deployments, or scaling instances.
And by the way, forget about authentication! No more reimplementing forgot your password for the 5,000th time. Or sign up, log in, session management and cookies. It's all built in by default! Oh, and all your users have a keypair so that you can encrypt things very easily. No GDPR or other legalese stuff needed!
The intent of this post is not to talk about what Aragon is doing great for its developer ecosystem, but rather to think about what it could do better. The goal is for this knowledge to be useful not just for Aragon, but to help all decentralized platforms meet the needs of developers.
If you have more ideas on how to bootstrap a healthy developers ecosystem or help Aragon do so, you can find us at aragon.chat.
With thanks to Dietrich Ayala for co-authoring.