Search This Blog

Monday, April 25, 2011

How Facebook Works Part 4

To create applications in Facebook, you first must add the Facebook developer application to your profile.
You also must have access to a Web server where you can store your application -- Facebook does not host third-party programs. Applications can be Web-based, desktop-based or mobile-device-based. In other words, you can create applications that take advantage of the Facebook platform but aren't incorporated into member profiles. For example, it's possible to program an application that creates a window on your desktop that is linked to your profile's news feed.


Facebook profile and third-party applicationImage courtesy FacebookFacebook members can choose to use third-party applications like this map feature to enhance their profiles. 


Facebook says that its application programming interface (API) is based on a Representational State Transfer (REST) interface, a term coined by Roy Fielding in his Ph.D. dissertation at the University of California, Irvine. In a REST network, form follows function. Fielding's ultimate REST network was an idealized version of the World Wide Web that had independent components that worked together to maximize the efficiency of data transfers [Source: Fielding].
In terms of Facebook's API, a REST-interface means that applications interfacing with Facebook send method calls using Hypertext Transfer Protocol (HTTPGET or POST requests. HTTP is the communications protocol used by the World Wide Web -- the GET request retrieves information and the POST request adds information to an existing Web page. This means that Facebook applications can retrieve information from member profiles, post messages to profiles or do both.
Developers can also use the Facebook Query Language (FQL), which is similar to Structured Query Language (SQL). Query languages are programming languages designed to retrieve information from databases. With FQL, a developer can obtain information about any user who downloads his or her application. In a way, that's really what Facebook applications are all about -- gathering information about users. Developers could use this information as a way to create target audiences for advertising or build a consumer base for a particular product. Facebook has been criticized by people who believe the site allows application developers to gather data from members, including personal information and Web surfing habits.
Applying Yourself
In September 2007, Facebook announced a new initiative called the fbFund, which is a grant program meant to encourage third-party application development. Developers who have not received any other formal funding for their applications may apply for a grant ranging from $25,000 to $250,000 to build their companies on the Facebook platform [source:Facebook press release].
For those developers who want to create applications that deeply integrate themselves into Facebook's platform, there's the Facebook Markup Language (FBML). Facebook derived the language from HTML and added some site-specific tags. Using this language, developers can create applications that become a more integral part of the user's Facebook experience, affecting profile appearance and function.


Every application has a space on Facebook called acanvas page, which developers can use however they wish. When a user clicks on an application icon, his or her web browser goes to that application's canvas page. Developers can include Web advertising on canvas pages, sell products using a Facebook-designed interface or simply share information with the user.

The full article can be found at  http://computer.howstuffworks.com/internet/social-networking/networks/facebook.htm

No comments:

Post a Comment