A very well-written and judicious obituary of Facebook Platform. I started building for it shortly after it launched, in late 2007. I had high hopes for it; I felt I was at the forefront of 'the next big thing,' like others, so I invested a lot of my time into it. I made apps that served millions of people, one of which reached #1 in DAU at one point among all apps (back when they ranked apps by DAU).

As a lone developer keeping up with the changes and additions wasn't easy - I literally ran the gamut - from FBML to FBJS to FQL to xd_receiver.htm to the JS SDK to FB Credits to Graph API. Initially I cut them some slack - it was a new platform, and we all make mistakes.

But things never really got better. I couldn't tell you how many times I came across 4, 5, 6 different ways to do the same (seemingly simple) interaction with the platform, only one of which worked, and of course not the officially documented method. Or inaccurate or nonexistent API docs. Or how many times my app would suddenly break without pushing any changes - I became accustomed to just waiting it out until Facebook would release a patch for whatever they broke, and have to tell my users to just wait it out. This would usually occur Tuesday night/Wednesday if I remember correctly.

Solutions to problems would usually lie in an obscure forum post after about 10 minutes of googling, posted by another friendly developer who probably tore his hair out looking for a solution. Ah, the camaraderie. Here's a recent one I just came across (and they're not hard to find) http://stackoverflow.com/questions/16649634/ios-url-scheme-f...
Accepted answers that start with "Facebook seems to have..." and end with "change or remove them completely at will" tend to give developers more than a few gray hairs.

It also doesn't help that Facebook tends to treat developers like sheep. At first this didn't bother me - after all, they weren't forcing me to build apps for them, and I was free to leave at any time. In the early days I'd contact developer support (I don't think there's a published number) to report bugs/issues, suggest improvements, or genuinely ask for help with a problem. I never got a single non-automated response. Not once. So I stopped wasting my time and just became more and more bitter with every breaking change.

The 30% credits tax was the inflection point of the downfall. IMHO, that was a "me too" response to Apple's iOS platform (coincidence that they came up with the same fee structure?) and was, for me, the tell-tale sign that they were no longer interested in their developers' well being. Yes, I understand they need to make money. I am all for ringing the cash register. But Apple and Facebook are different platforms. Apple has a highly trafficked worldwide app store. They let me put my app icon on my users' home screens (that's valuable real estate), and I could push out unlimited notifications to my users' devices to keep them engaged and coming back with one click, among other things. Facebook has no such equivalents. I guess you could argue you're paying for the viral distribution, but after they've heavily curtailed their viral channels and people have become more and more immune to app invites, there's really no way to get free distribution anymore from Facebook. You still need to be buying ads, mostly from them.

If they wanted to make money and curtail spam, all they had to do was charge developers by each notification, invite, or newsfeed post they'd send out. Set a fixed price per message, or use a competitive auctioning system like adwords. The crapplications would never be able to afford their own spam.

I've since migrated my apps away from Facebook, either to mobile or on standalone web sites. Needless to say, my life as a developer has gotten a lot easier, and since I have more time to focus on improving my apps rather than keeping up with breaking changes, I'm doing better than I ever have before.