Next week, we begin rolling out the new profile design to our users on an opt-in basis. Every user may not see it at first, but we’ll keep extending the rollout to more users.
You should continue updating your applications, and have them ready before the preview launch, because users will want to see your application within their new profile experience.
Note: We currently plan to launch the new design to all users one to two weeks after the rollout begins. We will give developers at least 24 hours notice before the final switch occurs.
We’ve been receiving some questions about migration and about session changes and we hope this addresses them.
PHP Client. Make sure you're using the correct PHP client. The one to use for the new profile is located at http://svn.facebook.com/svnroot/platform/clients/php/branches/redesign-changes/.
Old vs. New: Determining Which Site a User Is Using. We will pass in the fb_sig_in_new_facebook parameter on all pages on the site. Use this to determine whether a given user is using the new profile (true) or the old one (false).
Feed Stories. During the user preview period, Feed stories submitted through the APIs will appear on both old and new profiles. The old Feed API calls (feed.publishStoryToUser, feed.publishActionOfUser, and feed.publishTemplatizedAction) will render the appropriate Feed story on the old profile, and render one line stories on the new profile. The new Feed API call (feed.publishUserAction) will work as expected on the new profile, and will render one line Feed stories on the old profile. All Feed stories will be aggregated and shared in News Feed as they are today.
Note: When the new profile launches in full, only feed.publishUserAction will work to publish Feed stories. So we recommend you create and register your Feed story templates now and start testing and using that method.
Changing require_add to require_login: During the user preview period, require_add will continue to work on the old profile only. When calls are made to require_add on the new site, the user will get redirected to login.php instead. There will be a simplified authorization screen (a much friendlier version of login.php) that will be available on the sandbox soon.
Going forward, you should start using require_login instead. If you use this method, it will open a simple Ajax authorization window instead of requiring a redirect to another page at all. We plan to deprecate require_add entirely in the future.
User Sessions: During the user preview period, we will still grant infinite sessions to your Web applications for users on the old profile. However, we'll grant temporary sessions to your Web applications for users on the new profile. Temporary sessions last 24 hours, or until the user logs out, whichever comes first. After we launch the profile to all users, we will grant temporary sessions to all Web applications.
More clarification on changes to session keys, and about infinite and active sessions, is available on the Developers Wiki.
Accessing User Info: Once a user has authorized your application, you will be able to access a set of standard information about this user at any time without a session. This includes data such as name, time zone, birthday, gender, and more. Use of this data must still adhere to Facebook Terms of Service and Developer Terms of Service.
The method users.getInfo and certain FQL queries will now require active sessions to access information beyond the standard information for use in your application.
We will publish the final details and methods to use for this soon in our next post.
API Calls: For many calls, session keys are now optional. If you continue to pass valid session keys, we'll ignore them. We recommend you remove session keys from the appropriate calls now.
Notifications: With the new profile, there will be two types of notifications: general and announcement notifications. General notifications require active user sessions, which use the sending user's active session (with the same allocation amounts as today).
Announcement notifications are sent on an application's behalf. An application can send 7 announcement notifications per user per week when the new profile goes live. This number will fluctuate as allocations change, based on user feedback, like today.
To account for these changes, we've added a type parameter to notifications.send, which can be set to general or to announcement (the default is general).
We continue to want to hear from you about the new design and your experiences trying it out. Please report any bugs you see in the new design. Make sure you use the New Profile category. You can help us solve your issue faster by adding one of the following components to your report: Feed, Info Sections, Profile Boxes, Publisher, and Tabs.
You can send us your feedback and ask questions in the New Profile and Related Changes section of the Developer Forum.