A recurring theme in my conversations is the question of platforms. How do I get one? Do I have one? How do I know? Platforms — especially developer platforms — are a really exciting topic for me, so I tend to see opportunities to build platforms in every software project. For engineers who’ve worked with platforms, it’s a common affliction. So here’s a note to self (and y’all who have the same “platform bug”): watch for platforms to emerge.
It’s healthy to be ambitious, but the problem space, especially at the start of the project, might not be platform-shaped. Platforms are two-sided markets, and all vibrant two-sided markets begin with one-sided markets. First, there needs to be something that we offer that the users want. Until that exists, a talk of a platform is premature. Even after we have a great one-sided market going, the problem space might still not be platform-shaped. So… how do I know when it is?
My intuition is to look for exaptation as signs for an emerging platform-shaped hole in the problem space. If there are users of our product who are trying to tweak it, publishing hacks and tutorials, maybe even writing companion scripts that do something other than we originally intended for the product — that’s exaptation. Watching “the street find its own uses for things” is rather uncomfortable, because we all have ideas on how our products should evolve. It takes a certain flexibility of thinking to view exaptation as the ecosystem hinting at the platform opportunity, but that’s exactly what will get you to a thriving two-sided market. Put it differently, platforms aren’t built. Platforms emerge.