Vous êtes sur la page 1sur 6

FACEBOOK: SEEKING AN UNDERSTANDING INTO THE

PLATFORM
Nadeen Ahmed Al-Abdullatif
IT, KSU
KSU, Riyadh
Saudi Arabia
nalabdullatif@student.ksu.edu.sa

ABSTRACT
This paper seeks to understand the Facebook Platform by outlining some of the technologies and
capabilities that are used to make all its different parts function. In order to arrive at a better appreciation of
Facebook, I will discuss how it has grown to be the number one accessed social network on the Web.
Moreover, I will delve into the specifics of what the various parts of the Platform do, and how these
components work together to allow developers to create rich applications that build upon the social
networking features that Facebook provides.

Keywords
Zuckerberg, Facebook, Platform.

1. INTRODUCTION
Originally designed by Mark Zuckerberg for college students in 2004, Facebook has become one of the
most important social networking sites for people of all ages. In May 2007, Facebook expanded its services
by launching its own Platform for application development. This means that in addition to providing its own
services and content to its users, Facebook allows other developers and communities to extend its social
features and reach. Whereas a social network focuses on connecting and building online social networks for
friends who share interests and activities, or who are curious to know the interests and activities of others, a
social platform goes further than that. It lets developers create external applications that give Facebook
users the chance to interact with one another in ways never before imagined [7, 8, 9].

For a better understanding of Facebook and its Platform I will first discuss what Facebook means. After, I
will highlight the services that Facebook offers to both its users and application developers. Then, I will
explain what the Facebook Platform actually means in terms of its impact on users and developers. I will
also discuss the technical aspect that comprises the Facebook Platform. Finally, I will show a few examples
of some prominent Facebook applications.

2. WHAT IS FACEBOOK?
Facebook has become one of the most important social networking sites. Students continued to use the
service after graduation, turning Facebook into a social network for young people in general. Soon people of
all ages, ranging from 12 – 90 became members [3, 8].

Behind Facebook’s complex technology are millions of real people with millions of real relationships. They all
want to be able to communicate in a variety of ways and be able to add new friends, join groups and share
information. This form of communication is not restricted by geography or time—the very factors that
separate and alienate people from one another. Therefore, as a social network, Facebook not only offers its
subscribers people who share interests and activities, but a constantly growing community of friends. Within
this environment where user subscription is perpetually increasing, the adoption of new Facebook
applications is rapidly spread, because every time someone adds an application, that news can be
transmitted to friends automatically, and they have the choice to add the application themselves. Much of

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee
provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full
citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific
permission.
The First Mini-Conference in Web Technologies and Trends (WTT)
© 2009 Information Technology Department, CCIS, King Saud University, Riyadh, Saudi Arabia
the enthusiasm about Facebook applications comes from their swift spread and use by thousands of people
within a short time [4].
The popularity of Facebook was made even greater with the development and release of the Application
Programming Interface (API). Facebook applications are significant to the people using Facebook. The
significance may be experiencing enjoyment, acquiring information, or benefiting from the services. The
applications developers may or may not be in search of profit for what they are offering. In May 2007, user
participation on Facebook reached new heights with the launch of Facebook’s Platform. With the Platform’s
release came fresh ideas and immense interest to not only the users of Facebook, but to the industry as a
whole [4, 8].

3. FACEBOOK SERVICES
Facebook provides its users with numerous services that comprise its core functions. The Facebook
Platform offers third-parties most of these services along with the information they contain [4, 8, 10]. They
are:
1. The Social Graph—The Social Graph is a phrase that Facebook uses to describe the network of
their users. It illustrates the totality of human connectedness to create the ultimate relationship
engine. Known as ―social network analysis,‖ the basic idea is that we are all bound together by a
web of relationships. Some of the ties are direct and strong while others are tenuous and weak: if I
know you and you know Sara, then theoretically I am connected to Sara. It is the six degrees of
separation concept where everyone is connected to everyone else however distantly. Now imagine
a diagram of all those interpersonal connections—that is the Social Graph.
2. User Profiles—Information about users can be obtained through their pages. Depending on the
privacy settings, these pages, that include user-generated content and information gathered from
the social graph, are available to other users. Within these pages are the various ways users
communicate with one another through message links and a profile Wall from which users post
messages to each other.
3. Messaging—Messaging refers to messages sent between users and general announcements.
4. Pages—Facebook Pages are among the many features of Facebook. Pages are a way to design a
profile for not only a business, music band, or celebrity, but anything you can imagine. These pages
are overseen and modified by one or more Facebook users. A Facebook Page gives Facebook
users the chance to interact with the page’s subject by becoming a fan or by using the message
board.
5. Information Aggregates—The immense scale of data available on Facebook makes it necessary
to implement a system that sorts the information according to the user’s interests. This is achieved
through information aggregates like the News Feed or Mini-Feed, or the user profile pages.

