Modular dApps 🫕
Yesterday, I claimed that blockchain is an application melting pot. The term melting pot is usually used to describe mixing human cultures and traditions. Applications aren't exactly culture, but they can still be mixed together.
In traditional software, businesses constantly have to make decisions about whether to build their own solutions for problems or use someone else's solution. It's almost always the better decision to use an existing solution. Building your own is very expensive in the long run, and can slow down your ability to do business now. You only want to build your own software when it provides a competitive advantage that you don't want to share with other businesses. Google's search algorithm is a competitive advantage. Google's employee payroll management software is not a competitive advantage.
For most things you want to build, there's usually an open source software library you can use for free or a software-as-a-service business that you can pay a small monthly fee. These options are almost always better than building your own from scratch. Focus on the 1% that makes you unique, outsource the rest.
Applications built on blockchain have largely ignored this wisdom so far. If you're building a social network, you need a username service, so you build it yourself. Instead, why not use .eth ENS names in your app?
The melting pot of applications works when you mix together existing applications with your new pieces. This saves you time, strengthens existing applications, and makes it even easier to onboard users to your dApps.
P.S. This only works when existing dApps can be easily integrated into yours. You don't see experiences to register a .eth username outside of the ens.domains website. Design your dApps with modularity and portability in mind.