Creating a application platform is about power. Each user is a human and each minute of their lives which involves your platform or application is a minute of their lives controlled by you.
From this realization, you get some fairly basic principles: more users is good and more users spending more time is good. But this is the simple one-layer construct which is an application.
A platform is two layers. In order to discuss it, we must first look into the reason platforms are developed. The benefits that having third party application developers utilize your platform include an increased user base and user engagement. What’s not so obvious and the unwritten drawback of creating a platform is the division of power.
In creating a platform, at least commercially, the goal is always control. While the platform’s creator always has some degree of leverage, it’s a terrible situation when the third party application disagrees with the platform and the platform is weaker than the application.
The solutions to this problem include creating first party applications which are compelling and use the platform, to acquire the third party application or to improve the core product.
This division of power causes certain situations where it’s actually unfavorable to create a platform.