Every single developer application I use has a way to augment itself through extensions, a common land and expand strategy for dev tools & platforms!
When it’s not a tool it’s an API!
Pick any of these dev tools and look at how they’ve created an ecosystem of apps that improve their core functionalities: Github, iTerm , VScode, Insomnia, Postman…the list goes on!
Let’s dig into why so many companies go through the hassle of creating an incredible product and then open up the gates for letting others build incredible apps on top of their product!
tl;dr: One of reason is value; the other is growth loops!
Build layers on top of a foundation
First and foremost, using extensions, apps, or add-ons in a developer platform’s ecosystem can lead its users to gain a substantial increase in productivity.
An extension can add missing functionalities to an existing platform; for example, think of an autocomplete search engine to a website or, to pull an example from a dev-tool, a code beautifier plugin for your favorite code editor! How many times per day does it beautifies my code without me lifting a finger?
By integrating additional tools and features, developers can build new workflows and increase their own productivity. As a developer, you must be able to relate: the more I can automate, the happier I am – that’s why I have such a long list of aliases in my .zshrc file!
Customizing your experience
Extensions allow your experience to be customized: developers around the world love to spend hours customizing their tools, whether it’s a terminal client (such as Warp) or an app launcher (like Raycast), to be scaled according to the needs of a business. They can add or remove to their experience based on their personal requirements without affecting the core functionalities.
Meet your people
Many developer platforms have active communities that create and share extensions. For example, Shopify has a thriving ecosystem of developers building apps for Shopify. Similarly, in the dev world, people like to gather around a community on Github, IRC, Slack, or Discord to collaborate on ideas to make the core app better, supporting each other’s journey and providing feedback. This collaboration leads to innovation, leads to creating connections and support-network (think of the help you get from OSS maintainers), and ultimately creates a sense of belonging for the people involved.
Revenue generation attracts devs
Some platforms allow for free, paid, and freemium extensions. That means there’s an opportunity for any developer who is building an extension to generate revenue. Developers can create hyper-focused extensions that solve a specific problem and offer them to other users at a price.
Some older developer tools can remain competitive because they can rapidly adapt by letting extensions add features that they would otherwise not be able to support. VScode is a good example of a platform that has seen an immense amount of AI tools appear in its marketplace! Another option that comes to mind is the Insomnia RESTful client!
Great and free marketing
With the ability to add pre-built or community-developed extensions, you can further market your core platform. It adds a new layer of marketing for you. Think about it:
- Each person creating or using an extension will probably at some point mention how a certain extension has improved their life. Word of mouth marketing right there!
- Additionally, this creates user-generated content to spread all over the web. Resulting in improvements in the SEO for the core product!
Nothing is truly free and happy
There have been instances where a developer has brought a tight lock to a marketplace or a platform, here are two examples:
- When Shopify decided to ban Mailchimp from its app store over a consumer-data dispute but then they became friends again: I remember this clearly because everyone was shocked that Shopify would ban a developer app in the first place, especially one that truly makes sending emails so much simpler for its user. Now I know what you think – this isn’t an example of a dev tool…
- When Twitter decided to limit its API access by gating it: vastly reduced volume and increased prices by a ton. Couple of weeks later Reddit did a similar move which created tons of backlash: now there’s no doubt the API is a developer tool of some sorts, it’s not an application with a user interface that you can just install, but it does count!
So should you build an app or add-on ecosystem into your app?
Add-ons represent a flexible way to enhance products and services.
It costs time and investment in developer experience, community, and code maintenance. The company or individual(s) maintaining the core product have to develope the tools that allow for add-ons to exist.
In some cases the marketplace owners can takes a cut of extension revenue, creating a new revenue stream.
Additionally, using analytics from their own marketplace, can result in finding insight into popular use cases and developer needs, allowing better roadmap planning for the core product team!
The pros explored in the above piece are, in my opinion, making it super worth it to create an ecosystem for plugins, add-ons or extensions of the core product. Letting the world build on top of your platform means you are adding, potentially, infinite value to both developers building on or using your platform!