<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 <title>Facebook Developers News Feed</title>
 <subtitle>News on the Facebook Platform, Facebook's open source projects, and various other things of interest to Facebook's development hub, Facebook Developers.</subtitle>
 <link href="http://developers.facebook.com/news.php?blog=1"/>
 <updated>2010-02-04T19:00:00Z</updated>
 <author>
   <name>The Facebook Platform team</name>
   <email>platform@facebook.com</email>
 </author>
 <id>urn:uuid:6c306ca7-ff0b-4f7a-b371-92964eac0f14</id>
 <entry>
   <title>Updates to the Facebook Home Page</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=360"/>
   <id>urn:uuid:c29b5d68-4ed2-4046-9c2c-2222276fd35e</id>
   <updated>2010-02-04T19:00:00Z</updated>
    <summary>
Over the past several months we've tested a number of different designs of our home page to make na...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>
Over the past several months we've tested a number of different designs of our home page to make navigation easier and to surface the most interesting content to users. Today we're starting to roll out the latest design to users. Learn all about the product changes on the <a href="http://blog.facebook.com/blog.php?post=287459122130">Facebook blog</a>.
</p><p>
Here are the changes that you will want to pay close attention to as a developer:
</p><h2>
Dashboards
</h2><p>
Along with the changes to the home page design, we're introducing new features to make it easier for users to discover and re-engage with your applications via the Games and Applications Dashboards. We <a href="http://developers.facebook.com/news.php?blog=1&story=356">announced these APIs</a> a few weeks ago, and have been updating our <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Dashboards">public roadmap</a> with details over the past several months. Now users can navigate to their applications via the dashboards, see news about their experiences with the applications, and discover new applications based on what their friends are using. Thanks to your feedback we've made a number of improvements to how these APIs work over the past couple of weeks. Be sure to check the <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API">documentation</a> for the latest information.
</p><p>
Also, to help protect user privacy, if your application contains sensitive content (for example, it's related to a health issue) and you would rather not have your application show up in the "Friends' Recent Activity" or "Friends' Applications" sections of the dashboards, you can choose to hide it via a setting on the Advanced tab of the <a href="http://www.facebook.com/developers/">Developer application</a>. In addition, we are providing users with the ability to control if they show up in the dashboards, and who they share their application activity with, through the Applications Settings page. We are also working on a way for users to set more granular controls for specific applications, so that they can easily filter how activity for these applications is shown in the dashboards.
</p><h2>
New Navigation
</h2><p>
To make it easier for users to find applications, we're removing the application menu at the bottom of the screen, and moving the bookmarks to the left-hand side of the home page. The dashboards and three bookmarks will show up on the home page, and the remaining bookmarked applications will appear beneath a "more" link. Learn more about how the new bookmarking behavior on the <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Home_Page">roadmap</a>. Users aren't able to reorder their bookmarks yet, but we're building the feature right now.
</p><h2>
Counters
</h2><p>
You can set a counter for your users (which will appear if they have bookmarked your application), indicating it's time to come back to the application and take an action. Counters serve as an additional communication channel to reach users and prompt them to re-engage with your application. Learn all about these changes and how to integrate with the new dashboards via the  <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API">Dashboard API</a>. Make sure you've included the <a href="http://developers.facebook.com/news.php?blog=1&story=330">Add Bookmark</a> button to your application to make it easy for your users to bookmark your application. 
</p><h2>
Notifications
</h2><p>
For now, application notifications will show up with all other notifications in the new top menu. As we have stated on our <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Notifications">public roadmap</a>, we will stop delivering application notifications on March 1, 2010. We recommend you begin switching your integrations now.
</p><p>
To send information directly to your users (like application-to-user notifications today), we recommend you <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API#Understanding_the_News_and_Activity_Streams">add news</a> on the dashboard ("Three friends donated to your cause -- come back and recruit some more!"). You can also send email messages to users, if they have opted to receive emails from you. We recommend you use email for content like receipts for transactions, newsletters, or other richer content.
</p><p>
To indicate a user's friend has taken an action in an application that the user might care about (for example, the friend tagged the user in a piece of content), set the <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API#Understanding_the_Counter">counter</a>. When a user clicks the bookmark to land on your application, clearly indicate why the user is there (for example, to take a turn in a game.)
</p><h2>
Requests
</h2><p>
For now, requests will continue to appear in the upper right hand side of the home page, along with other Facebook requests. As we have said on our <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Requests">public roadmap</a>, we will deprecate requests later this year, after we release our improved Share dialogs.
</p><p>
Keep reading the <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">developer roadmap</a> to stay informed. As always, please leave your feedback in our <a href="http://forum.developers.facebook.com/">Developer Forum</a>. 
</p><p>
<em>Justin, a software engineer on the Platform team, is excited to find more great applications to share with his friends.</em></p></p>]]>
   </content>
 </entry>
 <entry>
   <title>New Terms for Advertising Providers on Facebook Platform</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=359"/>
   <id>urn:uuid:e29e2f7a-d282-4d0a-aa66-3c3a2065d0c1</id>
   <updated>2010-02-03T11:00:00Z</updated>
    <summary>
