Simplifying the Stream
by Austin Haugen - October 23, 2009 at 10:20am

We're focused on creating the best ways to empower users to share with their friends, as well as providing developers with the tools they need to make applications social and add value to the Facebook experience. As a part of a greater effort to simplify the site, we're making it easier for users to discover the most interesting content by modifying the home page stream to include two views:

  • News Feed will focus on popular content, determined by an algorithm based on interest in that story, including the number of times an item is liked or commented on.
  • Live Feed will display all recent stories from a large number of a user's friends.

Stories your applications generate can show up in both views. The best way for your stories to appear in the News Feed filter is to create stories that are highly engaging, as high quality, interesting stories are most likely to garner likes and comments by the user's friends.

In addition to making the site cleaner and simpler for users, we're also making our APIs clearer and more straightforward for developers. We built many APIs to enable you to create rich social experiences for your users, and while we create these APIs to match pace with the evolution of the features offered, we often maintain similar, more primitive versions as well. This creates a sea of different methods with overlapping functionality. To make it simpler and easier to develop on Facebook, we're streamlining our APIs, beginning with those that publish older-style, template-based Feed stories.

Going forward, the only way to publish Feed stories into the stream will be via the stream publishing methods (stream.publish, FB.Connect.streamPublish, and Facebook.streamPublish). Posts published using the stream publishing methods contain only structured plain text data, which makes them easier to render on a variety of devices, including mobile phones and gaming consoles. For everyone else, these changes will take place in about 60 days (on December 20th, 2009), to allow time to make the shift.

This means that we will discontinue support for the following:

We will still publish stories that call users.setStatus and status.set, but encourage all developers to migrate to the stream publishing methods, as they let you set a user's status easily.

We are also making a few changes to how stream stories are rendered. First, we are shrinking the size of images to be rendered at a maximum of 90 pixels high or 90 pixels wide. Also, stream stories will only display the first image that has been passed to them. Most Facebook stories use a single image, and many use no images at all. If the stream story contains more than one image or a significant amount of text, the first image and a couple lines of text will be displayed initially, and the user will have the option to click a "See More" link to display the rest of the story. We find that the best images in stream stories are directly relevant to the action taken with the application. For example, if the story announces a user's high score in a game, the image should show that exact score. If the story shows content the user has created (for example, photos taken or art created), the image should be that user-generated content. Highly repetitive images that show up over and over aren't nearly as interesting or engaging.

We are also making changes to action links to create a cleaner user experience. Going forward, a stream story can have a maximum of one action link, and 25 characters in the link. Facebook's own action links tend to be even shorter than that ("Comment", "Like", "Share", "Become a Fan" are all ten characters or fewer). We'll also strip out "formatting" characters (for example, leading spaces, pipes, and brackets) to keep in the same simple aesthetic as the rest of Facebook. These changes will take effect within the next couple of weeks.

We're looking forward to making our APIs more straightforward and hope you are too. We welcome your comments in our Developer Forum.

Austin, a product manager on the Platform team, likes to keep it simple.

Editor's Note: 10/27/09 11:30 am - You can still present Feed forms to your users by calling Facebook.streamPublish or FB.Connect.streamPublish.