Facebook Enables New App-generated Requests, Updates Bookmark Count Functionality [Updated]

Facebook has made a series of significant changes to its viral channels over the past several years. Since launching with almost no restrictions on developer use of notifications, requests, and the news feed, Facebook has systematically changed the way viral channels work to try to find the right balance between providing powerful distribution options for developers and protecting the user experience.

Today, Facebook launched some updates to requests that it’s calling “Requests 2.0” that introduces app-generated requests and simplifies the process of managing the home page bookmark counters that alert users to outstanding requests.

App-generated Requests

Facebook first added app-to-user notifications for developers in August 2008, but then removed them in February 2010 after the signal to noise ratio of the notifications channel had become too low to justify the spammy experience for users. Since then, the primary channel for app to user communication has been email.

Now, Facebook is allowing developers to send user communication through the requests channel, encouraging developers to “Use these requests to update the bookmark count to encourage a user to re-engage in the app (e.g., your friend finished her move in a game and it’s now your turn).” We’re still clarifying how Facebook will govern volume here, but this represents a significant opportunity for developers. We’ll have more on this soon. Facebook CTO Bret Taylor told us last yearthat Facebook was planning on reintegrating some of the previous viral channel functionality that had been disabled earlier last year, and this looks like an example of one of those changes.

Update: After more testing, it appears as though app-generated requests do not actually appear the same way as user-generated requests for users. While app-generated requests to increment counters, they do not appear on the “Game Requests” list, nor do they generate a request notification. This means app-generated requests represent less of a new opportunity for developers than we originally thought.

Automatic Bookmark Count Syncing

When enabled via the Developers application, Facebook automatically syncs the bookmark count with the number of pending requests. These requests now expire 14 days after being received by a user. This streamlined requests process will likely encourage applications to send more requests, increasing game re-engagement  but also pestering some users with what they might consider spam.

Requests began being displayed as bookmark counters and were removed from the home page’s right sidebar requests panel in September 2010. Facebook soon reinstated the requests in the right sidebar to help developers for effectively re-engage users.

In December, Facebook began showing requests in a third place on the home page: the notifications channel. Some heavy gamers complain that these notifications drown out more social notifications about photo tags and wall posts, but Facebook is still showing requests in this channel. In January, it increased or eliminated the limit on the number of requests a user could send from an application per day.

Previously, developers had to use the incrementCount and decrementCount APIs to manually adjust the number shown in the counter besides their app’s bookmark on a user’s home page. Facebook has now unified these APIs so developers merely send requests, and the count is synced automatically.

To enable this option, developers can go to the the Advanced tab of the Developers application, and change the “Upgrade to Requests 2.0” setting in the Migrations section. This will cause bookmark counts to sync when they send user-generated requests that users explicitly approve using the Requests Dialog, or app-generated requests via the Graph API to users who have granted the proper permissions.

When users with pending requests visit an app, Facebook encourages developers to “highlight the request the user wants to act upon and delete requests when the user acts upon them”. This makes the reason of the request clear and keeps users from perceiving requests as a spammy way to get them to revisit an app. To prevent bookmark counts from accumulating, Facebook clears each request’s counter after 14 days. Developers can find JavaScript and PHP code examples on the updated Requests documentation page.