Should you build on someone else’s platform? (OPP)
There are pros and cons to each choice, but in the interest of framing my own thoughts about platforms I decided to write in favor of building on OPP (other peoples platforms)
The strongest case in favor of building on someone else’s platform is synonymous with building a lean project and getting to a minimum viable product as fast as possible. “Getting to the demo phase” is always of paramount importance.
Using someone elses platform lets you leverage the time and effort they put into building out their infrastructure and provided you trust it, precludes you from having to build that framework. By leveraging the technical resources, usually of an entire team, you are literally abstracting that work from your own roadmap.
Development resources aside, you can also draft off of the mindshare of a platform. If people are spending their time somewhere, its a great reason to get in front of them. This is not the same as advertising if you are using their data exhaust to enhance their experience and actually make it better.
In the case of Twitter, they enable a communications platform. This instantly gives you reach and distribution than is easily trackable, as well as low friction to get things done. In this case Twitter also abstracts user accounts while using their OAuth system for logins. Great examples include Tweetdeck, Seesmic, Flickr, Disqus, and many more. At the bottom of this post are 40+ services I have authenticated with the Twitter platform.
In the case of Foursquare (disclaimer: I work at Foursquare), we enable a location platform. This instantly gives you context of places, intent, and activity for users. Foursquare also abstracts user accounts by providing an OAuth system for logins. YipIt is a great example that has built customers off of the previous intent of Foursquare users. This is a win-win for both companies and for users.
In the case of Facebook, they enable a social platform. Getting connected to a social graph where people spend their time uploading photos, connecting with friends, and spending a lot of time online you are presented with a great platform to introduce entertainment. This exactly what Zynga did, and now benefiting from that solid base, moving to establish their own beachhead of first game play, as well as future game plays. Again, using a OAuth user system, Companies can connect, manage, and build a richer experience faster than without the platform.
Being able to authenticate your “new” users, and populate their accounts with rich data is an amazing first step in user acquisition. When attention spans are short, and new signup forms are long, the ability to OAuth into a trusted platform affords you the stability of the backend system, while offering a comfort and familiarity to the user.
You can hopefully see from my examples (Foursquare and Twitter) that services are actually made stronger by having so many hooks to different services.
In a rising tide raises all boats moment, the web is exceedingly made better because of platforms – and I think its smart to continue building on top of them.
While it is possible there could be a downside and things could change with the platform, usually things are messaged well ahead of time in a clear and concise way. There are a few instances where this is not the case, but it is usually in a platforms best interest to make sure that developers know what changes are coming soon.
To address the things that should be considered I have broken them out below.
As we learned with Facebook and their API the user data collected from sessions should be enough to keep a service up and running. Now you can actually replicate this data so that the user essentially becomes a true user of your system.
Building out features
The idea of a platform building out features that are actually considered full apps made by individuals elsewhere can be a scary one. For starters does this make the platform a kingmaker? The flip side is of course if you are the “feature” that is included in the core platform in the form of an acquisition either of assets or with a job.
This is always a concern – but if a platform actually pivots, and changes directions, then you can be left without much of a foundation any more. Although I do not have a good example of this happening in recent memory I still wanted to list it as a concern.
For the reasons mentioned above and countless examples of success stories that start on a platform or utilize one (see Zynga) there is a strong case in favor of building on top of a platform.