We've heard from many users that adding applications is cumbersome, since they have to make so many choices on the application add page. Users have expressed concerns about adding an application without having experienced it first, because they can't predict what's going to happen when they add it or because they don't want to clean up their profiles afterwards.
To reduce user friction when encountering a new application, we're streamlining the way users authorize applications when they first encounter them. We're doing this by recommending that you use require_login instead of require_add when the user first interacts with your application. By doing so, we believe users will be encouraged to explore your applications more and with less hesitation. As users engage with your application, they can access additional features and integrate your application deeper into their profiles when it makes sense within the application user experience.
You should start using require_login in place of require_add now. When the new profile design goes live to all users, we're going to redirect require_add calls to require_login. When a user goes to an application for the first time and is prompted to log in, she will see a simpler screen, like in the screen shot here. Once a user authorizes your application, you can utilize all the API methods that access information about the user, publish stories to News Feed and Mini-Feed, and send the user notifications.
How Will Users Integrate Applications?
When these changes launch with the new profile design, your existing users will continue to have the same settings and integration points that they configured before. For new users, this is what's happening to the various integration points the user sees on an application add page now:
- Know who I am and access my information: This option and your application's Terms of Service will be the only permissions users need to agree to before accessing your application for the first time. This is similar to the login page that appears when you call require_login. Once the user logs in and accepts your Terms of Service, she won't have to log in to your application again.
- Put a box in my profile: This option is now an FBML button that you can incorporate into your application's canvas page. You can test this on the new profile beta sandbox now.
- Place a link in my left-hand navigation: This option is going away with the new profile design because the left-hand navigation links will migrate to the Applications menu in the new top-level Facebook menu bar. The Applications menu displays a list of recently used and bookmarked applications (an application is considered to be recently used if a user -- logged in or not -- has visited its canvas page). Users can bookmark an application when they are on that application's canvas page and they can rearrange the bookmarks through the Edit My Applications page.
- Publish stories in my News Feed and Mini-Feed: This option is enabled by default. Applications can send one line stories to users automatically, and short and full stories with user approval. Users can change this setting on the Edit My Applications page.
- Place a link below the profile picture on any profile: Profile action links will not exist in the new profile.
- Send me notifications via email: We know that email is an important communication channel for many of you to reach users. However, we've also seen a surprisingly high number of users mark application email as spam instead of simply unsubscribing from it. In order to preserve email as a channel for high quality communications, email to users is disabled by default. Instead, you can offer users a way (such as an FBML button or an FBML attribute you can append to your own link or button) to opt-in to receiving email from your application on your canvas page.
In addition, we'll deprecate some associated FBML tags as well. For more information, read Changes to Existing Platform Components.
New Application Metrics
With these changes, we want to emphasize the importance of a good user experience and user engagement. We will publish new metrics soon, which focus on user engagement with applications, including data like how many users have been active with your application in the last week and the total number of canvas page views.
We'll also provide aggregated statistics around how many people have added the various integration points for your application -- your application tab, profile box, and application info section -- as well as who has subscribed to email or bookmarked your application.
Since users won't be adding applications in the traditional sense, you're probably wondering how they can remove them. Users can adjust all their application settings on the Edit My Applications page including the ability to stop granting applications access to their information.
Changing User Sessions
Since the flow for adding applications is changing, on July 15, we're going to stop granting infinite sessions to Web-based applications automatically, like we do today. (Desktop applications will continue to be granted a 24 hour session key, and mobile clients will continue to receive infinite sessions, like they currently do.) The session key you'll get will last one hour, so, for example, you won't be able to post News Feed stories for a user after the user's session expires. However, when the user approves your application's Terms of Service, you can offer the user the option to grant an infinite session (provided the user agrees to be kept logged into your application). And you can store a session key each time a user interacts with your application.
Until July 15, we'll grant a temporary session key for each user that lasts 24 hours. Each time the user interacts with your application, we'll grant another session key or renew the existing one, so we recommend you store the most recent key.
At the same time, we're also removing sessions from many calls so there's less need for infinite sessions. For example, calls like profile.setFBML, photos.upload, and users.hasAppPermission no longer require session keys today. And we're changing more methods so you won't need a session key to do something when the user is offline, like send a notification. We put a listing of which API methods no longer require sessions on the wiki. We’ll add more methods to the list as we change them.
Our Developer Terms of Service prevent caching of data for longer than 24 hours, so this change mainly affects those developers who were batching up some calls that currently require an active session. The result is that we'll do a better job distinguishing whether certain API calls should require an active user session.
Contacting Us
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.
Join the Facebook Platform Team for a live discussion at Graphing Social Patterns East 2008 (in Washington DC) to discuss the latest Facebook platform technology features and architecture.
Poke Back: Facebook Live and Interactive
(Wednesday, June 11th, 10:30 AM - 11:15 AM)
Come join the Facebook Platform team for an interactive keynote panel where YOU drive the discussion. Here's your chance to find out everything you've ever wanted to know about Facebook Platform including our latest addition to it, Facebook Connect. Ben Ling, Dave Morin, Ruchi Sanghvi, and Josh Elman from the Facebook Platform team will field and discuss all the development issues and ideas you'd like to learn more about. This panel will be moderated by Dave McClure. For a detailed description click here.
To participate please submit your questions for consideration no later than 6/9 @ midnight (please include name / company) on the Discussion Board.
For more information and updates become a fan of the Graphing Social Patterns conference page.
Register for GSP East here.
Use the code (gspe08fgd) for a 30% Facebook Developer discount.
Additionally, all developers who apply for the AppNite Contest will receive a 50% discount.
Last week we released our beta sandbox to you all so you can start testing your applications with the new profile design. By now you've probably read the integration guide, too, so you have a sense of how Facebook Platform is changing with the new design. Today we want to start describing in more detail one of the most significant changes to the profile -- the greater focus on Feed.
The Feed tab is the first tab users will see when viewing their profiles and represents their recent activity. So creating compelling Feed stories that relay your users' engagement with your applications becomes even more important. And we're giving you new options to create richer Feed stories that will appear front and center on your users' profiles.
Feed stories come in three sizes: one line, short, and full.
One line stories say what they have to say briefly and concisely, in just one line of text, like "Jan reviewed a movie."
Short stories are more involved than one line stories. We render short stories in various predefined layouts (like we do today); currently there's one default layout, but more are coming soon.
Full stories provide you with the opportunity to make your stories as expressive as possible with few limitations, similar to how Wall attachments work today. But given their size (500 pixels wide by up to 700 pixels tall), we feel that users will probably display short stories in many cases, so make sure your short stories are just as engaging.
All Feed stories are template based. You need to provide at least a one line story template, but we encourage you to create templates for all three sizes for the best user experience. This way, your users can decide how big of a story they want to show on their profiles. If you don't supply a story size, that size never appears as an option to the user.
We'll aggregate one line and (if possible) short stories, but due to their nature and size, full stories won't get aggregated.
Creating Templates
Once you have ideas for the kinds of stories you want to create, you should create the templates for them. You can create a template for each of the three sizes and register them all ahead of time with one call (feed.registerTemplateBundle). This call returns an ID for the template bundle, and when you publish a Feed story, you just supply this template ID.
You can create and register as many template bundles as you want. After you register your templates, you publish user stories with feed.publishUserAction, specifying the template bundle ID at that time.
Mandatory Changes for Your Applications
Once the redesigned profiles go live, we’ll begin deprecating the existing Feed publishing API methods (feed.publishActionOfUser, feed.publishStoryToUser, and feed.publishTemplatizedAction). The existing API methods will continue to work during the transition period to the new profiles, so you can publish stories using either the existing API methods or feed.publishUserAction.
During the transition period, you should only publish the story once, so you should make use of the old methods or the new methods, but never both. If you are still using the existing Feed methods once the new profiles are launched, stories posted via those methods will only appear as one line stories to News Feed and the Feed tab on the new profiles.
We’ll announce a cut-off date soon -- after that date, the existing methods will no longer be able publish stories to Feeds. You will have plenty of time to update your applications to use the new Feed API calls. We recommend getting started now so you can take advantage of the new features as soon as they go live to users!
More detailed information is available on the Facebook Developer Wiki. You can read about Feed stories in general and the new API calls in particular.
Testing Your New Feed Stories
We're in the process of updating the Feed Preview Console to account for the new story sizes and design. It should be ready in the next few days.
Contacting Us
We always 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.
From now on, we plan on updating www.beta.facebook.com every Monday evening so our developers have ample opportunity to make sure their applications are still working as expected. The beta site is accessible to any user with the developer app installed. If everything checks out, then you know your applications will work beautifully once all the changes go live. If you find a problem, you can file a bug report and we'll work to fix the bug as soon as we hear of it. We're hoping the new beta site will be an effective way to catch problems that might otherwise get pushed out in front of users.
If you find a bug, then you can file a bug report at bugs.developers.facebook.com. Very soon, we'll set up a special section dedicated to pre-release bugs, but for the time being, just mention that the problem exists on the beta site so we know where to look for it.
As we promised recently, we've opened up our beta sandbox for the new profile design. You should have enough time to test the new design with your applications before we launch it to our users next month.
We believe that the new design makes profiles cleaner and simpler, gives users more control over their profiles, and emphasizes recent and relevant information. We hope that as you try out the new application integration points, you'll start thinking of ways you can engage your users more meaningfully. We expect applications that engage users with rich content and great experiences will thrive with the new design.
We'll be announcing several related changes over the next few days. Plus we'll be giving you greater insight into the various integration points and user migration details, so stay tuned to this blog for more details.
Accessing the Sandbox
The sandbox is located at www.new.facebook.com/profile.php.
To start testing, you need to download the new version of the Facebook PHP client library. It's available from svn.facebook.com/svnroot/platform/clients/php/branches/redesign-changes/.
If you want to take the new design out for a test drive before changing your own applications, you can tinker with the MySmiley application that we developed. With it you can test all the new integration points (like create different-sized Feed stories, use the Publisher to create Feed content, add an application info section, place a box on the Boxes tab or left column, and create a custom application tab). You can use the test application at apps.new.facebook.com/mysmiley and view the application source code at svn.facebook.com/svnroot/platform/samples/smiley/.
Remember this is a beta sandbox for the new profile only, so some features are not necessarily enabled and others are still in flux. So you should expect some changes from what you see right now before this goes live. However, the features that are relatively stable and ready to test, explore, and comment on are the specific APIs and integration points, including:
- New Feed story sizes and types – including the template bundles
- Adding application tabs, and how application tabs function
- Publisher integration
- Setting up the new “main profile section” and adding those to profiles
- Application info sections
You can check the status of known issues and changes in the sandbox on the Facebook Developers Wiki.
Contacting Us
As we near the date when we launch the profile to our users, we 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 section of the Developer Forum.
As developers, you’re probably curious about the recent initiatives we and other companies in the industry have taken to help you build applications that let users take their information around the web. We wanted to give you a little more information on how we’re thinking about these projects and get your feedback in the forum.
At Facebook, we always look out for the privacy of our users. That’s a key reason users feel safe sharing their information on our site.
We also strive for openness, releasing the first Facebook API for external websites in August 2006, and then opening up the Facebook website itself with the most recent launch of Facebook Platform in May 2007. Last week, we announced Facebook Connect, which enables users to connect their identity, friends, and privacy across the web.
Privacy and openness go hand-in-hand – as we open up, we have to make sure that users always have control of their information, and understand how and where it’s being used. We’ve maintained that trusted environment while opening up Facebook Platform and the social graph to external developers by requiring third-party application developers to treat user information with the same respect we do. All Facebook Platform developers agree to the Developer Terms of Service, which strictly limit the collection, use, and redistribution of user information. We have technology and a team to ensure applications abide by those policies.
We’re excited that our industry partners are taking greater steps toward openness and enabling users to share their information around the web. We hope, though, that we can collectively find a model that allows users to share data while protecting the privacy of our users’ data and ensuring that the user is always in control.
In the past, when we found applications passing user data to another party (for instance, to ad networks for the purpose of targeting), we suspended those applications and worked with those developers to ensure they respect user privacy. Now that Google has launched Friend Connect, we’ve had a chance to evaluate the technology. We’ve found that it redistributes user information from Facebook to other developers without users’ knowledge, which doesn’t respect the privacy standards our users have come to expect and is a violation of our Terms of Service. Just as we’ve been forced to do for other applications that redistribute data in a way users might not expect or understand, we’ve had to suspend Friend Connect’s access to Facebook user information until it comes into compliance. We’ve reached out to Google several times about this issue, and hope to work with them to enable users to share their data exactly when and where they choose.
We think MySpace’s Data Availability, Google Friend Connect, and Facebook Connect can be part of a great movement in the industry to give users a better and safer experience online, while respecting user privacy. We look forward to working with our developer community and everyone else in the industry to help all of our users take their information, and their privacy, with them wherever they go.
Since the launch of Facebook Chat, we've received a lot of positive feedback from users about being able to connect instantly with their friends on Facebook. With Chat fully launched and growing steadily, we've started working on more new features to enhance the Chat experience.
Right now we're building a Jabber/XMPP interface for Facebook Chat. In the near future, users will be able to use Jabber/XMPP-based chat applications to connect to Facebook Chat to:
- Communicate with their friends
- See which of their friends are online and view their profile pictures
- Set their statuses
Users can securely authenticate and authorize applications to connect to Chat on their behalf and send messages to their friends just like they can on Facebook.
We will share more details as we get closer to launch, but we wanted to give you a heads up so you can start thinking about (or even start building) Chat into your applications.
Please send us your comments and feedback to developer-feedback@facebook.com. Put [Chat via Jabber] in the subject line.
Facebook Platform celebrates its first anniversary this month. We want to hear what you have to say about Platform, since your contributions have been instrumental in helping Platform grow as large and quickly as it has in such a short time. We want to showcase any photos, videos, and anecdotes you'd like to share on the Facebook Platform Page for everyone to see. You should highlight the work (and play) you've done on Platform over the past year. We know you have many tales to tell, so start posting!
We'll keep the Page open for submissions for at least the next few weeks, to give everyone a chance to contribute.
Also, if you're interested in sharing your stories in more detail with our PR team, take a few minutes to fill out this form.
We'll keep watching the Platform Page, and we hope you do, too.
At Facebook, we're committed to enabling people to communicate and stay connected wherever they go.
In August 2006, we introduced the first version of the Facebook API, enabling users to share their information with the third party websites and applications they choose. Hundreds of companies have leveraged these APIs, allowing users to dynamically connect their identity information from Facebook, such as basic profile, friends, photos information and more, to third party websites, as well as desktop and mobile applications.
In May 2007, we launched Facebook Platform, which allowed third party developers to build rich social applications within Facebook. More than 350,000 developers and entrepreneurs from 225 countries have signed up, and started developing applications, and have seen significant adoption by Facebook users worldwide.
Today we are announcing Facebook Connect. Facebook Connect is the next iteration of Facebook Platform that allows users to "connect" their Facebook identity, friends and privacy to any site. This will now enable third party websites to implement and offer even more features of Facebook Platform off of Facebook – similar to features available to third party applications today on Facebook.
Here are just a few of the coming features of Facebook Connect:
Trusted Authentication
Users will be able to connect their Facebook account with any partner website using a trusted authentication method. Whether at login, or anywhere else a developer would like to add social context, the user will be able to authenticate and connect their account in a trusted environment. The user will have total control of the permissions granted.
Real Identity
Facebook users represent themselves with their real names and real identities. With Facebook Connect, users can bring their real identity information with them wherever they go on the Web, including: basic profile information, profile picture, name, friends, photos, events, groups, and more.
Friends Access
Users count on Facebook to stay connected to their friends and family. With Facebook Connect, users can take their friends with them wherever they go on the Web. Developers will be able to add rich social context to their websites. Developers will even be able to dynamically show which of their Facebook friends already have accounts on their sites.
Dynamic Privacy
As a user moves around the open Web, their privacy settings will follow, ensuring that users' information and privacy rules are always up-to-date. For example, if a user changes their profile picture, or removes a friend connection, this will be automatically updated in the external website.
These are just a few steps Facebook is taking to make the vision of data portability a reality for users worldwide. We believe the next evolution of data portability is about much more than data. It's about giving users the ability to take their identity and friends with them around the Web, while being able to trust that their information is always up to date and always protected by their privacy settings.
We look forward to working with other leading identity providers to develop the best policies and standards for enabling the portability and protection of users' information.
We expect that Facebook Connect will be available publicly within the next several weeks. If you want to learn more about bringing Facebook users to your website, application or device, send us an email at: connect@facebook.com.
We’re closing in on the launch of the new profile design. We want to make sure that we give you enough time to get your applications ready and take advantage of the new features that will be available with the new design.
Several weeks ago, we posted a first glimpse at the improved profile and asked for your feedback. And we’ve been getting feedback from our users as well at the Facebook Profile Preview Page. As you can imagine, we’ve received a lot of great comments and suggestions from both our users and our developers, which we’ve taken into consideration, and incorporated some of that feedback into the final design.
Now we’re ready to start giving you as many details on the new features as we can so you can prepare to fully integrate your applications into the new design. Along with the new profiles, we are also launching improvements to Feed and Wall, as well as making some changes to streamline the application installation flow.
If you take no action, most features of your application will continue to work, though please be aware of the changes. For example, if a user has a profile box from your application on their profile today, it will still be on her profile after the launch, though in a new location. However, we encourage you to implement as many of these changes as are appropriate for your applications so you can provide your users with a richer experience.
Integrating with the New Profile Design
To take full advantage of the new features with the new profile, start by reading the Integration Guide to the New Facebook Profile.
Here are some of the most important changes and new features. Please remember that exact details may still change in the coming weeks, but we want to get you as much info as we can now to help you prepare.
New Feed Stories and Templates: With the new design, the Feed tab is front-and-center on users’ profiles. Showing and sharing interesting and relevant Feed stories is going to continue to be a primary way users express themselves. Users will continue to control what appears and doesn’t appear in their Feed. To make Feed stories even better, we’re enabling three sizes of stories – one line, short, and full. Applications can offer stories in any of these sizes (users will approve short and full stories as they are published). Short stories will use templates, and full stories will use FBML.
Publisher: On the new Feed and Wall tabs, adding content to your own Feed or to a friend’s Feed or Wall will be a main focus of the experience. The Publisher allows users to add content such as text or photos, or rich content from any application such as music, videos, images, links, and more. The Publisher is a major upgrade to Wall attachments, and we think it will be integral to how users use Facebook.
Application Tabs: Users will start with 5 tabs on their profiles by default (Feed, Wall, Info, Photos, "Boxes") and can add tabs from their favorite applications to better represent themselves. Users can add as many application tabs as they want –- up to 6 tabs can appear (space-permitting) and additional tabs will be included in a More dropdown. An application tab is similar to a canvas page, and should directly represent the user. We encourage you to have your applications offer rich ways for users to express themselves so they'll put your application on its own tab.
Profile Boxes: Existing wide and narrow profile boxes will now appear on a new Boxes tab that every user can enable/disable on their profile. In addition, we’re supporting a new profile box type that can appear on the left-hand side of the user’s profile across the Feed, Wall, and Info tabs. These new boxes use standard templates and are up to 250 pixels in height.
Application Info Sections: The new Info tab will allow users to express themselves in a more structured way than before. This includes standard Facebook profile data such as contact information, user interests, and school/work histories. Additionally, users can add structured information with application info sections. An application info section is a list of text and/or images provided by an application.
What’s Next
We hope you get into the details and start planning out the changes and updates you want to make to your applications.
Over the next two weeks, we are going to update you with more details on issues like the new application installation flow and other Platform Changes, as well as additions to Platform Policy.
Later this month, we are going to open up a beta site for you to build and test out changes to your applications before we make these changes live for our collective users.
Keep reading this blog. Please send us your feedback and questions to developer-feedback@facebook.com. Put [new profile] in the subject line.
As most of you no doubt have noticed, Facebook Platform has been evolving at a very rapid pace ever since its release. The result of this evolution is a constantly growing list of features and functionality we're working on in order to improve both the experience of users of Facebook Platform as well as the experience for each of you, our developers.
In order to best focus our attention, however, we've made a number of decisions in the recent past to enable you with the power to help us in many aspects of Facebook Platform- for instance, providing direct feedback through our Bug Tracker, sharing knowledge as a community on the Forum, and assisting in the maintenance of the official documentation for Facebook Platform: our Wiki. In addition, there has a great deal of enthusiasm regarding Platform application development in a huge array of programming languages, resulting in the creation of numerous unofficial client libraries.
To this end, we have decided to discontinue support for our official Java client library, and rely on the existing community-driven libraries to fill this gap. While we understand this may have an impact on some developers, we feel that it is most important to keep working on our list of initiatives I referred to before, instead of maintaining an additional client library of which the developer community has already built several unofficial versions.
After this Tuesday's push, the official Java client library will no longer be available for download from any of the developers pages. We encourage all developers who are interested in continuing to develop in Java to consider some of the open source alternative client libraries listed on the Wiki here. While the official Java library should have no immediate problems with continued use, we nevertheless recommend that you use a client library that is kept up to date, in order to best take advantage of any new functionality that is added in the future.
We appreciate all of the effort and time that you've invested in working with us, and apologize to anyone that this change inconveniences. However, we hope you recognize that this is being done with our main goal in mind- improving the overall Facebook Platform experience for users and developers alike.
Recent News
Updates to the Facebook Home Page
February 4, 2010
New Terms for Advertising Providers on Facebook Platform
February 3, 2010
HipHop for PHP: Move Fast
February 2, 2010
Communicating Directly with Your Users via Email
January 20, 2010
Building on our Commitment to Open Source Software
January 12, 2010
Postcards from December Developer Events
January 6, 2010
December 2009 Platform News
December 31, 2009
A Look Back on the App Economy of Facebook in 2009
December 22, 2009