4. WHAT IS THE FACEBOOK PLATFORM?


The word Platform is used to describe a variety of things. For instance, railway stations have platforms for
passengers to embark on and disembark off trains, there are large structures on the ocean bed used for
extracting oil called oil platforms, and there are even platform shoes for women who want added height!

Facebook also has its own Platform launched in 2007, appropriately titled the Facebook Platform. But it is an
entirely different platform from those mentioned above—it is not one that you put on your feet but rather a
framework on which applications may be run. As defined by Facebook developers the Facebook Platform is
―a standards-based Web service with methods for accessing and contributing Facebook data‖ [5]. This
service is what enables anyone with the desire to create an application to interact and integrate with core
Facebook services.

It is only natural that something that is successful would evolve and progress to the next level. For Facebook
that next level is the creation of a Platform. Although Facebook achieved widespread fame because of its
clearly defined structure and social network, it is its Facebook Platform that is giving the company lasting
popularity and establishing the company’s potential longevity. Because of third-party applications, Facebook
now offers an important reason for users to invest themselves in Facebook.com in ways that they could
never do before with other social networking sites like MySpace [7]. In fact, as soon as the Platform was
released, it did not take long before users began to see thousands and thousands of Facebook-inspired
applications from all kinds of developers ranging from major corporations to hobbyists working from their
homes. Users were given the opportunity to interact in new and exciting ways. For example, within just four
days of launching the developer’s platform, a company called iLike built a music application that had one
million users! [4, 5] Competitors, too, have taken notice of Facebook’s Platform. Soon after its launch, two of
Facebook’s major rivals were announcing their plans to get underway with similar Platforms [11].

With the release of its Platform, Facebook quickly became one of the top social network web sites with more
1
than 120 million users as of December 2008 . Whereas MySpace and Friendster had been the sites to visit
for online social interaction, Facebook has surpassed them to become the fastest growing social networking
site. It was ranked in the top 10 most visited web sites in the summer of 2008, and its users are no longer
limited to American university students, but are people of various ages from various countries. As reported
by Facebook, more than 50% of subscribers log in daily and spend an average of 19 minutes a day on the
site. According to Alexa, Facebook is the number one accessed social network in Saudi Arabia [1, 4].

5. WHAT IS A FACEBOOK APPLICATION?


Applications on Facebook are the main features that turn Facebook into a social platform. They greatly
affect the users and, as the platform continues to expand, they will play an important role in the progress of
Facebook as a whole. Applications are tools that enable our interactions with family and friends. Even small
businesses are learning that instead of creating an independent social networking site, it is far less
complicated and more efficient to just plug in to an existing platform like Facebook. The applications offered
give users the chance to move from using web sites to using web operating systems [7].

6. BASIC APPLICATION ARCHITECTURE


Third-party applications do not live on the Facebook’s server. Rather, they are hosted on an external server
(usually the developer’s server). These applications are called by Facebook when a user requests a certain
application. When developers configure their applications, they provide a Canvas Page URL and a Callback
URL. The former is the address where the application lives on Facebook, and the latter is where the
application is hosted on the external server [5].

Briefly, this is how the application process works: a user makes an HTTP request to the Facebook server
through the Canvas Page URL; the Facebook server in return sends out an HTTP request to the
application’s server based on the Callback URL provided; then, the application calls out Facebook’s APIs or
submits query statements, depending on whether the user uses API methods or Facebook Query Language
(FQL) to access data. After all the data needed has been accessed, the application server returns Facebook
Markup Language (FBML) to the Facebook server that in turn processes FBML and converts it to HTML.
Finally, the output is rendered on a browser (see Figure 1) [5].

Figure 1. Facebook Application Architecture

7. THE COMPONENTS OF THE FACEBOOK PLATFORM


As all large web services have a multitude of moving components, it is vital that we understand how they
each come together to form the Facebook Platform. By implementing the platform model, Facebook has

1
This fact was reported on FOX News in December 2008.
distinguished itself from other API web sites on the Web. The Facebook Platform has four chief operations
that [8]:
1. Offer reliable and consistent methods to exchange information between itself and third-parties.
2. Handle relationships between Facebook users.
3. Offer methods to spread content on various mediums.
4. Offer methods of interaction between users.

