Your SlideShare is downloading. ×

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,900
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 david@topicalmedia.com