Your SlideShare is downloading. ×
Facebook platform-tech3259
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Facebook platform-tech3259


Published on

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 …

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Entrepreneur’s Playfield Building Applications on Facebook Platform David Zhuang
  • 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 1. 2. 3. 4. Product Directory About Left Nav 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
  • 5. Canvas: Embedded Application Left Nav Canvas
  • 6. Home Page: Viral Distribution Left Nav News Feed
  • 7. Profile: Viral Distribution Left Nav News Feed Profile Box
  • 8. Architecture: Traditional Web App 1. HTTP Request Your Server Web/App Server 2. HTML Response SQL Query Data Database
  • 9. Architecture: Facebook App - Canvas 2. HTTP / REST 1. HTTP Facebook Server 6. HTML 3. API/FQL 4. API Rsp Your Server Web/App Server SQL Query Data Database 5. FBML
  • 10. Architecture: Facebook App - Profile 1. HTTP Facebook Server 2. HTML 0. API/FBML (Pushed Separately) Your Server Web/App Server SQL Query Data Database
  • 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 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>
  • 17. 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>
  • 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