Facebook applications are awesome – and a good number of developers and agencies have committed to themselves full time to developing applications for themselves and for clients. We all see huge potential for being able to interact with users on such a personal level, so easily. Relying on other services is a big component of this generation of web applications in general. The ability to import and export data out of other services freely using publicly available APIs really lit a fire among coders, hackers, and entrepreneurs. I’ve used other people’s APIs to create a few things of my own (including a bunch of FB apps).
The problem is, it’s not yours.
* You’re running your business on other people’s property – They can kick you out an any time, for any reason (or none whatsoever).
* When it goes down, you go down – I’ve encountered periods of extreme frustration when something goes down (say, the Facebook Platform), and thus, your application breaks or disappears altogether. Good programming and redundancy can mitigate that **some** of the time, but otherwise, you’re stuck whining “it’s not me!”
* Who says they’ll stick around? – Similar to above. Unless they are an established and stable company (and what company is in the current economic state), they have to be concerned with their own profitability. Who says they won’t go belly up, leaving you SOL?
* You have no control – A slight change in the way things work can throw everything off-kilter for you, and you have no control over that. That happened to me last week, and, as responsive as they may have been, I still had no technical ability to stop it or change it back. You just deal with it.
* There are no guarantees, and no responsibility – You’re using a free service, most of the time with no SLA. While they may have you agree to something, there’s nothing on their end.
* You are just a feature – All too often, I’ve seen things that rely so heavily on external systems that it’s really nothing more than a nice little feature, a tool that helps someone use the primary service.
* You are replaceable – If you really are just a feature, who says you can’t be replaced. Everyone was yammering about social.im a few weeks back – so much for that. (there’s a rumor that they were acquired by the big blue giant, but I highly doubt it).
I’m not saying that you shouldn’t ever develop an application that relies on any external system. But you shouldn’t put all your eggs in one basket – diversification is the only free lunch.
The question we kept getting for WGS was “why don’t you just build this on FB” and we kept pointing out the same things. FB is great as an end point, but being wholly and completely dependent on someone else isn’t a business model, it’s being a parasite… symbiotic or not.
Parasite… good term!
I completely agree.
“Don’t let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you feel the heat around the corner.” – Robert DeNiro in Heat