Sharing ideas with the world

Tuesday, November 01, 2011

Platforms And The "Other" User Group

10:54 PM Posted by Deepak Nayal No comments
One of the key reasons for success of many landmark technology products has been their transition from product to a platform. This is probably one of the worst kept secrets and one of the best understood business lessons in the world of technology. The greatest thing about being a platform is that, besides you, other people also invest their time and money in your product, as their interest gets aligned with yours. Some of the most famous and successful platforms are Microsoft Windows, eBay, iPod, iPhone, iPad, Facebook, and Twitter. But what is a platform and how is it different than a product? The relationship between these two can be explained best by sets. While a product (a subset) provides a utility and solves a problem, a platform (a superset) is a product on top of which other products and services are also developed. 

So when do you know that a product has become a platform? When an ecosystem starts to thrive around it. No product is a platform from day one. I believe there are two key requirements for a product to be a platform. The first and the most important is obviously that it has to be a good product to begin with that solves an actual user problem. And the second is that the product should extend its features/services and make it easy for other products and services to utilize them. The first requirement is pretty obvious. The second one, in the world of technology, maps to managing the developer community and to extending product capabilities and features via interfaces that these developers can use. All of the successful technology platforms mentioned above, and many more, extend their products using interfaces that other companies and developers all over the world use for their own offerings. 

Developers are like the "other" users of a product. While, companies need to focus on customers for building products, they need to focus on developers as well for building platforms. This obviously eats into resources of a company, and is probably the reason why it is particularly hard for startups to establish their products as platforms as they are always running low on resources. 

Types of Platforms 
There are many technology platforms out there, and these can be broadly divided into two main camps. The first allows development partners to showcase their offerings to the consumers, and the second allows them to leverage that platform for creating applications that can be used by the enterprises. The iPhone is a great example of a platform that is used by many developers all over the world to reach out to millions of consumers. Twitter, on the other hand, comes in the second category and is used by the developers for mining its firehouse for information that is useful for the enterprises. Facebook is unique in this case, as it allows both, developers to reach out to the users and also to mine the data useful for enterprises. 

Developer Community - Key For Any Platform 
No matter which type of platform a company wants to create. As long as it wants to create one, it will have to put in the effort for managing the developer community, in addition to managing the user community. There are three key elements that technology companies use for doing so - 

  • Application Programming Interface (APIs) - Good API is key for a successful platform. Developers will be using your API to leverage your product capabilities, so when you are thinking about good user experience for your product, you need to consider this "other" set of users as well. A well designed product will not just have good and comprehensive user interface, but also a neat set of APIs. Complex and difficult-to-work-with APIs will just discourage developers from using them. There is a lot of useful information available on the internet that can guide you for creating a good set of API. Apigee particularly has good library of API best practices.
  • Documentation - If developers are your users, then your product code and architecture documentation is like their user guide. And just like a good product has a good, tidy and comprehensive user guide, a good technology platform also requires good, tidy and comprehensive developer documentation. 
  • Social Networking - Just like successful products engage with their users, interact with them and provide the platform for them to interact with each other, good technology platforms also engage their developer community and provide the platform for them to interact with each other. Events, blogs, discussions forums, tweets and networking sites are some of the ways that technology companies leverage social networking for their platforms. There are many tools and services available on the net that can be used to create a good developer community

Creating a good product is definitely not an easy job, let alone creating a good platform. However, following good developer and architecture conventions and standards from the beginning can help you transform your product into a platform much easily when the time comes. In case this is not considered upfront, doing it later can prove to be a tough job. Developers and consumers are like two faces of the same coin as far as a platform is concerned. Technology companies cannot afford to ignore anyone of these users.


Post a Comment