One of the most impressive developments in the web and the mobile phone space has been the emergence of new platforms for software developers to target. The developer’s repertoire is no longer just Windows, Mac OS, and Linux, but Android, iPhone OS, Windows Phone 7, Facebook, Twitter, and many more.
While these new platforms are big opportunities for developers, I always find it quite amusing to see the reaction of developers as they see the platform owners aggressively expand beyond their original domains, for example:
- Twitter buying iPhone Twitter client Tweetie maker Ate Bits and making Tweetie free, as well as releasing official Twitter clients for Android and Blackberry
- Twitter forbidding third-party ads in user tweet-streams
- Facebook demanding that all its applications use its new Facebook Credits virtual currency and the subsequent backlash with Zynga
- Apple making aggressive moves about software translation layers and push into advertising with its new iAd platform
I’m always shocked at how up-in-arms developers can get about these moves. Why? Because this is nothing new in the software industry. Remember when Microsoft bundled Internet Explorer with their operating system and killed off Netscape? Or when Apple bundled iTunes into Mac OS and killed third-party MP3 player developers? Or IBM, widely considered a pioneer in open source, who bundles a full and very closed software stack with its UNIX servers and mainframes?
So, how does any developer succeed (seeing how most developers don’t control the platforms they develop for)? They key is to understand the economics from the platform owner’s vantage point:
- Platform value and proliferation – When all is said and done, the business of the platform owner is to sell and proliferate its platform. So, foremost in the owner’s mind in rolling out a new feature which was once left to third party developers is whether or not that feature adds significant value to the platform. For Twitter, implementing a list feature (where formerly it was managed with custom apps like Tweetdeck) made a lot of sense as it not only helped users with organizing their Twitter usage but also helped to increase the social value of the service by helping users find other users to follow. Likewise, to me, the big surprise was not that Twitter acquired Ate Bits, but that it took them this long to buy/release official Twitter clients for iPhone, Android, and Blackberry.
- New monetization – The full value of a platform extends far beyond the price tag on the platform and the applications being sold. It also includes advertising, virtual goods sales, content, and online transactions which take place. Is it any wonder, then, that Apple has expanded into mobile advertising with its iAd platform or content with its iTunes store? As before, the big surprise to me is that it took them this long to roll out iAd.
- Impact of integration – There are many features where integration into the platform drives significant additional value. Whereas a cute game or widget doesn’t benefit much from being integrated into an operating system/web service, there is significant additional value to an operating system like Windows or Mac OS or Android to have an internet browser integrated, and there is a great deal of value in tying features related to security or virtual currency into a web platform like Facebook.
- Impact on developer community – Despite what developers may believe, platform owners do care a great deal about the effect of their actions on their developer community. It doesn’t benefit a platform to have the owner unnecessarily alienate their developer base or to make the developer’s lives significantly harder. After all, a rich developer community makes platforms significantly more valuable – even giants like Microsoft, Apple, and Google can’t possibly create all the games, music, videos, and features which users may want, nor can they necessarily create better apps/content than specialized third party developers. This means that, by default, platform vendors are generally loath to aggressively push their own applications –- and it in fact requires a significant value-creator from one or more of the reasons above to get an intelligent platform owner to “step on the toes” of their developer community.
Put them together, and you drive a number of conclusions about where platform owners will make aggressive inroads into the domains of their developers:
- The “cost of admission” – If there is a feature or application which is used by enough users that it needs to be integrated/bundled in order to get users “up and running” quickly, you can be pretty sure that the platform owner will build, acquire, or partner with a vendor of applications there. Examples: web browsers and multimedia players in operating systems, social features in social networks, mobile phone apps to access a popular web application/social network, common device drivers in operating systems
- “Platform in a platform” – In war, the side which maintains control of the most important roads and resources will win. Similarly, in business, not only does disproportionate profit tends to flow to the businesses which control the key “gateways” to developers and the change of funds, control of those gateways also enables the business to better shape the consumer’s experience. In the past, this has primarily resulted in platform owners seeking greater control over the development of applications, but Apple has proven that advertising, transaction fees on application sales, and digital content delivery are also key gateways to have influence over. Examples: virtual goods/currency on social network, advertising, development tools, digital content, application store, runtime layers
- “Plumbing” – To a platform owner, the platform’s inner workings are sacred. After all, a platform’s performance and ability to work with content/applications is heavily tied to its “plumbing”. In the same way that you aren’t likely to trust a random stranger to do open heart surgery on you, platform owners are unlikely to trust third party hacks/modifications on their platform’s inner workings and are unhappy when third party developers clog their “pipes” with too many requests/garbage. It should be no surprise that platform owners often restrict access to and limit/prevent modifications to a platform’s inner workings. Similarly, because of the value of integrating enhancements to lower level processes into the platform itself, it is also likely that platform owners will make their own modifications when needed and heavily restrict access (if its granted at all) to those lower level processes. Examples: APIs which tap into hardware-level capabilities on operating systems, quantity limits on social network/web service API usage, device driver creation in operating systems
So, what to do if you’re a developer who doesn’t own your own platform? The following is a quick (and by no means comprehensive) list
- Develop a plan for dealing with a platform owner’s ire: If you go into a business venture expecting everything everything your way, you are likely delusional. This is especially true if you’ve hit a modicum of success as there is nothing which paints a bullseye on your back better than success. The recent Zynga/Facebook spat (although its recently reached a semi-amiable detente) is an example of this. Better to assume, at a relatively early point, that you will sooner or later earn the platform owner’s wrath and come up with ways to prevent/deal with it than to be caught with your pants down when it happens.
- Build the best app: There’s almost never a situation where building the best product isn’t a good strategy, but in this case its a very good one. Building the best product gives you a reputation among users who may put pressure on the platform owner in your favor. It also gives you a shield, especially if your app goes above and beyond “the cost of admission”, by making it harder for a platform owner to take market share from you (i.e. the strength of Oracle’s products have allowed it to maintain its lead position in databases despite attempts from IBM and Microsoft). It also gives you more options as it gives the platform owner a reason to acquire/partner with you rather than with a competitor.
- Make your app flexible: Flexibility creates more options for a developer. It allows the developer to potentially work with additional platforms, thus creating a larger user base and an “exit strategy” if one platform becomes too hostile. It also allows a developer to more rapidly release new features or cope with platform changes. In the case where a platform owner is also considering acquisitions/partnerships as a route, the more flexible developer has a strong leg up in that he/she can more quickly integrate with the platform, as well as provide a more competitive opponent to take on.
- Ally yourself with other developers: I pointed out earlier that the reason a platform owner exists is to sell and improve the value of the platform. Because of this and because the value of a platform is dependent on having a vibrant developer community, platform developers are loath to make aggressive moves which may alienate that community. To that end, aligning oneself with other developers can help amplify one developer’s protest when a platform owner makes an aggressive move encroaching on your turf.
- Create stickiness: There are many ways for developer “Davids” to tilt the battlefield in their favor against platform owner “Goliaths”. Building in social functionality (i.e. social games) so as to force users to give up connections with their friends if they switch to another vendor is becoming increasingly common as a tactic to develop stickiness. Linking your applications to other commonly used applications or services is another way (i.e. pulling in data from Google and Twitter). It may be an uphill battle, but its not a hopeless one.
It was great that there was a time when one could be a success just by building cute Twitter mobile applications that don’t do anything more than access Twitter’s basic API, but such a strategy was never going to be sustainable. And the same thing is (or will be) true for a lot of the other new platforms.