Inspired by the book Made to Stick – Why do some ideas thrive while others die? by Heath brothers, I would like to give it a try on software platforms rather than the ideas covered in the book. Although the computer industry is still relatively young compared with other industries, it’s quite dynamic and we’ve seen some platforms came and died while others came and thrive. So, what are the general characteristics for such sticky platforms?
The authors of the book summarized the 6 principals to make ideas stick, meaning the ideas change either the thoughts or/and behaviors of the receivers. These principals are Simplicity, Unexpectedness, Credibility, Concreteness, Emotions, and Stories. They are shortened to SUCCESs for easy memory.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
Most of these principals don’t apply on software platforms. Unexpectedness, for example, may be the last thing you would like to see of a software platform. For software platform, we definitely need predictability, among other qualities.
After thinking the problem over, I summarized 4 basic principles for a software platform to stick: Simplicity, Extensibility, Ecosystem, and Developers, in short SEED.
Technology is a mean, not the end. Same is true for a platform. Most users use it to get their jobs done. The simpler the platform, the better. The picture I used for my vSphere Java API presentation is two pictures: one person coding overtime, and the other golfing. The rationale behind is that you want a better tool to get your job done and then enjoy life.
The simplicity can result in wide adoption of the platform, which is the key to sustainable business behind the platform. Economy of scale by the adoption is very important for any software, and even so when it comes to a platform. When a platform is mature, it inevitably becomes a commodity. When that happens, the economy of scale matters even more. That is why for every arena the industry consolidates to several players in the end.
For a platform, it has to be extensible up and down. On the bottom, DDK/SPI is needed to cover a variety of hardware and devices, or lower level platforms. On the top, SDK/API is needed to enable a wide range of products and solutions, and integrations with other platforms.
Extensibility means that the platform will have impacts and influences on a wide spectrum of hardware and software. Given this, big companies always want to have a control over the APIs. In other words, if you want to be a big company, better to win an API war.
An ecosystem means many different things depending on who you are and what you do. Here I more focus on the business side.
To have a good ecosystem, rich product/solution portfolio is a must, both horizontal and vertical. Why? Most time, a platform itself does not solve business problems directly. You will need a product or a solution to help out.
Most ecosystems grow from building the product portfolio to extending the solution portfolio. The more mature an ecosystem is, the more products/solutions you can find in the marketplace to address your specific business needs.
Beyond the product/solution itself, you will also expect to easily find related services like consulting, training, publishing, etc. If you want, you should be able to get a turn-key solution delivered onsite.
Every technology is about people, those who develop them and those who use them. Once you have developers, half of the problems solved.
A key index for success of a platform is how big your developer community is. It’s natural that most developers build software using the platforms they are familiar and comfortable with. It means the more developers who know the platform, the more products/solutions to be built on top of it.
To attract more developers, commitment and enablement are crucial. I summarized a formula as CO2 in one of my previous blogs.
“All great, but why no openness?” you ask. I assume you asked the open standard and open source in general. A great question!
After looking back at Microsoft Windows and Apple MacOS, you know being open is not as important as we anticipated. Why is that? A question left for us to think about.