From the perspective of the application developer, there are four basic elements that create the platform
that must be kept in mind. These comprise the Platform Core Technologies that permit developers to
design rich applications that integrate with Facebook [6]. These elements are:
1. Facebook Application Programming Interface (API)
2. Facebook Markup Language (FBML)
3. Facebook JavaScript (FBJS)
4. Facebook Query Language (FQL)

7.1 Facebook Application Programming Interface (API)


2
Facebook provides a range of API methods for application developers (See Table 1) . Theses APIs are the
doors to integrate applications with the Facebook Platform. Think of it this way, you can ask for a user’s
name, or you can tell it to send a notification to a set of users. The API is the one allowing you to ask these
3
questions. The API uses a REST-like interface. This means that our Facebook method calls are made over
the Internet by sending HTTP Get or Post requests to the Facebook API REST server. Nearly any computer
language can be used to communicate over HTTP with the REST server [6].

Table 1. Some API methods

Method Description
friends.getList Returns the identifiers for the current user's Facebook friend lists.
pages.isFan Checks whether a user is a Fan of a specified page.
photos.addTag Adds a tag along with the given information to a photo.
profile.getFBML Gets the FBML that is currently set for a user's profile.
users.setStatus Updates a user's Facebook status..

7.2 Facebook Markup Language (FBML)


Although the Facebook API is basically used to obtain Facebook data, it is the Facebook Markup Language
(FBML) that is the primary tool that lets developers build applications that deeply integrate into the Facebook
Platform. Depending on the user’s privacy settings, developers can hook into many Facebook services like
the Wall, Board, and profile box. This is made possible with FBML [6].

FBML is derived from HTML after the removal of some HTML elements and the addition of others (specific
4
to Facebook) (See Table 2) . The Facebook server processes and converts their markup to HTML and
renders the output in a browser [6].
Table 2. Some FBML Tags

FBML Tag Description


fb:name Displays the name of the user specified.
fb:user-status Returns the status of the user specified by uid.

2
For a complete list of API methods, please visit: http://wiki.developers.facebook.com/index.php/API
3
REST is an "architectural style" that basically exploits the existing technology and protocols of the Web, including HTTP and XML.
4
For a complete list of FMBL tags, please visit: http://wiki.developers.facebook.com/index.php/Category:FBML_tags
fb:profile-pic This tag turns into an img tag for a specific user’s or Facebook Page’s profile picture.
fb:photo Displays a Facebook photo.
fb:mp3 Displays a flash-based audio player

7.3 Facebook JavaScript (FBJS)


The Facebook Platform left little to be desired when it first launched in terms of dynamic client-side scripting.
To combat this problem, Facebook built FBJS. FBJS is Facebook's answer to developers who want to use
JavaScript in their Facebook applications because it enables developers to have all the functionality they
need, as well as to protect their users' privacy. FBJS, therefore, fulfilled the demands of both the community
and application developers. JavaScript that developers give to Facebook gets parsed, and any identifiers
(function and variable names) get prefaced with the application ID and an underscore. For example, let us
suppose the application ID is 112233 [6]. The following code block:
Function test(num)
{
var obj = {property: num};
return obj.property;
}
becomes:
Function 112233_test(112233_num)
{
var 112233_obj = {property: 112233_num};
return 112233_obj.property;
}

7.4 Facebook Query Language (FQL)


Developers use FQL as a way to query the same Facebook data as they would through other API functions,
but with a SQL-style interface [6]. FQL queries in general have the same syntax as a regular SQL statement.
Below is a general FQL syntax:
SELECT [fields] FROM [table] WHERE [conditions]
A typical query looks something like this:
SELECT name, pic FROM user WHERE uid = 112233 OR uid = 332211
The advantages for developers using FQL over Facebook’s more traditional API methods are as follows [6]:
1. FQL is more efficient—Instead of receiving all of the information available about a large set of
items, you can simply get the required fields for only the set of items matching a specific condition.
You can request the specific set of information by adding constraints to the WHERE clause and only
listing certain fields in the SELECT clause. In fact, the asterisk * (for all) is not supported in FQL,
developers will have to list all the fields by name.
2. FQL can reduce the number of necessary requests—Usually, the data that developers are trying
to get depends upon the results of a previous method call. For example, with the traditional API, to
get the names of a person's friends, you first call friends.get and then pass the result directly
back to users.getInfo. Now, developers execute one FQL query that uses a sub query to get the
set of friends—thus saving time.
3. FQL is language independent—The Facebook API is written in many different programming
languages, such as Python, Ruby on Rails, or Java to support various versions. So, when
developers work in more than one programming environment, their Facebook code must be specific
to each one. However, in FQL the same statement can be used anywhere.

