How do you build a platform that foster participation while creating value for all the users? How do you provide tools that make it easy for consumers and producers to have positive and rewarding interactions?

Platforms are complex structures and deciding what to do and where to begin in designing a platform is not an easy task.

Interactions on platform are very similar to any other social or economic exchange, whether it happens in the physical world or in the virtual one. In every exchange, producers exchange three things: information, goods or services and currency.

Everything starts with information, because it is information that the involved parties need in order to decide whether they want to move forward, and how, in each interaction and exchange.

Sometimes, the exchange of information is the main purpose of the platform itself, like in news forum like Reddit; in other cases, the information is needed to move forward with the exchange of goods or services; but in all cases, the exchange of information needs to take place on the platform itself. That is a fundamental characteristic of platform business.

After information is exchanged, users can move forward to exchange their goods or services, whether they are products on Amazon or photos on Facebook. Finally, transactions are concluded using currency, in the form of money, Bitcoins or likes.

Core Interaction

According to the authors of the book Platform Revolution: How Networked Markets Are Transforming the Economy and How to Make Them Work for You, platform design should always start with the core interaction.

The core interaction is the single most important form of activity that takes places on a platform–the exchange of value that attracts most users to the platform in the first place. The core interaction involve three key components: the participants, the value unit and the filter. All three must be clearly identified and carefully designed to make the core interaction as easy, attractive, and valuable to users as possible. The fundamental purpose of the platform is to facilitate that core interaction.”

(pp. 38-39).

The Participants

There are usually two types of participants in a core interaction: the producers, who create value, and the consumers, who consume it. In certain platforms like Airbnb, for example, the same user can assume different roles in different interactions, and be a producer (host) or a consumer (guest).

The Value Unit

On Amazon, for example, the value unit is the product listed for sale. In most cases, the core interaction starts with the creation of the value unit.

The Filter

Filters are key to delivery only potentially useful information to the right consumer, to avoid flooding them with irrelevant value units. Poorly designed filters can be very frustrating for the customers. An example of a filter is a search query. When someone is looking for a Uber’s driver, the filter selects only those drivers who are close to the customer.

The basic structure of a core interaction is:

Participants + Value Unit + Filter -> Core Interaction

The Crucial Role of the Value Unit

Platforms, in most cases, don’t create value units, but they are mostly “information factories” that don’t control the inventory. They usually promote a culture of quality control and develop effective filters, but they don’t control the production process, like the traditional pipeline businesses do. However, it is important for a platform to determine how value units are created and by whom, and how they are integrated into the platform.

Pull, Facilitate, Match: The How of Platform Design

“The core interaction is the why of platform design”

To make core interaction possible and almost inevitable, the platform needs to be designed in a way that attract always more users by making sure that core interactions occur in significant numbers.

In order to accomplish it, a platform need to carry out three main functions to encourage an increase in total interactions: pullfacilitate and match. The platform needs to pull (attracts) users to the platform; then it needs to facilitate transactions by providing effective tools and rules; and finally it must match users properly, so that the right consumers will find the right producers.

The End-to-End Principle

A platform needs to evolve, it is impossible not to change over time and stay relevant, but changes should be planned carefully. In some cases they can be added as the platform evolves and new needs and opportunities are created or discovered. However, adding features increases complexity and if not done properly, it may end up disrupting the core interaction, with potentially negative effect for the entire platform.

Needless complexity can also create problems for the programmers and platform managers and lead to the so-called bloatware, a software environment that has become too complicated and inefficient.

The end-to-end principle may help guide platform developers to maintain a healthy balance between changing slowly the core platform while allowing the development of positive adaptations at the periphery of the system.

According to this principle, the more peripheral a feature is to the core mission, the more peripheral it should be on a network, or in this case, on the platform. If only some users need it, then it should be located at the edges of the network and not in the center. By following this principle, secondary functions don’t interfere with the core activities of the network or platform. This will make the system run more efficiently, and it allows growth without disrupting the core functions of a network or platform.

The failure of Microsoft’s operating system Vista is a good example of what not to do. The design team, in an effort to maintain backward compatibility with older computer systems, while at the same time adding new features needed in the systems of the new generation, added old and new features all together in the core platform, making Vista too complex and unstable, and very hard to work with for the developers who were trying to write code for it.

On the other hand, in a similar situation, Apple successfully “compartmentalized” the old code from the operating system OS 9 when incorporated the new technology acquired from NeXT to develop the new OS X. Because of this separation, the old code didn’t slow down or add complexity to the new environment.

Similarly the end-to-end principle can be used in the design of a platform.

In this case, the principle states that application-specific features should reside in the layer of process at the edge or on the top of the platform, rather than at the roots deep within the platform. Only the highest volume, highest value features that cut across apps should become part of the core platform



While it can be worthwhile to get an integrated system up and running as quick as possible, the best way to build a platform in the long run is to use a modular approach. Modularity is a strategy for organizing complex products efficiently. Modules are designed separately, but they are built to work together as a coordinated whole. Modules need to have the same design rules so that they can be connected and can communicate through the use of standard interfaces (APIs).

Iterative Improvement

Platforms cannot be entirely planned; they also emerge


Careful attention to the principles of platform design will increase the chances of a successful product, but because the activity in a platform, differently from traditional business, is controlled mostly by the users, it is almost inevitable that they will use the platform in new ways. Therefore, it is important to be ready for organic and spontaneous change. For example, the use of hashtags, so important currently on Twitter to find content, were not an available feature initially, but they were suggested by an engineer at Google and then adopted by the platform.


Link to the first part of this post:


Enjoy this blog? Please spread the word :)