SlideShare a Scribd company logo
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 Points Product Directory About Left Nav Facebook Canvas Pages Home User Dashboard Settings Profile Profile Box Profile Action Links Privacy Settings News Feed Alerts Message Attachments Requests
Canvas: Embedded Application Left  Nav Canvas
Home Page: Viral Distribution Left  Nav News  Feed
Profile: Viral Distribution Left  Nav News  Feed Profile Box
Architecture: Traditional Web App Web/App Server Database 1. HTTP Request 2. HTML Response 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
Architecture: Facebook App - Profile 0.  API / FBML (Pushed  Separately) 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=&quot;new.php&quot;>Create a new photo album </fb:action> < fb:action  href=&quot;you.php&quot;>Photos of You </fb:action> </fb:dashboard>   Preview:
FBML Tags Example: Procedural Tags Code: < fb:if-can-see  uid=&quot;12345&quot; what=&quot;profile&quot;>       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_address]

More Related Content

What's hot (15)

PPT
Nela ITS CMS Presentation - Joomla
rrobertshaw
 
PPT
Developing a Facebook App
kapilgoenka
 
PDF
Facebook API for Developers : Introducing the Facebook Platform
Wildan Maulana
 
PPTX
Template
Joseph Young
 
PPTX
Facebook Apps
davebalogh
 
PPTX
Optimizing Facebook for your student news organization
Ben Eveloff
 
PPT
Views
James Stone
 
PPTX
Alexa Group Buy SEO Tools
SeoGroup Buy
 
PPT
Freetoolsforseo
sajid345209
 
PPTX
Surfacing Your External Data using BCS in SharePoint 2013 - Dev Connections 2013
Corey Roth
 
PPT
Hybrid Vigor: Plone/Salesforce Integration -- Andrew Burkhalter
aburkhalter
 
PPTX
SharePoint Hosted Add-in with AngularJS and Bootstrap
Roy Kim
 
PPT
Facebook Pages For Realtor Associations
Doug Devitre
 
PDF
Pr7 8 clubwear-and-party-wear
yoursexywardrobe.com
 
PPT
What's New on the Facebook Platform, May 2011
Iskandar Najmuddin
 
Nela ITS CMS Presentation - Joomla
rrobertshaw
 
Developing a Facebook App
kapilgoenka
 
Facebook API for Developers : Introducing the Facebook Platform
Wildan Maulana
 
Template
Joseph Young
 
Facebook Apps
davebalogh
 
Optimizing Facebook for your student news organization
Ben Eveloff
 
Alexa Group Buy SEO Tools
SeoGroup Buy
 
Freetoolsforseo
sajid345209
 
Surfacing Your External Data using BCS in SharePoint 2013 - Dev Connections 2013
Corey Roth
 
Hybrid Vigor: Plone/Salesforce Integration -- Andrew Burkhalter
aburkhalter
 
SharePoint Hosted Add-in with AngularJS and Bootstrap
Roy Kim
 
Facebook Pages For Realtor Associations
Doug Devitre
 
Pr7 8 clubwear-and-party-wear
yoursexywardrobe.com
 
What's New on the Facebook Platform, May 2011
Iskandar Najmuddin
 

Similar to Facebook Platform - Tech (20)

PPT
Facebook plateform architecture presentation
Inam Soomro
 
PPTX
Facebook Developer Garage Cyberjaya
Mehedi Hasan Sumon
 
PDF
Build social apps for Facebook
Mohammad Emran Hasan
 
PDF
Developing Facebook Application - Nagpur PHP Meetup
Abhishek Deshpande
 
PPT
Facebook Coin
Sathiyamoorthi
 
PPTX
Introduction to facebook platform
Venkatesh Narayanan
 
PDF
Facebook API For Developers : Overview
Wildan Maulana
 
PPT
Facebook Development in 5 Minutes
Jesse Stay
 
PPT
Facebook Technology Stack
Husain Ali
 
PDF
Charlie Cheever Facebook Developer Garage Uganda
Leila Janah
 