But there are some restrictions on the FQL queries [6]:


1. The FROM clause in FQL can contain only a single table.
2. In the SELECT or WHERE clauses developers can use the IN keyword to perform sub queries.
However, the sub queries cannot reference variables in the outer query's scope.
3. The columns that are in the WHERE clause must be indexable.
8. SAMPLE FACEBOOK APPLICATIONS
Facebook has adopted thousands and thousands of third-party applications. Some of the most popular ones
are mentioned below [2]:
Traveler IQ Challenge
This application tests a user’s IQ like any other IQ test. However, this application is more specific
to testing how well the user knows the world. There are about 204,774 monthly active users
using this application.
Six Degrees
Six Degrees is an experimental application using Facebook to see how the ―six degrees of
separation‖ theory works in practice. There are about 131,955 monthly active users trying to
figure out how they are connected to everyone else they may or may not know!
Friends for Sale!
This application offers their users to buy and sell friends as pets! This is a fun way to make
money as a shrewd pets investor or as a hot commodity! It has about 2,589,989 monthly active
users, of which a 100 are my friends!

9. CONCLUSION
Although this paper focuses on the technology behind Facebook, we should not forget that much of
Facebook’s success is due to Mark Zuckerberg because what sets him apart is his strong desire for
advancement (and luck). It is the kind of desire that reminds us of a young Bill Gates who in his youth set
out with the goal to put a PC on every desk of every home and every office in the world—all of them running
Microsoft Operating System; or the desire of the Google boys whose goal is to organize and make all of the
world’s information just a click away, via Google. In Zuckerberg’s case, he has managed to turn Facebook
into the window of the web by means of a Platform on which software developers can build rich applications
to make the site more useful, enjoyable, and all encompassing. An important goal of Facebook has always
been to make it easy for users to benefit from one anothers’ knowledge, and the Facebook Platform brings
that knowledge to users and developers everywhere. What is more is that within its ever evolving website,
Facebook is now making its platform architecture available as a model for other social network sites.
Facebook will even go as far as licensing the Facebook Platform methods and tags for use by other
platforms, which means that the 100,000 developers currently building Facebook applications can make
their applications available on other social network sites with no extra work. Zuckerberg’s desire is not only
to create a service that captures the totality of human connectedness, but to be able to share the totality of
human information. Although some of the current applications are not useful, the potential of the Platform
cannot be overstated. This is one big reason why Microsoft was not just willing but eager to spend 240
million dollars to own 1.6% of Facebook [5, 12]!

10. REFERENCES
[1] Alexa, Located on the Internet at http://www.alexa.com. Last visited: 7 December, 2008.
[2] Application Directory, Located on the Internet at http://www.facebook.com/apps/. Last visited: 11 December, 2008.
[3] Elgan, M. How Facebook Is Destroying the 'Nuclear Family', Located on the Internet at
http://itmanagement.earthweb.com/. Last visited: 8 December, 2008.
[4] Facebook. Located on the Internet at http://facebook.com. Last visited: 11 December, 2008.
[5] Facebook Development Center. Located on the Internet at http://developers.facebook.com/. Last visited: 13
December, 2008.
[6] Facebook Wiki. Located on the Internet at http://wiki.developers.facebook.com/index.php/Main_Page. Last visited:
13 December, 2008.
[7] Feiler, J. Facebook Applications. New York. 2008.
[8] Gerakines, N. Facebook Application Development, Massachusetts. 2008.
[9] Graham, W. Facebook API Developers Guide, New York. 2008.
[10] Iskold, A. Social Graph: Concepts and Issues, in Read Write Web, 2007, Available on line
http://www.readwriteweb.com/ Last visited: 11 December, 2008.
[11] Stelter, B. From MySpace to YourSpace, in The New York Times, 2008, Available on line http://www.nytimes.com
Last visited: 9 December, 2008.
[12] Swartz, J., and B. Acohido. Microsoft Buys a Bit of Facebook, in USA Today, 2007, Available on line
http://www.usatoday.com/ Last visited: 8 December, 2008.

Vous aimerez peut-être aussi