Yesterday, I was suddenly locked out of my Facebook account. I had to go through a series of security steps to regain access. Looking at pictures of friends and had to identify them by multiple choice. Really? When you show me a baby picture of someone I barely know and have me choose if they are 1 of 6 people its pretty random. Anyway, around that time I was notified by Facebook of the following:
We're committed to providing a positive user experience on Platform while also providing developers an ecosystem in which communication channels are open and applications may grow. To ensure a positive user experience, we run routine automated screens that take user feedback and various algorithms into account and remove spammy applications.
Your application Now Playing Plugin (ID #2392944680) has been detected by our automated systems and permanently disabled. To prevent this from happening to future applications you may build, please monitor user reports and be sure to follow all outlined Developer Principles and Policies, found at http://developers.facebook.com/policy. Additionally, please keep the user experience at the forefront when developing and iterating on your application.
Though we are very confident in our system, if you think we have removed your application erroneously, you can read about our appeals process and complete a form to appeal at http://www.facebook.com/help?faq=17553. We will work quickly to evaluate your case and initiate the appeals process.
The Facebook Platform Team
Well, god damn. I had not received any warnings of this prior to this email. I do review my user reports. I respond to suggestions and complaints. I have about 180+ reviews on the app -- and if you factor out those bad ones where people complain the plugin costs money, its generally well received.
So in the interest of finding out what I did, I filed the appeal per the instructions. Less than 24 hours later, I received this response.
Thanks for your inquiry. To help keep Platform policies simple while delivering great Platform experiences to users, our automated systems remove apps providing poor user experiences. Our systems use a variety of signals to assess user experience, such as user feedback on an app's communications (Stream stories, etc.) and on the app itself.
See section IV.
IV.2 : You must not pre-fill any of the fields associated with the following products, unless the user manually generated the content earlier in the workflow: Stream stories (user_message parameter for Facebook.streamPublish and FB.Connect.streamPublish, and message parameter for stream.publish), Photos (caption), Videos (description), Notes (title and content), Links (comment), and Jabber/XMPP.
IV.3 : If a user grants you a publishing permission, you must still obtain consent from the user before taking any action on the user's behalf, such as publishing content or creating an event.
We've checked out the circumstances of your app's removal, and we found that your app received strong negative feedback from users, which is why it was removed for providing a poor user experience.
Because of this, we will not be able to restore your app. However, if you'd like to relaunch with a new app ID and canvas URL, please first make adjustments to ensure you're providing a good user experience and meeting our policies. You can monitor your app's user feedback here: http://www.facebook.com/insights. Unfortunately we cannot provide you with your original canvas URL.
Here are a few helpful resources:
Facebook Platform Policies: http://developers.facebook.com/policy
Promotion Guidelines: http://www.facebook.com/promotions_guidelines.php
Policy Examples and Explanations: http://developers.facebook.com/docs/guides/policy/examples_and_explanations
Statement of Rights and Responsibilities: http://www.facebook.com/terms.php
Facebook Social Plugins: http://developers.facebook.com/plugins
Facebook Platform Policy Team
I added my original Facebook support in July 2007. I was forced to update it in February 2010 when Facebook changed the ability to post to a profile page. The plugin moved into news feed publishing and all was well. There were several challenges to this but I think its been working for everyone. Facebook implements throttling so you can't have an app post more than X times per day. That X is dependent on some algorithm based on feedback, popularity, etc. This app stayed in the low teens and grew to the high teens. I also had added a throttle capability in the plugin so you could tell it the number of minutes between posts. You don't want to blow your X posts per day all at once so this would spread it out. My users were often frustrated that every single song didn't post but I took the time to explain how Facebook works to them most of the time.
Now in order to provide an automated experience with the plugin, it must create the posts without user intervention. You would not want to have something popup on screen and say "What's your thought on this song?". Now this one. Now this one as they played. I am sure you would run out of witty stuff to type in minutes anyway. This automation violates IV.2 and IV.3 of the above. However, it seems to me that most Facebook apps violate this. They ask you to take a quiz, or show you something someone sent to someone else. There is often no discernible user input in those feeds yet they are allowed to persist. And they get fed to Facebook 24x7 without me granting each one. But I have a hunch why...
My guess is related to the feedback on those items. When you see a post in your feed that you don't like, you often get 3 choices when you click on the X by them. Hide the post, Hide the app that created the post, Hide the user, or Mark as spam. My guess is that people aren't too judicious about the choice here. The right answer most of the time in my opinion is to "Hide the app". Not interested in Farmville? Hide the app so you don't see anybody's Farmville. Not interested in musical tastes? Hide the Now Playing app so you don't see posts by anyone like this. I don't believe that choice would negatively impact your app's rating with the Facebook police/machine. Maybe it does. But I bet if enough folks hit "Mark as spam" things get triggered and that is what happened here. Its a shame.
Another thing to add is that Facebook is currently revamping their APIs yet again and while not requiring it yet, will undoubtedly later require developers to conform to yet another API. More migration hassles.
So that's how we got where we are today.
There got that off my chest. So what to do now? Frankly, I don't know. I decided to just write this post and lay out what happened and hopefully get some feedback on what people want to see. I will throw out some ideas and you can get behind those or propose your own. After a bit of time (week?), I will try and make some decisions and push forward on a new course.
Option A - Do nothing. Always the first thing I list when I list options. What I really mean by this is that I will hide the Facebook tab and no longer support Facebook. This is sort of the cleanest answer as you will see because I think we will be continually trapped in Facebook's usage policy nightmare. You can still publish to Facebook by setting up a Twitter sync. You just don't get the pretty images and stuff. (Not that is another gap in this policy! I can auto publish to Twitter and sync to Facebook!)
Option B - Create a new application on Facebook and start building a new reputation. They are free so just create another application page, change the plugin to use that, and start publishing again with no changes. I fear that this will just anger the Facebook police though and it would only be a matter of time before we go through the mess again.
Option C - Allow each individual user to setup their own Facebook application and monitor and support it. This one intrigues me because it gets me out of the management of the reputation of the app portion. But its a complicated endeavor to get setup and I don't really want to play support for setting up a Facebook app. Its kind of an advanced move for most users. But this way, everyone has their own reputation and only their friends can mark it as spam. That way there are 1000s of Now Playing publishers but they aren't tracked together. Facebook might be able to stitch this together but I doubt its going to be as easy to discover versus a single app doing all the publishing.
Option D - Start a petition to Facebook and tell them this is stupid and its what we want. I am not that excited about this. I have bigger problems in life to spend time on.
Option E - Everyone quit Facebook because it is a massive waste of time. You know it is.