Over the past year, we've focused on providing an environment for developers that rewards high-qual...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>
Over the past year, we've focused on providing an environment for developers that rewards high-quality, third-party advertising and monetization practices. Through this process, it's become clear that while you are working hard to monetize your applications in a safe and reliable manner, it isn't easy to ensure that ad and offer providers are following the same terms and guidelines that you adhere to.
</p><p>
To meet this need, we are introducing a set of <a href="http://www.facebook.com/apps/ad_provider_terms.php">terms</a> for all ad and offer providers and related services that operate on Facebook Platform. The terms are similar to the terms of service to which all users, developers, and advertisers agree, and are an addition to the existing <a href="http://www.facebook.com/ad_guidelines.php">Facebook Advertising Guidelines</a>. Just as everyone must agree to existing terms of service, we are requiring that all ad providers agree to these new terms. If you are an ad or offer network, please visit this <a href="http://www.facebook.com/apps/ad_provider.php">form</a> to submit your information and agree to the terms.  We will continue to enforce against anyone who violates any of our terms.
</p><p>
Our intention is to facilitate an ecosystem that upholds the user experience and continues to set the foundation for a platform that delivers substantial long-term opportunities for building or expanding a business. Note that Facebook does not approve or vet the content or services of any ad provider. Developers remain accountable for all content appearing within applications including all advertising content. However, this does ensure that we maintain an open line of communication directly with your monetization providers.
</p><p>
We will continue to provide more resources to developers and ad and offer networks to help everyone better understand our advertising principles.  
</p><p>
We welcome your feedback. Please direct any comments or questions to the <a href="http://forum.developers.facebook.com">Developer Forum</a>.  If you are an ad or offer network or related service, and wish to contact us directly, please direct inquiries to our <a href="http://www.facebook.com/help/contact.php?show_form=platformadhelp">Web form</a>.
</p>
<p><em>Nick, a member of the Facebook Advertising Team, is looking forward to seeing new innovative ad products on Platform.</em></p></p>]]>
   </content>
 </entry>
 <entry>
   <title>HipHop for PHP: Move Fast</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=358"/>
   <id>urn:uuid:da5dece7-66a1-4866-9f0b-777e1339510e</id>
   <updated>2010-02-02T09:30:00Z</updated>
    <summary>One of the key values at Facebook is to move fast. For the past six years, we have been able to acco...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>One of the key values at Facebook is to move fast. For the past six years, we have been able to accomplish a lot thanks to rapid pace of development that PHP offers. As a programming language, PHP is simple.  Simple to learn, simple to write, simple to read, and simple to debug.  We are able to get new engineers ramped up at Facebook a lot faster with PHP than with other languages, which allows us to innovate faster.</p>

<img src="http://wiki.developers.facebook.com/images/a/ac/HipHop_logo_white.png" style="float: left; padding-right: 10px;"/><p>Today I'm excited to share the project a small team of amazing people and I have been working on for the past two years; HipHop for PHP.  With HipHop we've reduced the CPU usage on our Web servers on average by about fifty percent, depending on the page.  Less CPU means fewer servers, which means less overhead. This project has had a tremendous impact on Facebook. We feel the Web at large can benefit from HipHop, so we are releasing it as open source this evening in hope that it brings a new focus toward scaling large complex websites with PHP.  While HipHop has shown us incredible results, it's certainly not complete and you should be comfortable with beta software before trying it out.</p>

<p>HipHop for PHP isn't technically a compiler itself.  Rather it is a source code transformer.  HipHop programmatically transforms your PHP source code into highly optimized C++ and then uses g++ to compile it.  HipHop executes the source code in a semantically equivalent manner and sacrifices some rarely used features &#8212; such as eval() &#8212; in exchange for improved performance.  HipHop includes a code transformer, a reimplementation of PHP's runtime system, and a rewrite of many common PHP Extensions to take advantage of these performance optimizations.</p>

<h2>Scaling PHP as a Scripting Language</h2>

<p>PHP's roots are those of a <a href="http://en.wikipedia.org/wiki/Server-side_scripting">scripting language</a>, like Perl, Python, and Ruby, all of which have major benefits in terms of programmer productivity and the ability to iterate quickly on products. This is compared to more traditional <a href="http://en.wikipedia.org/wiki/Compiled_language">compiled languages</a> like C++ and <a href="http://en.wikipedia.org/wiki/Interpreted_language">interpreted languages</a> like Java. On the other hand, scripting languages are known to generally be less efficient when it comes to CPU and memory usage. Because of this, it's been challenging to scale Facebook to over 400 billion PHP-based page views every month.</p>

<p>One common way to address these inefficiencies is to rewrite the more complex parts of your PHP application directly in C++ as PHP Extensions. This largely transforms PHP into a glue language between your front end HTML and application logic in C++. From a technical perspective this works well, but drastically reduces the number of engineers who are able to work on your entire application. Learning C++ is only the first step to writing PHP Extensions, the second is understanding the <a href="http://theserverpages.com/php/manual/en/zend.php">Zend APIs</a>. Given that our engineering team is relatively small &#8212; there are over one million users to every engineer &#8212; we can't afford to make parts of our codebase less accessible than others.</p>

