Sunday 27 March 2011

Facebook Platform

The Facebook Platform[1] provides a set of APIs and tools which enable 3rd party developers to integrate with the "open graph" — whether through applications on Facebook.com or external websites and devices. Launched on May 24, 2007, Facebook Platform has evolved from enabling development just on Facebook.com to one also supporting integration across the web and devices.

Facebook Platform Statistics as of May 2010:[2]

    * More than one million developers and entrepreneurs from more than 180 countries
    * More than 550,000 active applications currently on Facebook Platform
    * Every month, more than 70% of Facebook users engage with Platform applications
    * More than 250,000 websites have integrated with Facebook Platform
    * More than 100 million Facebook users engage with Facebook on external websites every month

Third party companies provide application metrics, and several blogs have sprung up in response to the clamor for Facebook applications. On July 4, 2007, Altura Ventures announced the "Altura 1 Facebook Investment Fund," becoming the world's first Facebook-only venture capital firm.[3]

On August 29, 2007, Facebook changed the way in which the popularity of applications is measured, to give attention to the more engaging applications, following criticism that ranking applications only by the number of people who had installed the application was giving an advantage to the highly viral, yet useless applications.[4] Tech blog Valleywag has criticized Facebook Applications, labeling them a "cornucopia of uselessness."[5] Others have called for limiting third-party applications so the Facebook "user experience" is not degraded.[6][7]

Primarily attempting to create viral applications is a method that has certainly been employed by numerous Facebook application developers. Stanford University even offered a class in the Fall of 2007, entitled, Computer Science (CS) 377W: "Create Engaging Web Applications Using Metrics and Learning on Facebook". Numerous applications created by the class were highly successful, and ranked amongst the top Facebook applications, with some achieving over 3.5 million users in a month

History

Facebook launched the Facebook Platform on May 24, 2007, providing a framework for software developers to create applications that interact with core Facebook features.[9][1] A markup language called Facebook Markup Language was introduced simultaneously; it is used to customize the "look and feel" of applications that developers create. Using the Platform, Facebook launched several new applications,[9][1] including Gifts, allowing users to send virtual gifts to each other, Marketplace, allowing users to post free classified ads, Events, giving users a method of informing their friends about upcoming events, and Video, letting users share homemade videos with one another.[10][11]

Applications that have been created on the Platform include chess, which both allow users to play games with their friends.[12] In such games, a user's moves are saved on the website, allowing the next move to be made at any time rather than immediately after the previous move.[13]

By November 3, 2007, seven thousand applications had been developed on the Facebook Platform, with another hundred created every day.[14] By the second annual f8 developers conference on July 23, 2008, the number of applications had grown to 33,000,[15] and the number of registered developers had exceeded 400,000.[16]

Within a few months of launching the Facebook Platform, issues arose regarding "application spam", which involves Facebook applications "spamming" users to request it be installed.[17]

Facebook integration was announced for the Xbox 360 and Nintendo DSi on June 1, 2009 at E3.[18] On November 18, 2009, Sony announced an integration with Facebook to deliver the first phase of a variety of new features to further connect and enhance the online social experiences of PlayStation 3.[19] On February 2, 2010, Facebook announced the release of HipHop for PHP as an opensource project

High-level Platform components

Graph API

The Graph API is the core of Facebook Platform, enabling developers to read and write data to Facebook. It provides a simple and consistent view of the social graph, uniformly representing objects (e.g., people, photos, events, and pages) and the connections between them (e.g., friendships, likes, and photo tags).[21]

Authentication

Facebook authentication enables developers’ applications to interact with the Graph API on behalf of Facebook users, and it provides a single-sign on mechanism across web, mobile, and desktop apps

Social plugins

Social plugins – including the Like Button, Recommendations, and Activity Feed – enable developers to provide social experiences to their users with just a few lines of HTML. All social plugins are extensions of Facebook and are specifically designed so no user data is shared with the sites on which they appear

Open Graph protocol

The Open Graph protocol enables developers to integrate their pages into the social graph. These pages gain the functionality of other graph objects including profile links and stream updates for connected users.[24]The implications that the Open Graph may have on the web as a whole relate significantly to the idea of search engines. While currently Google still attracts more traffic than any other website, Facebook is a close second.[25] Even without a good internal search engine, Facebook already drives more traffic for some searches, specifically social searches, than Google itself.[26] And in attempting to link Facebook with the rest of the web, the Open Graph is creating Facebook’s own extensive and highly interactive version of a search engine. It is important to note, however, that Google still holds significant importance in the large scheme of things, and even if Facebook does surpass Google, Google will likely continue to warrant enough traffic to play a large role in the online world.

Facebook Markup Language

Facebook Markup Language ("FBML") is a variant-evolved subset of HTML with some elements removed. It allows Facebook Application developers to customise the "look and feel" of their applications, to a limited extent. It is the specification of how to encode content so that Facebook's servers can read and publish it, which is needed in the Facebook-specific feed so that Facebook's system can properly parse content and publish it as specified.[27] FBML set by any application is cached by Facebook until a subsequent API call replaces it. Facebook also offers specialised Facebook Javascript (FBJS) and library.[28]

By the end of 2010, Facebook will no longer be accepting new FBML applications, but will continue to support existing FBML tabs and applications. Facebook recommends the use of iframes for new application development.[

Facebook Connect

Facebook Connect is a set of APIs from Facebook that enable Facebook members to log onto third-party websites, applications, mobile devices and gaming systems with their Facebook identity. While logged in, users can connect with friends via these media and post information and updates to their Facebook profile. Developers can use these services to help their users connect and share with their Facebook friends on and off of Facebook and increase engagement for their website or application.

Originally unveiled during Facebook’s developer conference, F8, in July 2008, Facebook Connect became generally available in December 2008. According to an article from The New York Times, "Some say the services are representative of surprising new thinking in Silicon Valley. Instead of trying to hoard information about their users, the Internet companies (including Facebook, Google, MySpace and Twitter) all share at least some of that data so people do not have to enter the same identifying information again and again on different sites."[30]

Since launching Facebook Connect, the company has rolled out additional features related to the services some of which include: Translations for Connect;[31] Facebook Connect Wizard and Facebook Connect for the Mobile Web.

Facebook Connect cannot be used by users in locations that cannot access Facebook (e.g. China), even if the third-party site is otherwise accessible from that location.

Microformats

In February 2011, Facebook began to use the hCalendar microformat to mark up events, and the hCard microformat for the events' venues, enabling the extraction of details to users' own calendar or mapping applications