This is why you should never build a startup/app based on someone else's API especially when that someone else doesn't take money from you. Seriously, who would want to run a business that is completely dependent on someone else's choices?
I've often pondered whether there exists an alternate universe where Facebook could provide a social platform at a cost much like how Amazon provides a computing platform for money.
If you want to build a social app, especially one that works tightly with facebook, you're going to end up building basically your own social network that synchronizes with facebook at various points in time (for comments and whatnot) and also performs feed fanout/distribution. If you anticipate hitting scale, this can be tricky to engineer properly. Facebook clearly has the framework developed for doing all of these things but since their API lacks a real strategic purpose (other than to trick companies into a hostile dependency with Facebook), it is under-designed and frustrating to use.
If Facebook were to offer a service where they would charge some amount of money for an app to get an app-specific feed of friends, feed of yourself, list of friends using an app, hosting/indexing of open graph objects (read: just the metadata), and notifications on any activity related to your app, I would bet companies would pay. You can do all of this today, but it's a hodgepodge of FQL, periodical scraping, your own distribution, and gross overreaches in privacy.
In other words, if they actually ran the Graph API like a business and not some poorly disguised attempt at being "Open", Facebook could a) add another revenue stream, b) increase usage/engagement on their own platform, and c) save a lot of developers' time.
It can't be done since it would bring the narrative of "Facebook is selling user's data" too close to reality. With the addition of occasional leaks of who is buying into their platform, it would provide media with a constant stream of savoury headlines such as "Facebook is selling your personal information to the CIA" and "Facebook is selling your your personal information to Iran".
I actually think that this could be a privacy _saving_ measure instead of a privacy leaking one, because if it was packaged as an app hosting service it could be sandboxed much more straightforwardly. For example, today, if you want to monitor FB comments on a user's open graph action, you have to request notifications for every time a user's entire wall changes and then scrape their entire wall to find out what changed.
Do I care about all the other crap that happens on a user's wall? Nope. Can I ask for updates only on my apps activity? Nope. Thus you're stuck asking for much more access than you actually want/need simply since the privacy is poorly designed.
The does seems like a strong word. It could be argued that there exists quite a few businesses built almost soley around credit cards for transactions and hence income.
This in turn requires playing by Visa/Mastercard's rules, which is a situation not too dissimilar from the one described above.
Your argument would be valid, but the scenarios you cite are totally orthogonal. Here's why:
1) You don't pay Facebook for their API. If something isn't working, you can't question anyone, nor are they liable to answer you. In short, they are doing you a favor by letting you use their API free of cost.
2) A credit card processor like Visa/Mastercard takes your money, and returns you a service instead. IF something isn't working as it should, you can call them and ask them what's wrong and they are liable to answer you, you can even request a refund, failing to provide which you could possibly drag them to a court, which isn't the case with an free API provider like Facebook/Twitter.
3) When you integrate the Facebook platform as an additional feature to your site, it's totally fine as long as it doesn't affect the core business model, because even if something gets screwed, users will not worry about a tiny missing feature. But when you build a business on top of someone else's API, be it Twitter or Facebook, it's like building a sand castle at the scale of a real world house and expecting it to be there forever. That's how vulnerable your business model becomes, because there is SO much that you have no control over. In the case of a credit card processor, they don't control your business model, they just do you a service in exchange for money, which is totally different, and you can change providers at a later stage if you find them unsatisfactory, which isn't the case with building something on top of an API like that of Facebook's/Twitter's.
I welcome your additional precision and those those are good points.
However, I think that you should hold the word "never" to the same standard.
I certainly used to preach the same view as you to anyone that would listen, but over the years I've seen many successes that violate the rule. Rationally speaking "never" does not make sense.
One needs to evaluate (among many things) the risk of being shut down, how much benefit can be extracted before termination, and what the overall cost (money, opportunity cost etc) and benefit is etc.
"Zynga's first game, Texas Hold'Em Poker, now known as Zynga Poker, was released on Facebook in July 2007."[1]
Yes Zynga suffered immense hardships because of the Facebook reliance, but Pincus still built a billon dollar company which would not have happened if he'd taken your advice to heart in 2007.
I agree, but the core product here is the Game itself and not any of Facebook's functionality. Sharing was only an added benefit. If you recollect, the original game was hosted on Zynga's main website (where you could go directly and play if you wanted) and it was served via an iFrame on Facebook's app (this was before even Facebook came up with the app rules of having an iFrame). So, if Zynga, for example, had built a messaging service that was completely dependent on just Facebook's API, like the Start-up in question, I think they would never have seen the money they saw. I agree, 'never' was perhaps too strong, maybe I should have said '99% of the times'.
"There is an inherent risk associated when developing on top of someone else's platform. It's your job as a business creator to identify that risk very early on and mitigate it as much as possible. It is impossible to eliminate. Blindly assuming it's not a risk, can easily lead to large stakeholder management problems down the line."
> Plus, MessageMe actually doesn’t rely on Facebook for most of its growth. It instead uses the address book, which is the same method that other big messaging apps like WhatsApp and Line have used.
Facebook integration looks like an important feature that the app had, but not a completely critical one.
>Seriously, who would want to run a business that is completely dependent on someone else's choices?
Anybody that understands that businesses are interdependent anyway, you can never have total control, and sometimes it's best to give up control (even to the point of sudden death, like this) in order to get some benefits in the short term?
Who said that businesses are only interested for the long term? If someone wanted to make a buck for as long as Google Reader was available and if it was closed down, so be it, would he be "wrong"?
For example the guy that made Reeder, the RSS GR-synced reader of iOS/Mac has made 100 times what he put-in in costs already.
Would you call his decision to build on GR a "bad one"?
Not to mention that he can also adapt his code for some other sync source now that GR is going away, and no much harm done.
You have to think of it like BD. "What's FB going to get from this? What's Twitter going to get from this?"
If you don't have a good answer, don't build on their platform.
We at Vidpresso think we have a pretty good answer... Facebook and Twitter are unlikely to create tools for broadcasters to efficiently show tweets on-air. So we'll do that for them.
Why are they unlikely to do this? Twitter has actively courted big media for years. Old media will pay dollars to new media to dress in its clothes. If there's money to be had from old media absolutely FB and T will build tools to take that money off the table, and if it gets big enough probably pass rules in the ToS to prohibit competition. Have you not been watching Twitter in recent years, or Facebook's old media open graph bait and switch?
if you read closely you will realize that they actually tell you that in advance under the terms and conditions..
Reciprocity and Replicating core functionality: (a) Reciprocity: Facebook Platform enables developers to build personalized, social experiences via the Graph API and related APIs. If you use any Facebook APIs to build personalized or social experiences, you must also enable people to easily share their experiences back with people on Facebook. (b) Replicating core functionality: You may not use Facebook Platform to promote, or to export user data to, a product or service that replicates a core Facebook product or service without our permission.
so developers can do themselves a great deal of good by developing on third-party platforms while respecting the terms and conditions specified for the said platform
Agreed, except that you have to be on a constant watchout for their arbitrary changes to the terms and conditions, which may even contradict at one point - For example an allowed usage of feature 'X' might be suddenly disallowed with no prior notification to the developer and you might unknowingly end up violating their TOS.
For Facebook your question has merit, but what Google kingdom?
In this realm (no pun intended) Google has no kindgom at all. (The few that it had, like Google Reader, it has killed itself).
Except if you include mobile, in which is has Android. But Android is far from Google's kingdom too nowadays: Samsung is more heavily invested in it, and Amazon is doing Fire by sidestepping the Android higher level stuff altogether.
Apple relies on power companies to charge their phones/computers. They rely on network providers to provide enough bandwidth to ensure their user experience.
Your local delivery guy relies on the government to provide paved roads so he can deliver items to you on time.
"especially when that someone else doesn't take money from you. "
Power companies happily take money from you. And... power companies are regulated by the government. Arbitrarily shutting off your power at any time might not go down too well with regulators.
neya stated "This is why you should never build a startup/app based on someone else's API especially when that someone else doesn't take money from you."
I think you misread. He/she stated 'someone 1' = 'facebook itself' and that 'someone' takes nothing from 'someone 2', where 'someone 2' = 'developer'. Nowhere in that equation does 'someone' refer to 'facebook user'. In your example 'someone 1' = 'platform' and 'someone 2' = 'user'. These aren't the same.
No, it's not the same. Apple has it's own products that depends on no one else to function - The iPhone, for example. The power companies are merely an accessory and don't involve in Apple's business model anyway significantly. If power companies were so intrusive, I'm sure apple would have offered a free solar charger or a free car-charger kit. And also, like the other comment mentions, power companies are mere service providers, they take your money and give you a service in return, and there is an obligation to do so. That's not the case with Facebook's API - They have no obligation to do you any favors, it's just that they're giving it out to in a way creatively popularize their platform. I would definitely build a weekend app on top of their API, but a start-up to generate income for life? I doubt it.
Apple has it's own products that depends on no one else to function - The iPhone, for example.
That is simply untrue. No internet = device is useless. No wireless calling = device is useless. No power = device doesn't turn on. Let's just pretend for a second that internet, power and wireless communication don't exist, but the ability to create the iPhone does exist. Would someone have created it?
They have no obligation to do you any favors
You've confused your own statement just like the other person did (see my comment to him/her). Facebook is incentivized to get as many eyeballs on their site as possible. Just as a power company is incentivized to generate power for your house. The difference is that one is a procurement process and the other is a distribution process.