<p>Scaling Facebook is particularly challenging because almost every page view is a logged-in user with a customized experience.  When you view your home page we need to look up all of your friends, query their most relevant updates (from a custom service we've built called Multifeed), filter the results based on your privacy settings, then fill out the stories with comments, photos, likes, and all the rich data that people love about Facebook.  All of this in just under a second.  HipHop allows us to write the logic that does the final page assembly in PHP and iterate it quickly while relying on custom back-end services in C++, Erlang, Java, or Python to service the News Feed, search, Chat, and other core parts of the site.</p>

<p>Since 2007 we've thought about a few different ways to solve these problems and have even tried implementing a few of them.  The common suggestion is to just rewrite Facebook in another language, but given the complexity and speed of development of the site this would take some time to accomplish.  We've rewritten aspects of the <a href="http://en.wikipedia.org/wiki/Zend_Engine">Zend Engine</a> &#8212; PHP's internals &#8212; and contributed those patches back into the PHP project, but ultimately haven't seen the sort of performance increases that are needed. HipHop's benefits are nearly transparent to our development speed.</p>

<h2>Hacking Up HipHop</h2>

<p>One night at a Hackathon a few years ago (see <a href="http://www.facebook.com/video/video.php?v=124728580468&ref=mf">Prime Time Hack</a>), I started my first piece of code transforming PHP into C++.  The languages are fairly similar syntactically and C++ drastically outperforms PHP when it comes to both CPU and memory usage.  Even PHP itself is written in C.  We knew that it was impossible to successfully rewrite an entire codebase of this size by hand, but wondered what would happen if we built a system to do it programmatically.</p>

<p>Finding new ways to improve PHP performance isn't a new concept.  At run time the Zend Engine turns your PHP source into opcodes which are then run through the Zend Virtual Machine.  Open source projects such as <a href="http://pecl.php.net/package/APC">APC</a> and <a href="http://eaccelerator.net/">eAccelerator</a> cache this output and are used by the majority of PHP powered websites.  There's also <a href="http://en.wikipedia.org/wiki/Zend_Server">Zend Server</a>, a commercial product which makes PHP faster via opcode optimization and caching. Instead, we were thinking about transforming PHP source directly into C++ which can then be turned into native machine code.  Even compiling PHP isn't a new idea, open source projects like <a href="http://www.roadsend.com/">Roadsend</a> and <a href="http://www.phpcompiler.org/">phc</a> compile PHP to C, <a href="http://www.caucho.com/resin-3.0/quercus/">Quercus</a> compiles PHP to Java, and <a href="http://www.php-compiler.net/">Phalanger</a> compiles PHP to .Net.</p>

<p>Needless to say, it took longer than that single Hackathon. Eight months later, I had enough code to demonstrate it is indeed possible to run faster with compiled code. We quickly added Iain Proctor and Minghui Yang to the team to speed up the pace of the project. We spent the next ten months finishing up all the coding and the following six months testing on production servers. We are proud to say that at this point, we are serving over 90% of our Web traffic using HipHop, all only six months after deployment.</p>

<h2>How HipHop Works</h2>

<p>The main challenge of the project was bridging the gap between PHP and C++. PHP is a scripting language with dynamic, weak typing. C++ is a compiled language with static typing.  While PHP allows you to write magical dynamic features, most PHP is relatively straightforward.  It's more likely that you see <code>if (...) {...} else {..}</code> than it is to see <code>function foo($x) { include $x; }</code>. This is where we gain in performance. Whenever possible our generated code uses static binding for functions and variables. We also use type inference to pick the most specific type possible for our variables and thus save memory.</p>

<p>The transformation process includes three main steps:</p>
<ol>
    <li>Static analysis where we collect information on who declares what and dependencies,</li>
    <li>Type inference where we choose the most specific type between C++ scalars, String, Array, classes, Object, and Variant, and</li>
    <li>Code generation which for the most part is a direct correspondence from PHP statements and expressions to C++ statements and expressions.</li>
</ol>

<a href="http://wiki.developers.facebook.com/images/2/23/HipHop_transformation_process.png"><img src="http://wiki.developers.facebook.com/images/2/23/HipHop_transformation_process.png" width="450" height="281" /></a>

<p>We have also developed HPHPi, which is an experimental interpreter designed for development.  When using HPHPi you don't need to compile your PHP source code before running it.  It's helped us catch bugs in HipHop itself and provides engineers a way to use HipHop without changing how they write PHP.</p>

<p>Overall HipHop allows us to keep the best aspects of PHP while taking advantage of the performance benefits of C++. In total, we have written over 300,000 lines of code and more than 5,000 unit tests. All of this will be released this evening on GitHub under the open source PHP license.</p>

<h2>Learn More this Evening</h2>

<p>This evening we're hosting a small group of developers to dive deeper into HipHop for PHP and will be streaming this tech talk live.  Check back here around 7:30pm Pacific time if you'd like to watch.</p>

<p>As I'm sure there will be plenty of questions, starting this evening take a look at the <a href="http://github.com/facebook/hiphop-php/wikis">HipHop wiki</a> or join the <a href="http://groups.google.com/group/hiphop-php-dev">HipHop developer mailing list</a>.  You'll also find us at <a href="http://www.fosdem.org/2010/schedule/events/scalingfacebook">FOSDEM</a>, <a href="http://www.socallinuxexpo.org/scale8x/">SCALE</a>, <a href="http://www.phpconference.co.uk/">PHP UK</a>, <a href="http://www.confoo.ca/">ConFoo</a>, <a href="http://tek.phparch.com/">TEK X</a>, and <a href="http://en.oreilly.com/oscon2010">OSCON</a> over the next few months talking about HipHop for PHP.  We're very excited to evolve HipHop into a thriving open source project along with all of you.</p>

<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="320" id="utv226710"><param name="flashvars" value="autoplay=false&amp;brand=embed&amp;cid=508916"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="movie" value="http://www.ustream.tv/flash/live/1/508916"/><embed flashvars="autoplay=false&amp;brand=embed&amp;cid=508916" width="400" height="320" allowfullscreen="true" allowscriptaccess="always" id="utv226710" name="utv_n_417317" src="http://www.ustream.tv/flash/live/1/508916" type="application/x-shockwave-flash" /></object></div>

<p><em>Haiping Zhao, a senior engineer, has found Facebook to be a programmer's paradise.</em></p></p>]]>
   </content>
 </entry>
 <entry>
   <title>Preparing for the Launch of the Games and Applications Dashboards</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=356"/>
   <id>urn:uuid:de71323a-25af-4bdc-9aac-81c409ac090c</id>
   <updated>2010-01-21T13:00:00Z</updated>
    <summary>We're launching the Games Dashboard and the Applications Dashboard in the coming weeks to make it ea...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>We're launching the Games Dashboard and the Applications Dashboard in the coming weeks to make it easier for users to interact with your applications and provide you with new communication channels accessible to all users from the home page. Later today, we're <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API">updating the Dashboard API</a> and opening up the <a href="http://www.facebook.com/apps_preview">Applications Dashboard sandbox</a> and the <a href="http://www.facebook.com/games_preview">Games Dashboard sandbox</a> so that you can begin integrating your applications to ensure that your users will see personalized and interesting content from you in their dashboards when they go live. Get started populating the dashboards by visiting the sandboxes today.
</p><p>
With the Games and Applications Dashboards come several new features, including:
</p>
<ul style="list-style-type:disc";margin:"15px">
<li><b>Recently used applications and games:</b> The top section of the dashboards will prominently display applications that a user has recently interacted with, making it easy to reengage with the applications they use most often. This section will also include a link to a page where users can see all of the applications they have interacted with, whether or not they have been bookmarked.</li>
<li><b>News items:</b> Applications will have the ability to display news stories, giving you the ability to communicate with your users and alert them to news related to your application, such as, "It's your turn in a game against Jared" or "The leaderboard was reset 6 hours ago, come play!" You'll have the option to set <i>global news items</i>, which will be visible to all users, or <i>personal news items</i>, which target a specific user. The news component will appear as a text field next to each application in the dashboard.</li>
<li><b>Mentioning Users:</b> Using simple syntax, you can render users' names and links to their profiles in news and activities.</li>
<li><b>Your Friends' Recent Activity:</b> The dashboards will display some of the applications that a user's friends are using along with information about relevant activities within the application. You'll set these activity stories via the Dashboard API.</li>
<li><b>Your Friends Play:</b> Another way we'll help users discover new applications is by showing them a number of their friends who frequently use applications, and the applications those friends use.</li>
<li><b>Directory:</b> The Directory section of the dashboard will show the applications that currently appear in the "Applications You May Like" section of the Application Directory. We will also link to the <a href="http://www.facebook.com/apps/directory.php">Application Directory</a> in this section.</li>
<li><b>Suggestions:</b> On the right hand side we'll have a Suggestions area where Facebook will highlight applications we think users might like, based on the applications they and their friends are using.</li>
<li><b>Counters and home page placement:</b> "Games" and "Applications" links will appear on users' home pages and will link to the dashboards, once the new home page launches to users in the coming weeks. Bookmarked applications will also have prominence on the home page, and can be accompanied by Counters that you can set to let users know there are actions for them to take within your applications. </li>
</ul>
<p>
The Games Dashboard (image below) will include any application categorized as a game (if you submitted it to the <a href="http://www.facebook.com/apps/directory.php">Application Directory</a> as a game), while non-game applications will appear in the Applications Dashboard. Additionally, all application links in the dashboards will direct to the application's canvas page or info page (depending on whether a user has used the application before).
</p><p>
<a href="http://wiki.developers.facebook.com/images/0/03/Games-dashboard-annotated.png"><img src="http://wiki.developers.facebook.com/images/0/03/Games-dashboard-annotated.png" width="450" /></a>
</p>
<p><i><b>Note:</b> This design is preliminary and subject to change.</i>
</p>
<p>
Read more about the dashboards on our <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API">Developer Wiki</a>. As always, please share your feedback with us in the <a href="http://forum.developers.facebook.com/">Developer Forum</a>, and check the <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">Developer Roadmap</a> frequently for the latest information on updates to Facebook Platform.
</p><p>
<i>Jordan, a software engineer on the Platform team, plays games like it's his job.</i>
</p></p>]]>
   </content>
 </entry>
 <entry>
   <title>Communicating Directly with Your Users via Email</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=355"/>
   <id>urn:uuid:f60c8fba-ca6a-455c-9662-389057748e93</id>
   <updated>2010-01-20T10:00:00Z</updated>
    <summary>
