Today we return to one of my favourite technical topics : building technical platforms. Since I started writing on this topic since early last year, I have spoken to a lot of confused product managers who didn’t quite get what I was talking about, and had a completely different mental model of a platform. I have also met a lot of developers who say “we are building a platform for X or Y or Z” when they really are building a product for X or Y or Z. This has now become a bit of a pet-peeve of mine, so I want to take another shot at clarifying matters. This post is going to sound a little rant-y.
Quick thought experiment – When you hear the word “platform”, what is the first thing that comes to your mind. Other than railway platforms.
For most people, likely it is Amazon, Uber, AirBnb, Doordash or something on these lines. What is common to all of these – they are all two or more sided marketplaces. What else is common among them – NONE of them are platforms.
Before the outrage begins, let’s consider definitions.
What are these things?
A market place is a place/system where 2 or more parties come together to exchanges good/services for some compensation (usually money). It forms a neutral ground which matches parties looking to do a transaction (Uber matches drivers with riders) or allows them to discover each other (Airbnb guest can find hosts by searching the listings). It may also facilitate the said transaction by offering some services (e.g. Amazon will deliver something from a seller’s warehouse to a buyer’s doorstep)
What then is a platform? A google search gets us this.
And this is the cause of all the confusion. The idea of a “platform” has become completely intertwined with “matching parties” in currently prevalent business-speak, which interprets it in the sense of a stage (a “platform” to showcase your talents/goods/services to potential patrons/buyers/clients).
The original, technical context of a “platform” is vastly different. A platform is a tool/set of tools which allows parties other than the platform owner to build new products/services/experiences, in exchange for payment to the platform owner. The platform and its capabilities are just that, general purpose, reusable capabilities. It offers nothin of specific value to anyone other than a builder who can leverage the platform to build what she wants.
Read in this context, Amazon is a platform only in the business sense – but I cannot use Amazon to build anything new. AWS, on the other hand, has been the birthing ground for so many new things in the digital world. You can pick any of the dozens of things on offer, combine them with other things from elsewhere, and create your own magic (e.g. Netflix runs off AWS).
Another cause of the confusion is the hands-off stance of both marketplaces and platforms towards who is using them and for what. Marketplace say “we don’t own the transaction, we just facilitate it” which is very similar to the technical platform stance of “we don’t know what you are building, but here are some capabilities to help you along”.
So I will repeat one last time – unless you can use a thing to build something new and completely unrelated to it, it is not a platform. In tech-speak, a platform is an externally programmable system.
I have one more argument left, one that might be even more clear to business folks.
Platforms have no network effect, marketplaces do
Marketplaces and Social Media “platforms” today offer the most accessible example of what Brian Arther calls the “Law of Increasing Returns“. Them that has, gets. The more sellers there are on a platform, the more buyers will come there. The more buyers there are, the more sellers will come. If we can get a critical mass of demand and supply of good and services on a marketplace, this “network effect” causes a virtuous cycle with more and more people gravitating towards it just because everyone else is on it.
Platforms have no such effect. A well made, useful platform might get good traction because of word of mouth and an increasingly large community of users as compared to its competitors in the market, but there is no commercial flywheel saying more makers will choose a platform because some makers are choosing it. There is no demand and supply on a platform – hence there cannot be any feedback loop.
I hope this little piece helps you deciding what is a platform and what isn’t. Product are not platforms. Marketplaces are not platforms. The warehouse management system you wrote for your company is likely not a platform . SaaS businesses are often platforms. Operating systems are platforms. etc etc.
Read Next : APIs are not Platforms
If you liked this, subscribe to my weekly newsletter It Depends to read about software engineering and technical leadership