PDF
funP 麻吉 開發者俱樂部十月份聚會
Nathan Chiu
 
PPT
Developing Facebook Application
Sandeep Varma
 
PPT
Facebook app
Business Blogging
 
PDF
Matías Paterlini: Desarrollo de aplicaciones en Facebook
Grupo PHP Argentina
 
PPTX
Facebook[The Nuts and Bolts Technology]
Koushik Reddy
 
PPT
Introduction to Facebook Application development
Vasanth Kumar
 
KEY
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
NETNODE AG
 
KEY
Facebook Development for Beginners
Jesse Stay
 
PDF
Developing Facebook Application
Kanda Runapongsa Saikaew
 
PPT
Facebook 3rd Party Api
Yoss Cohen
 
Facebook plateform architecture presentation
Inam Soomro
 
Facebook Developer Garage Cyberjaya
Mehedi Hasan Sumon
 
Build social apps for Facebook
Mohammad Emran Hasan
 
Developing Facebook Application - Nagpur PHP Meetup
Abhishek Deshpande
 
Facebook Coin
Sathiyamoorthi
 
Introduction to facebook platform
Venkatesh Narayanan
 
Facebook API For Developers : Overview
Wildan Maulana
 
Facebook Development in 5 Minutes
Jesse Stay
 
Facebook Technology Stack
Husain Ali
 
Charlie Cheever Facebook Developer Garage Uganda
Leila Janah
 
funP 麻吉 開發者俱樂部十月份聚會
Nathan Chiu
 
Developing Facebook Application
Sandeep Varma
 
Facebook app
Business Blogging
 
Matías Paterlini: Desarrollo de aplicaciones en Facebook
Grupo PHP Argentina
 
Facebook[The Nuts and Bolts Technology]
Koushik Reddy
 
Introduction to Facebook Application development
Vasanth Kumar
 
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
NETNODE AG
 
Facebook Development for Beginners
Jesse Stay
 
Developing Facebook Application
Kanda Runapongsa Saikaew
 
Facebook 3rd Party Api
Yoss Cohen
 
Ad

Recently uploaded (20)

PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Complete Network Protection with Real-Time Security
L4RGINDIA
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
July Patch Tuesday
Ivanti
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Complete Network Protection with Real-Time Security
L4RGINDIA
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
July Patch Tuesday
Ivanti
 
Ad

Facebook Platform - Tech

  • 1. Building Applications on Facebook Platform David Zhuang Entrepreneur’s Playfield
  • 2. Overview Open Distribution to Millions of Users Capabilities / Integration Points Architecture Components Resources
  • 3. 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
  • 4. Capabilities / Integration Points Product Directory About Left Nav Facebook Canvas Pages Home User Dashboard Settings Profile Profile Box Profile Action Links Privacy Settings News Feed Alerts Message Attachments Requests
  • 6. Home Page: Viral Distribution Left Nav News Feed
  • 7. Profile: Viral Distribution Left Nav News Feed Profile Box
  • 8. Architecture: Traditional Web App Web/App Server Database 1. HTTP Request 2. HTML Response SQL Query Data Your Server
  • 9. 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
  • 10. Architecture: Facebook App - Profile 0. API / FBML (Pushed Separately) Web/App Server Database 1. HTTP 2. HTML SQL Query Data Your Server Facebook Server
  • 11. 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
  • 12. 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.
  • 13. 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)
  • 14. 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
  • 15. 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
  • 16. FBML Tags Example: Markup Tags Code: <fb:dashboard> < fb:action href=&quot;new.php&quot;>Create a new photo album </fb:action> < fb:action href=&quot;you.php&quot;>Photos of You </fb:action> </fb:dashboard> Preview:
  • 17. FBML Tags Example: Procedural Tags Code: < fb:if-can-see uid=&quot;12345&quot; what=&quot;profile&quot;>     You're allowed to see 12345's profile, chum!         <fb:else>         No profile for you!     </fb:else> </fb:if-can-see>
  • 18. 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
  • 19. 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!
  • 20. Contact Info David Zhuang [email_address]