Facebook Platform has evolved since its launch in 2007, providing developers with a number of diffe...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>
Facebook Platform has evolved since its launch in 2007, providing developers with a number of different communication channels to interact with their users. In October 2009 we <a href="http://developers.facebook.com/news.php?blog=1&story=326">announced</a> a roadmap for developers that outlined a number of improvements including direct and simplified communication between developers and users. Today we're delivering on this commitment by providing a simple way for users to share their email addresses with you via a process designed to reduce friction and empower application and Facebook Connect developers to manage their relationship with users. 
</p><p>
While we're making the process of requesting email addresses more streamlined today, some developers have been communicating with users through this channel for some time. For example, <a href="http://livingsocial.com/">LivingSocial</a> has been sending emails to users of <a href="http://apps.facebook.com/facebookshelf/">Visual Bookshelf</a> for the past two years, consistently driving 10% of traffic to the application. They have found emails are most successful when they provide users with dynamically-generated content (such as a listing or books a user has marked as "currently reading" or a feed of all friend activity). More engaging messages generated above-average click-through rates of 5-12%.
</p><h2>
How It Works
</h2><p>
Once the feature goes live tonight, you will be able to ask users to share their primary Facebook email address with you so that you can communicate with them directly. We recommend you use email to send them interesting and relevant information, like receipts for purchases they make, messages to help reactivate them if they haven't visited your application or integration in a while, or newsletters promoting new features or contests.
</p><p>
You'll ask users to share their primary email address with you by prompting them through the existing <a href="http://wiki.developers.facebook.com/index.php/Extended_permissions">email extended permission</a> (users will still have the ability to choose to share a proxied email address instead). You will also have the ability to require users to share their email addresses in order to use your application or Facebook Connect integration. Once the user has shared his or her email address with you, you can <a href="http://wiki.developers.facebook.com/index.php/Storable_Data">store it indefinitely</a>, within <a href="http://www.ftc.gov/bcp/edu/pubs/business/ecommerce/bus61.shtm">CAN-SPAM Act regulations</a>. If a user has already chosen to share a proxied email address with you via the extended permission, you can continue to email the user at that address.
</p><p>
As always, we expect Facebook Platform applications and Facebook Connect integrations to adhere to the Facebook Platform <a href="http://developers.facebook.com/policy/">policies</a> and provide users with a trustworthy experience. Developers will also be held to the Federal Trade Commission's CAN-SPAM act, and so we encourage you to become familiar with the guidelines associated with emailing users. Those developers who do not comply with these policies will face enforcement, which may include removal from Facebook Platform.
</p><p>
Learn how you can request email address access by reading the <a href="http://wiki.developers.facebook.com/index.php/Communicating_with_Users_via_Email">documentation</a>.
</p><p>
We'll also give all canvas applications the ability to prompt users to share their email address via a dialog at the top of all canvas pages. Read the <a href="http://wiki.developers.facebook.com/index.php/Communicating_with_Users_via_Email">documentation</a> to see how to set this dialog to appear.
</p><p>
<img src="http://wiki.developers.facebook.com/images/d/d1/Email_notice.png" width="450" />
</p><p>
We've been updating our <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">Developer Roadmap</a> with details about this <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Email">launch</a>, and details about a number of upcoming launches, including the new <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Dashboards">Games and Applications Dashboards</a> and changes to the <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Home_Page">home page</a>. This is the best place to find out details about what's coming up next.
</p><p>
As always, please share your feedback with us in the <a href="http://forum.developers.facebook.com/">Developer Forum</a>.
</p><p>
<i>Arjun, an engineer on the Platform team, likes hearing it straight from the source.</i>
</p></p>]]>
   </content>
 </entry>
 <entry>
   <title>Building on our Commitment to Open Source Software</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=354"/>
   <id>urn:uuid:c84b8f1d-2a8d-43a2-805a-ab0c94d2bdaa</id>
   <updated>2010-01-12T10:00:00Z</updated>
    <summary>
