The Facebook Open Stream API
by Ray C. He - April 27, 2009 at 9:00am

Today we are excited to announce an important step toward greater openness through Facebook Platform. For the first time, we're opening the core Facebook product experience -- the stream -- with the new Facebook Open Stream API.

The home page design centralizes the stream of information that tells you what's going on right now in the world around you. With the Facebook Open Stream API users will be able to use applications to read and interact with their stream, anywhere. As a Facebook developer you'll also be able to access the stories you've published into the stream and display them in your application, whether it's on a mobile device, Web site or desktop, for users however you choose.

To enable developers to access the stream, we've built the Facebook Open Stream API in part using the emerging Activity Streams standard. Over the last several months, we've been collaborating with the community, hosting meetups at Facebook headquarters, and speaking at industry events about Activity Streams and the open stack. We think that working alongside our peers to create an open standard for accessing and consuming streams is the future. We'll continue to make contributions to the standards community and related technologies and are happy to be one of the first companies to implement Activity Streams at scale.

We've also created robust new APIs called stream.get and stream.publish and new FQL tables that enable you to directly access the stream. With these new methods, you can access the stream on behalf of a user and then display the content in the manner most relevant for the user experience. You can filter, remix, or display the stream however you choose, wherever you choose. In addition, through other API methods, users can publish back into the stream, add comments, and even ‘likes’ to any stream item through any interface that publishes to the stream.

Consistent with our previous steps toward greater openness, we believe users must have full control and choice and that's exactly how we've designed Facebook Platform and the Open Stream API. All Facebook Platform terms governing data use apply and an application or Web site can only access a user's homepage or profile stream if the user specifically gives permission to the application. At that point, the application or Facebook Connect site will only have access to the information if a user hasn't changed their privacy settings to prevent applications from accessing it.

To get things started we've worked alongside a few beta partners to test the Facebook Open Stream API. For example, Seesmic Desktop is now a full-featured client for the stream and Adobe has created a simple stream Notifier built on Adobe AIR.

In addition, we've created a sample client application, Facebook Desktop for AIR. It's built on Adobe's AIR development platform and includes all of the APIs we released today. Before you can use the application, you need to install Adobe AIR. Then, you can either download the official Facebook Desktop for AIR or you can compile your own copy, which is available in our public repository.

You can get started by reading the documentation. Please share your comments and feedback in the Developer Forum.

We can't wait to see the amazing new experiences you build for the more than 200 million Facebook users.