Upload
managing-partner-3xc-global-partners-darori-capital-luxemborg-start-up-nation-icritical-canvas
View
322
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Some of these SlideShare Presentations were not developed b me. However all are certainly worth having a look at.I am Stephen Darori on Linkedin. My Profile is one of the few Profiles that has been tagged both as a Power Profile and all Star Profile and one of the few outside the Mountain View Linkedin Campus. If you think after looking at my Linkedin Profile that we have now or could have in the future some synergy , please send me an invitation to connect and then after we are connected follow it up with an inmail. I am an Open Networker and with never IDK ( I don't know and invitation to connect on Linkedin or any other Social Media site.
Citation preview
Building Applications on
Facebook Platform
David Zhuang
Entrepreneur’s Playfield
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 Points1. Product Directory2. About3. Left Nav4. Facebook Canvas Pages
a. Homeb. User Dashboardc. Settings
5. Profilea. Profile Boxb. Profile Action Links
6. Privacy Settings7. News Feed8. Alerts9. Message Attachments10.Requests
Canvas: Embedded Application
Left Nav
Canvas
Home Page: Viral Distribution
Left Nav
News Feed
Profile: Viral Distribution
Left Nav
News Feed
ProfileBox
Architecture: Traditional Web App
Web/AppServer
Database
1. HTTPRequest
2. HTMLResponse
SQL Query Data
Your Server
Architecture: Facebook App - Canvas
Web/App Server
Database
1. HTTP
6. HTML
SQL Query Data
Your Server
Facebook Server
2. HTTP / REST
3. API/FQL
4. API Rsp
5. FBML
0. API/FBML(Pushed Separately)
Architecture: Facebook App - Profile
Web/App Server
Database
1. HTTP
2. HTML
SQL Query Data
Your Server
Facebook Server
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
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>
Preview:
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!