From the day Mark Zuckerberg started building Facebook in his Harvard dorm room in 2004, the site h...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>
From the day Mark Zuckerberg started building Facebook in his Harvard dorm room in 2004, the site has been built on common open source software such as Linux, Apache, memcached, MySQL, and PHP.  In that time, we've <a href="http://developers.facebook.com/opensource.php">open sourced more than 20 different technologies</a>, and scaled Facebook to reach over 350 million people around the world.  Today we are pleased to announce that we are becoming a Gold sponsor of the Apache Software Foundation (ASF), which has been instrumental in fostering open source adoption and providing structure to build successful open source communities.
</p><p>
The ASF has over 100 different projects which all help the Web grow as it continues to evolve. As <a href="https://blogs.apache.org/foundation/entry/the_apache_software_foundation_welcomes">Jim Jagielski said</a>, "sponsoring the ASF helps us grow existing projects, incubate new initiatives, promote community development, host user events, expand our outreach, and provide the infrastructure that keeps the Foundation running on a day-to-day basis."  Beyond funding the ASF to help the organization grow, we really want to continue focusing on building, releasing, and fostering great open source software which tackle hard scaling problems.
</p><p>
If you read <a href="http://www.facebook.com/Engineering#/Engineering?v=app_2347471856">our engineering blog</a>, you'll know that it's not possible to scale a site like Facebook simply by sharding your databases, but rather takes a combination of specialized technologies.  Open source allows us not just to make technologies like memcached scale beyond its original intent, but to release technologies like Thrift for others to build upon as well.
</p><p>
Over the past two years we've contributed the following open source projects to the Apache Software Foundation.  While there's still work to do, our goal is to build robust communities of both developers and users around each.
<ul>
<li><a href="http://incubator.apache.org/thrift/">Thrift</a>, which is a framework for scalable cross-language services development (it lets our PHP website code talk to our backend services in C++, Erlang, and Java), was released in 2007, and then brought into the Apache Incubator in 2008.  Today there are about a half-dozen developers maintaining the project and there is language support for services written in C++, C#, Cocoa, Erlang, Haskell, Java, OCaml, Perl, PHP, Python, Ruby, and Smalltalk.  Thrift is used by over a dozen <a href="http://wiki.apache.org/thrift/PoweredBy">different projects and companies</a> including both Cassandra and Hive.  The C#, Cocoa, Java, and Ruby mappings are also now being maintained by non-Facebook developers.  About a month ago the Thrift team made their first release, <a href="http://mail-archives.apache.org/mod_mbox/www-announce/200912.mbox/<45f85f70912132208k4176ad61u6fc318d352af943d@mail.gmail.com>">Thrift 0.2.0</a>.</li>
<li><a href="http://hadoop.apache.org/hive/">Hive</a> is a data warehouse infrastructure built on top of Apache Hadoop. It provides tools to easily query and analyze large data sets stored within Hadoop. Hive defines a simple SQL-like query language that enables people familiar with SQL to get started quickly. At the same time, this language allows programmers who are familiar with the MapReduce framework to perform more sophisticated analyses that may not be supported by the built-in capabilities of the language. Most of the data analysis in Facebook - both ad hoc as well as periodic jobs - are done using Hive. We store about eight petabytes of data within Hive, which is used by more than 200 people within the company every month, regularly running over 8,000 jobs per day.  Beyond Facebook, <a href="http://wiki.apache.org/hadoop/Hive/PoweredBy">Hive is used</a> by the likes of CBS, Digg, hi5, and last.fm.</li>
<li><a href="http://incubator.apache.org/cassandra/">Cassandra</a> is a scalable, distributed, and structured key-value store which we released in late 2008 and was brought fairly quickly into the Apache Incubator.  Today we use it for Inbox search, but the majority of development is now being led by Digg, Rackspace, and Twitter.  In addition to using Cassandra for Inbox search, we have also open sourced all of the the same code that we use to run it in production. While we haven't been developing it actively, we're rather excited to see the community take on a life of its own and continue improving Cassandra and increasing its adoption.</li>

</ul>
</p><p>
Thrift, Hive, and Cassandra join about 20 different technologies we've <a href="http://developers.facebook.com/opensource.php">released as open source</a> including <a href="http://developers.facebook.com/scribe/">Scribe</a>, <a href="http://www.tornadoweb.org/">Tornado</a>, a new <a href="http://github.com/facebook/connect-js">JavaScript Connect library</a>, and <a href="http://github.com/facebook/three20">Three20 for iPhone development</a>.  We're excited to continue working on great open source projects and to support the ASF with funding, source code, and developers.  There's plenty more to come.
</p><p>
<i>David, senior open programs manager, is looking for people who like solving big problems and love working on open source. We're always <a href="http://www.facebook.com/careers/department.php?dept=engineering">looking for amazing engineers</a>!</i>
</p></p>]]>
   </content>
 </entry>
 <entry>
   <title>Postcards from December Developer Events</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=353"/>
   <id>urn:uuid:eec43e1f-b882-4141-83ae-b574dba5c84c</id>
   <updated>2010-01-06T13:45:00Z</updated>
    <summary>

We wrapped up 2009 with a multitude of developer events worldwide.  

 

The Facebook team started...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>

We wrapped up 2009 with a multitude of developer events worldwide.  

 </p><p>

The Facebook team started the month in Paris, France, at the <a href="http://www.leweb.net/">Le Web</a> conference focused on the real-time Web.  Ethan Beard, the Director of the Facebook Developer Network, gave a keynote on “Connecting in the Social Web" and <a href="http://developers.facebook.com/news.php?blog=1&story=344">announced</a> Facebook Connect has been implemented on over 80,000 sites in one year.

 </p><p>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="386" id="utv262562" name="utv_n_15731"><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=2748281" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/video/2748281" /><embed flashvars="loc=%2F&amp;autoplay=false&amp;vid=2748281" width="480" height="386" allowfullscreen="true" allowscriptaccess="always" id="utv262562" name="utv_n_15731" src="http://www.ustream.tv/flash/video/2748281" type="application/x-shockwave-flash" /></object>

 </p><p>

Later in the day, Beard was joined by other tech luminaries to discuss the current state of platforms on the Web. 

 </p><p>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="386" id="utv959081" name="utv_n_519097"><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=2748586" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/video/2748586" /><embed flashvars="loc=%2F&amp;autoplay=false&amp;vid=2748586" width="480" height="386" allowfullscreen="true" allowscriptaccess="always" id="utv959081" name="utv_n_519097" src="http://www.ustream.tv/flash/video/2748586" type="application/x-shockwave-flash" /></object>

 </p><p>

Reaching out to the local French community, over 100 developers joined us at the <a href="http://www.facebook.com/event.php?eid=186397240492">Facebook Developer Garage Paris – Le Web Edition</a> to listen to a technical walk-through of Facebook Connect and understand the benefits of building using Facebook technologies.

 </p><p>

