0% found this document useful (0 votes)
22 views20 pages

Entrepreneur's Playfield: Building Applications On Facebook Platform David Zhuang

This document provides an overview of building applications on the Facebook platform. It discusses open distribution through Facebook's large user base, integration points like profile and news feed, the traditional web app and Facebook-specific canvas architectures, API and FQL capabilities for accessing user data, FBML for building Facebook-specific interfaces, resources for developers, and factors for success when building on the platform.

Uploaded by

coolzap89
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views20 pages

Entrepreneur's Playfield: Building Applications On Facebook Platform David Zhuang

This document provides an overview of building applications on the Facebook platform. It discusses open distribution through Facebook's large user base, integration points like profile and news feed, the traditional web app and Facebook-specific canvas architectures, API and FQL capabilities for accessing user data, FBML for building Facebook-specific interfaces, resources for developers, and factors for success when building on the platform.

Uploaded by

coolzap89
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

Entrepreneur’s Playfield

Building Applications on
Facebook Platform

David Zhuang
Overview
 Open Distribution to Millions of Users

 Capabilities / Integration Points

 Architecture

 Components

 Resources
Open Distribution
 Build It, And They Are Already There
• Developers: Equal Footing with Organizations

 Platform Is Completely Open

 Automated Viral Distribution Engine: News Feed

 New Model for Entrepreneurs


• Experiment: Low Investment (Time/Money)
• If It Works, Ramp up
Capabilities / Integration Points
1. Product Directory
2. About
3. Left Nav
4. Facebook Canvas Pages
a. Home
b. User Dashboard
c. Settings
5. Profile
a. Profile Box
b. Profile Action Links
6. Privacy Settings
7. News Feed
8. Alerts
9. Message Attachments
10. Requests
Canvas: Embedded Application

Left Canvas
Nav
Home Page: Viral Distribution

News
Feed
Left
Nav
Profile: Viral Distribution

News
Left
Feed
Nav

Profile
Box
Architecture: Traditional Web App
1. HTTP
Request Your Server

Web/App
Server

2. HTML SQL
Response Query Data

Database
Architecture: Facebook App - Canvas

2. HTTP
1. HTTP / REST Your Server
Facebook
Server Web/App
Server
6. HTML 3. API/FQL
SQL
Query Data
4. API Rsp

Database
5. FBML
Architecture: Facebook App - Profile

1. HTTP 0. API/FBML Your Server


Facebook (Pushed
Server Separately) Web/App
Server
2. HTML
SQL
Query Data

Database
Components
 API
• Web Service API
• Client Library:
• Official: PHP, Java
• Unofficial: Perl, Python, Ruby, VB.NET, and others

 FQL
• Similar to SQL
• Access to user profile, friend, group, event, and photo

 FBML
• Similar to HTML
• Subset of HTML + Proprietary Extensions
API
 Web Service API: Well Documented
 API Client Library
• Mostly Covered by Web Service API Documentation
• For the Rest, Read Code (Only 2 Files)
• facebook.php
• facebookapi_php5_restlib.php
 Access Facebook User Data
• Profile, Friends, Group, Event, Photo, etc.
 Update User Views
• Profile, Feed, etc.
API Client Lib Function Examples
$facebook->redirect($url)

$facebook->require_login() / $facebook->require_add()

$facebook->get_login_url() / $facebook->get_add_url()

$facebook->api_client->feed_publishStoryToUser($title,
$body, ...)

$facebook->api_client->friends_get()

$facebook->api_client->friends_getAppUsers()

$facebook->api_client->groups_get ($uid=null, $gids=null)

$facebook->api_client->profile_setFBML($markup, $uid=null)
FQL
 Very Similar to SQL
• Select From One Table At a Time, No Join
• Query Must Be Indexable

 Access Facebook Database Tables


• user, friend, group, group_member, event,
event_member, photo, album, photo_tag
FBML
 A Subset of HTML
• Excluded: <script>
• Limited: <style> (internal CSS only)
• Cached: <img>
• Hidden Fields Added (For Security): <form>
 Proprietary Extensions
• Markup Tags: UI Elements
• Procedural Tags: Control Program Flow
 Mock Ajax
FBML Tags Example: Markup Tags
Preview:

Code:
<fb:dashboard>
<fb:action href="new.php">Create a new photo
album</fb:action>
<fb:action href="you.php">Photos of You</fb:action>
</fb:dashboard>
FBML Tags Example: Procedural Tags

Code:

<fb:if-can-see uid="12345" what="profile">


    You're allowed to see 12345's profile, chum!
   
    <fb:else>
        No profile for you!
    </fb:else>
</fb:if-can-see>
Resources
 Facebook Platform Documentation
• Anatomy of a Facebook Application
• Step-to-Step Guide to Creating an Application

 Facebook Platform Wiki


• Getting Started Guide
• Basic Application Architecture

 Facebook Developer Forum


• Get Your Questions Answered
Success Factors
 Product Definition
• Social in Nature
• Unsatisfied Needs
 Product Design/Development
• Need a Hacker in Your Team: Non-Trivial Project
 Scalability Plan
• Much Shorter Ramp-up Time
 Monetization Strategy
 You Need a Team!
Contact Info

David Zhuang
[email protected]

You might also like