Developer Guidelines Manual
From Facebook Developer Wiki
The Facebook Developer Guidelines Manual has been created to encourage proper practices when creating FB apps. We, the Facebook Developer Community, wish for all developers to follow these guidelines and improve the overall experience of the platform.
This guide has been created by FB Developers, for FB Developers, and is constantly expanding. Note that Facebook's Terms of Service still apply, and may not explicitly prohibit certain behavior described in this page. It is possible for some of the behaviors described in this guideline as improper to be added to the TOS in the future.
Feel free to add your own guidelines, or improve upon the current ones.
Contents |
Update
After speaking with a Facebook employee, who contacted me upon seeing this page on the wiki, Facebook has created an official document with the same purpose as this article you're currently reading. You may notice similar wording in some sections, as this document was used as reference (and hopefully will still be used as reference in the future).
Best Practices Links to Official Documentation regarding Best Practices
Engineering Tips Engineering Best Practices -- Technical Tips
Application Design Best Practices Engineering Best Practices -- Design Tips
Thanks to all the guys at Facebook trying to give their users and developers the best experience possible, and being friendly about user input!
Guidelines
We recommend all Facebook Platform Developers to follow these guidelines.
Invites
- Do not force a user to send invites.
- Show the invite page after performing an action.
- Make it clear the action has been performed, and that the user is not forced to send invites to continue using the app/perform the action.
- You may also include a link to the invite page somewhere in your application.
- Sending invites for an app using another app is prohibited by the TOS.
- Do not include users who already have the app installed in the friend selector (or variants).
- Do not use invites for ranking purposes.
- When using invites as part of an application's function, such as user ranking, make sure there are other ranking methods that can replace invites.
- Using invites alone increases the chances for the application, and the user's rank within it to lose value.
- Do not use blocked markup, or attempt to use sketchy methods to gain a user's attention in the Requests page.
- Usage of CSS, large fonts, and other prohibited markup is looked down upon by the community. We highly discourage this.
- Usage of blocked markup may also lead to the removal of your application. (check?)
Notifications/News Feed
- Do not post every action your app makes.
- Simply send/post when the primary function of an app is performed.
- Too many notifications and/or news feed stories increase the chance of an app being blocked and/or being viewed as a spammy app by users.
User Interface
- Do not require install or login in main canvas page.
- Doing so increases the chances of the user not using your application, or just installing it and not use it.
- We recommend you have a page that entices the user to use the app, but do not mislead the user with false data.
- Show what your application does, not a simple "Add this app and you'll see what this is about" or misleading descriptions.
- Do not require both an install and login.
- Doing so is pointless. Only use one, as deemed necessary.
- It is a nuisance to users, and probably lowers chances of actual app usage.
- Do not use Javascript alert().
- JS alerts are annoying to the user, disrupt the smoothness of the experience, and do not fit in well with the Facebook UI.
Naming
- Do not use the same or similar name to an existing app without expressed permission of original author(s).
- Using similar names confuses users.
- It may be a copyright violation, when applicable.
Supplemental Links
Best Practices Links to Official Documentation, including "Engineering Best Practices -- Technical Tips" and "...Design Tips"
Task List
- Add description or link to page describing how to report applications violating TOS.
- Add guidelines for other aspects of applications.
Maintainers
The_PHP_Jedi - Creator and Editor