Nearby in <a href="http://www.facebook.com/event.php?eid=211397636521">London</a>, over 150 developers gathered to discuss social gaming.  Local developers, studios, and VCs shared tips on how to retain engagement with gaming applications.   

 

 </p><p>

<img src="http://photos-b.ak.fbcdn.net/hphotos-ak-snc3/hs239.snc3/22652_687640576223_61207421_42636346_5569723_n.jpg" width=450>


 

 </p><p>

 

Over in the South Pacific, the first <a href="http://www.facebook.com/event.php?eid=186397240492">Facebook Developer Garage Philippines</a> brought motivated developers and users together to share details on the Filipino application developer achievements and discuss how to further leverage Facebook technologies to build social features.

 

 </p><p>

<img src="http://photos-e.ak.fbcdn.net/hphotos-ak-snc3/hs001.snc3/10855_105314139484931_100000190378276_144947_2435162_n.jpg" width=450>

 

 </p><p>

<a href="http://www.facebook.com/event.php?eid=211794929514">Washington D.C.’s</a> second-ever Facebook Developer Garage attracted more than 150 on-site attendees and over 18,000 virtual participants who came to understand how politicians use social applications and discuss security considerations in the application development lifecycle.  Near the end of the event, officials from President Obama’s administration stopped by to discuss the federal government’s innovation initiatives.

 </p><p>

<img src="http://photos-d.ak.fbcdn.net/hphotos-ak-snc3/hs112.snc3/15934_696554796494_5300097_40156935_227733_n.jpg" width=450>

 

 </p><p>

Across the US in  <a href="http://www.facebook.com/event.php?eid=205897918640">Seattle</a>, over 200 developers met to learn about social gaming tactics, game design, virality, and other tips to engage your users on Facebook.

 </p><p>

<img src="http://farm5.static.flickr.com/4008/4192401030_e694be0821.jpg    " width=450>

 

 </p><p>

The month ended in <a href="http://www.facebook.com/event.php?eid=208636581288">Taipei</a> where over 250 developers attended the Facebook Developer Garage, which featured talks on brand marketing and virtual currency in games.  Local Taiwanese developers also shared ideas on how to market, scale, and monetize apps on Facebook.

 

 </p><p>

<img src="http://photos-a.ak.fbcdn.net/hphotos-ak-snc3/hs168.snc3/19578_923106430176_2503747_51568047_4505865_n.jpg" width=450>

 </p><p>

If you'd like to host a Developer Garage in your region, please see our <a href="http://wiki.developers.facebook.com/index.php/Facebook_Developer_Garage">Developer Wiki</a> to learn more about the program or check out the <a href="http://facebook.com/platform">Platform Page</a> to find more garages near you. We look forward to seeing you at a Facebook event soon!

 </p><p>

<i>Julia, who manages developer events worldwide, would like to give a special thanks to our hosts: Facebook Developer Garage London, Netvibes, Facebook Developer Garage Philippines, Developer Garage Washington DC Group, Spitfire, Taiwan Facebook Developers Group, and to our sponsor <a href="http://intel.com">Intel</a></i></p></p>]]>
   </content>
 </entry>
 <entry>
   <title>December 2009 Platform News</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=352"/>
   <id>urn:uuid:7f904913-2f43-4878-95c4-ad5e64ca9167</id>
   <updated>2009-12-31T14:00:00Z</updated>
    <summary>We close the year with important updates to the new JavaScript SDK, stream publishing policies, and ...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>We close the year with important updates to the new JavaScript SDK, stream publishing policies, and stream API methods; a quartet of new FQL tables; and the new dashboard API, among other highlights. 
</p>
<h2>New Features</h2>
<ul style="list-style-type: disc; margin: 15px">
<li>We've released four new FQL tables: <a href="http://wiki.developers.facebook.com/index.php/Family_%28FQL%29">family</a>, <a href="http://wiki.developers.facebook.com/index.php/Developer_%28FQL%29">developer</a>, <a href="http://wiki.developers.facebook.com/index.php/Video_%28FQL%29">video</a>, <a href="http://wiki.developers.facebook.com/index.php/Video_tag_%28FQL%29">video_tag</a>.</li>
<li>We also released an early version of the <a href="http://wiki.developers.facebook.com/index.php/Dashboard_API">Dashboard API</a> and are updating its methods in response to your feedback. Watch the <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Dashboards">dashboard roadmap</a> for more information on when it will be ready for testing again.</li>
<li>If you or your company builds high quality Facebook Connect implementations, applications on Facebook, and/or Facebook Pages, and want to connect with more clients to expand your business, apply for the <a href="http://wiki.developers.facebook.com/index.php/Preferred_Developer_Consultant_Program">Preferred Developer Consultant Program</a>.</li>
</ul>

<h2>Updates</h2>
<ul style="list-style-type: disc; margin: 15px">
<li>We've updated some important aspects for publishing to the stream (users' and Pages' News Feeds and Walls):
<ul>
<li><b>New Feed form policy:</b> You should display Feed forms to your users only in response to explicit actions they take. Read the <a href="http://developers.facebook.com/policy/">Developer Principles and Policies</a> and the <a href="http://wiki.developers.facebook.com/index.php/Roadmap_Stream">stream roadmap</a> for more details.</li>
<li><b>Streamlining publishing methods:</b> Starting January 5, 2010, the stream publishing methods (<a href="http://wiki.developers.facebook.com/index.php/Stream.publish">stream.publish</a>, <a href="http://developers.facebook.com/docs/?u=facebook.jslib.FB.Connect.streamPublish">FB.Connect.streamPublish</a>, and <a href="http://wiki.developers.facebook.com/index.php/Facebook.streamPublish">Facebook.streamPublish</a>) will be the <i>only</i> way for you to publish to Facebook. </li>
<li><b>Action link punctuation:</b> Action links can no longer contain periods (.) and exclamation points (!), and we've begun <a href="http://wiki.developers.facebook.com/index.php/Push_Changes_-_Dec_29_2009">stripping them out</a>.</li>
</ul>
<li>We've updated the open source, alpha <a href="http://github.com/facebook/connect-js">Facebook Connect JavaScript SDK</a>. We've added support for some <a href="http://developers.facebook.com/docs/?u=facebook.joey.FB.XFBML">XFBML tags</a> and an <a href="http://developers.facebook.com/docs/?u=facebook.joey.FB.Data">advanced data layer</a> for optimizing FQL queries. Be sure to <a href="http://developers.facebook.com/docs/?u=facebook.joey.FB">read the latest documentation</a>.</li>
</ul>

<h2>Announcements</h2>
<ul style="list-style-type: disc; margin: 15px">
<li>f8 2010 is <a href="http://developers.facebook.com/news.php?blog=1&story=347">coming soon</a>! Save the date for April 21-22, 2010. Become a fan of our <a href="http://www.facebook.com/f8">f8 Page</a> on Facebook to get updates and information (including how to register) as they are announced.</li>
<li>We <a href="http://developers.facebook.com/news.php?blog=1&story=350">shipped</a> a prototype of the emerging <a href="http://oauth-wrap-wg.googlegroups.com/web/WRAP-v0.9.7.2.pdf">OAuth WRAP specification</a> on FriendFeed.</li>
</ul>

<h2>Articles/Videos</h2>
<ul style="list-style-type: disc; margin: 15px">
<li>Earlier this month, we celebrated the <a href="http://developers.facebook.com/news.php?blog=1&story=344">first birthday</a> of <a href="http://developers.facebook.com/connect.php">Facebook Connect</a>.
<li>Meanwhile, Facebook representatives participated in the international technology conference <a href="http://developers.facebook.com/news.php?blog=1&story=343">Le Web</a>, moderating a Platform roundtable, hosting the <a href="http://www.facebook.com/event.php?eid=350205870642">Facebook Developer Garage Paris</a>, and discussing connecting in the Social Web with developers from all over the world.</li>
</ul>

<p>
Keep watching this blog, the <a href="http://developers.facebook.com/live_status.php">Platform Live Status</a>, and the weekly <a href="http://wiki.developers.facebook.com/index.php/Push_Changes">Push Changes</a> articles for announcements, changes, and other important bulletins. You can subscribe to the <a href="http://developers.facebook.com/news.php?blog=1&format=xml">blog's RSS feed</a> and the <a href="http://www.facebook.com/feeds/api_messages.php">Platform Live Status RSS feed</a>, or subscribe to either or both <a href="http://www.facebook.com/developers/emailsettings.php">via email</a>.
</p><p>
Looking to see what we have in store for Facebook Platform in 2010? Read the  <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">developer roadmap</a> to stay informed.  As always, leave your continued feedback in our <a href="http://forum.developers.facebook.com">Developer Forum</a>. 
</p><p>
Happy New Year from the Platform team!
</p>
<p><i>Pete, a technical writer on the Platform team, can't want to see what the new year will bring.</i></p>
</p>]]>
   </content>
 </entry>
 <entry>
   <title>A Look Back on the App Economy of Facebook in 2009</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=351"/>
   <id>urn:uuid:ddfa3be6-4213-45d8-a661-fc7a7d27db11</id>
   <updated>2009-12-22T11:20:00Z</updated>
    <summary>As we look toward a new year, we’d like to look back at some examples of startups and established ...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>As we look toward a new year, we’d like to look back at some examples of startups and established companies, including those from Facebook's own fbFund <http://fbfund.com/> program, that built their businesses on Facebook Platform and with Facebook Connect, and made significant strides in funding, acquisitions, and creating new jobs in 2009.</p>


<p>
<img src="http://wiki.developers.facebook.com/images/e/e3/Platform2009.png" width=450>
</p>


<p>Here are 10 of the many Facebook Platform success stories of 2009:</p>


<ul style="list-style-type:disc;margin:15px"> 

<li>Life360 – Following their public launch at TechCrunch50’s DemoPit, fbFund recipient Life360 closed a <a href="http://www.techcrunch.com/2009/11/23/life360-funding">$750,000 round</a> in November to continue building their safety and security services. </li>

<li> NutshellMail – Earlier this year, NutshellMail <a href="http://blogs.wsj.com/venturecapital/2009/09/01/facebooks-rev-program-gives-start-ups-deeper-connections/">raised $600,000</a> in a round of seed funding that closed upon their acceptance into the fbFund program.</li>

<li>Playfish - One of the largest social games developer on Facebook Platform, Playfish was <a href="http://investor.ea.com/releasedetail.cfm?ReleaseID=422828">recently acquired</a> by Electronic Arts for $275 million, including $25 million in equity retention arrangements and a $100 million variable cash consideration. The company also opened a new game development studio in San Francisco, in addition to offices in London, San Francisco, Beijing, and Norway.</li>

<li>Playdom - Playdom has had a whirlwind year, announcing this month that they are profitable, and recently <a href="http://venturebeat.com/2009/11/11/playdom-raises-43-m-for-social-gaming/>raised $43 million</a> in funding and <a href="http://www.insidesocialgames.com/2009/11/12/playdom-buys-green-patch-and-trippert-labs-on-the-way-to-ipo/">acquired</a> fellow Facebook developer Green Patch and iPhone developer Trippert Labs. Playdom has grown to a staff of 210 full-time people, with most of those hired this year. </li>

<li>PopCap - The game developer behind the hit Bejeweled series <a href="http://www.insidesocialgames.com/2009/10/06/popcap-moves-deeper-into-social-gaming-with-22-5m-round">raised $22.5 million</a> in its first ever round of investment funding, as the Seattle-based company continues to build social experiences on Facebook Platform, on the iPhone with Bejeweled 2 integrated with Facebook Connect, and its online game <a href="http://fb.popcap.com/online-games/zuma/">Zuma</a>. </li>

<li>RunMyErrand - This past fbFund recipient and Boston-based company <a href="http://www.xconomy.com/boston/2009/10/30/runmyerrand-picks-up-1-million-from-west-coast-venture-firms/">raised $1 million</a> in a Series A round that will go toward expanding business to San Francisco and building communities of people that help each other with day-to-day tasks.</li>

<li>Samasource - The non-profit went on from fbFund to grow to <a href="http://www.boingboing.net/2009/11/16/teaching-refugees-ho.html">520 workers in six countries</a>, who are earning far more than the 50 cents a day they were earning in labor camps. Samasource has also generated over a quarter million dollars in sales working for clients like Google and the Stanford University Library.  </li>

<li>Thread.com - Following the fbFund REV program, social dating startup Thread.com <a href="http://online.wsj.com/article/BT-CO-20091204-705928.html?mg=com-wsj">raised $1.2 million</a> in Series A funding from First Round Capital and angel investors.</li>

<li>Watercooler - This past November, Watercooler <a href="http://www.mediapost.com/publications/?fa=Articles.showArticle&art_aid=116249">raised $5.5 million</a> in a second round of funding to fuel the growth of its leading fantasy sports applications. </li>

<li>Weardrobe - Making fashion more social with Facebook, Weardrobe <a href="http://paidcontent.org/article/419-like.com-buys-fashion-sharing-site-weardrobe">was acquired</a> by Like.com in November. The past fbFund participant's fashion sharing functionality will be integrated into Like.com's visual search engine.</li></ul>


<p>We were also thrilled to see wide adoption of Facebook Connect in 2009, across more than 80,000 websites that went more social with Facebook integrations, including Urbanspoon, which was <a href="http://www.techcrunch.com/2009/04/29/iac-buys-urbanspoon-based-on-good-recommendations/">acquired</a> by IAC in April; OpenTable, which went public in May and acquired GuestBridge, Inc. in September, textbook rental site Chegg, which <a href="http://blogs.wsj.com/digits/2009/11/19/cheggcom-raises-57-million-in-new-venture-funding/">raised $57 million</a> in November; and Etsy, which yesterday <a href="http://www.businessinsider.com/etsy-now-profitable-gets-a-new-ceo-2009-12">announced</a> that it had reached profitability.</p>

<p>We'd like to say <b>thank you</b> to the developers and entrepreneurs who make up the Facebook Platform ecosystem and congratulations on your accomplishments in 2009. </p>

<i>Ethan, director of the Facebook Developer Network, is looking forward to another year of developers empowering people to connect with one another.</i>
</p>]]>
   </content>
 </entry>
 <entry>
   <title>Implementing the New OAuth WRAP</title>
   <link href="http://developers.facebook.com/news.php?blog=1&amp;story=350"/>
   <id>urn:uuid:21dfde4d-0124-42fa-9fd5-979c5cc6a6dc</id>
   <updated>2009-12-21T13:30:00Z</updated>
    <summary>
We've shipped a prototype implementation of the emerging OAuth WRAP specification on FriendFeed.  I...</summary>
   <content type="text/html" xml:lang="en">
     <![CDATA[<p><p>
We've shipped a prototype implementation of the <a href="http://oauth-wrap-wg.googlegroups.com/web/WRAP-v0.9.7.2.pdf">emerging OAuth WRAP specification</a> on <a href="http://friendfeed.com/">FriendFeed</a>.  If you're a developer working with RESTful APIs, you'll want to check this out!
</p><p>
OAuth is a technology that can be thought of as a user's "valet key" for the Web. Just as you don't share your Facebook password with applications built on Connect or Platform, OAuth provides the same sort of functionality but in a standard way that can also be used by developers anywhere.  In the end, we're trying to make it simpler not just for developers building on our APIs, but for everyone building with OAuth.
</p><p>
While Facebook Connect and our APIs do not use OAuth today, we've been working over the past month to share what we've learned with the broader community and shape both the new OAuth WRAP specification and OAuth's <a href="http://www.ietf.org/dyn/wg/charter/oauth-charter.html">IETF standardization effort</a>.  We plan to continue developing OAuth WRAP within the community and incorporate it directly into Facebook Connect next year.
</p><p>
Last month, we joined Google, Microsoft, and Yahoo! in announcing our <a href="http://developers.facebook.com/news.php?blog=1&story=335">commitment to technologies like OAuth being free</a> to implement by anyone anywhere.  Following this announcement we hosted a small summit to go over the current state of the OAuth WRAP specification and start to define a way to make use of OAuth WRAP directly from within JavaScript, like you do today with Facebook Connect. Check out Brian Eaton's <a href="http://bit.ly/5kibrw">notes</a> from the summit.
</p><p>
Luke Shepard, an engineer on our platform engineering team, wrote a draft JavaScript profile for <a href="http://bit.ly/8QP2mL">OAuth WRAP</a>.  Thanks to Bret Taylor and the FriendFeed team, FriendFeed now has an OAuth WRAP provider prototype.
</p><p>
FriendFeed offers OAuth WRAP these endpoints:
</p>
<ul style="list-style-type:disc;margin:15px">
<li>Authorize URL: <tt>https://friendfeed.com/account/wrap/authorize</tt></li>
<li>Access Token URL: <tt>https://friendfeed.com/account/wrap/access_token</tt></li>
</ul>
<p>
We've also hosted a demo of the <a href="http://friendfeed-wrap.appspot.com/">Web App profile</a> (get the source code from <a href="http://github.com/finiteloop/friendfeed-wrap-example">GitHub</a>) and the <A href="http://open.lukeshepard.com/oauth-wrap/console/">client-only JavaScript profile</a> (source code is also on <a href="http://github.com/lshepard/oauth-wrap-demo">GitHub</a>).
</p><p>
Both of these examples allow you to do the same things -- get an access token and then fetch and render your FriendFeed news feed. The first does it on the server, the second entirely in JavaScript.
</p><p>
We're very interested in what you think about OAuth WRAP in its current form. Bret Taylor, our director of Platform, has <a href="http://bret.appspot.com/entry/oauth-wrap">gone into more of the technical details of OAuth WRAP</a> and some of the tradeoffs being made between WRAP and traditional OAuth.
</p><p>
<font color = "red">H</font><font color = "green">a</font><font color = "red">p</font><font color = "green">p</font><font color = "red">y</font> <font color = "green">H</font><font color = "red">o</font><font color = "green">l</font><font color = "red">i</font><font color = "green">d</font><font color = "red">a</font><font color = "green">y</font> <font color = "red">H</font><font color = "green">a</font><font color = "red">c</font><font color = "green">k</font><font color = "red">i</font><font color = "green">n</font><font color = "red">g</font><font color = "green">!</font>
</p><p>
<i>David Recordon, senior open programs manager, is looking for engineers that love open standards (like OAuth, OpenID, Activity Streams) and making the entire Web a more open social place. (<a href="http://www.facebook.com/careers/">want a job?</a>)</i>
</p></p>]]>
   </content>
 </entry>
</feed>