Books & Videos

Table of Contents

  1. Chapter 1 Introducing Facebook Platform

    1. What Exactly Is Facebook Platform?

    2. Skills to Pay the Bills

    3. Facebook Platform Off-Facebook

    4. Facebook Platform Versus Google OpenSocial

    5. Saddle Up!

  2. Chapter 2 Ideation and Strategy

    1. Which Types of Apps Are the Most Popular?

    2. Which Apps Are Most Popular?

    3. Test-Driving Ideas with Facebook Polls

    4. The Winning Formula for Facebook

    5. Where’s the Money?

    6. Google AdSense and Facebook

    7. Funding Facebook Development

    8. Facebook Platform Integration Points

    9. Application Directory

    10. Navigating the Applications Menu

    11. Facebook Canvas Pages

    12. Think Outside the Profile Box

    13. Info Sections

    14. News Feed and Mini-Feed

    15. Noteworthy Notifications

    16. Understanding Allocations

    17. Attachments and the Publisher

    18. Requests

    19. Tabs

    20. Guiding Principles of App Strategy

    21. Community Gardening

    22. Finding Inspiration

  3. Chapter 3 Hello World

    1. Installing the Facebook Developer App

    2. Setting Up a New App

    3. Hello World

    4. Installing Your App: It’s All About the About Page

  4. Chapter 4 Architecture and Design

    1. Under the Hood: How Facebook Apps Work

    2. Architecting for the Future: Open Web Apps

    3. Build Now, Scale Later: Getting Real

    4. Scalability

    5. Language Selection As Architecture

    6. Cross-Language Development with Facebook Thrift

    7. The Database Is Dead! Long Live memcached!

    8. Advanced Caching with Nginx and memcached

    9. Standing on the Shoulders of Giants: Hosting with Amazon Web Services

    10. Integrating Drupal and Facebook

    11. App Design Process

    12. The Facebook User Interface Widgets

    13. Facebook’s Global User Interface

  5. Chapter 5 Setting Up Your Environment

    1. Creating a Test Account

    2. Facebook Clients

    3. JavaScript Client Library

    4. Starting Out in PHP

    5. Demo Applications

    6. Developer Documentation

    7. Test Consoles

    8. Developer Forums: Help!

    9. Facebook Bug Squashing

    10. Facebook Developer Software Toolbox

    11. Weekly Facebook Pushes

    12. Hosting

    13. Amazonian Backends: Simple Storage Solution

    14. Amazonian Backends: Hosting on Elastic Cloud Computing

    15. Staying Up-to-Date

  6. Chapter 6 Facebook Markup Language (FBML)

    1. What Is FBML?

    2. Categories of FBML Tags

    3. FBML Versions

    4. A Rose by Any Other Name: Forced Renaming

    5. Web Standards

    6. Displaying a User’s Name

    7. He Said, She Said: Dealing with Pronouns

    8. Worth a Thousand Words: Profile Pictures

    9. Linking to Events

    10. Linking to Groups

    11. Linking to Networks

    12. Display Content to Group Members

    13. Display Content to Network Members

    14. Displaying Content to App Users

    15. Displaying Content to Friends

    16. Displaying/Hiding Content to/from Specific Users

    17. Displaying Random Content

    18. Displaying Content to Specific Browsers

    19. Displaying Your Application’s Name

    20. Formatting Relative Time

    21. Making Content Visible to Some Users in Profile Boxes

    22. Hiding Private Profile Content

    23. Hiding Private Photos

    24. Embedding an iFrame

    25. Embedding Facebook Photos

    26. Embedding MP3s

    27. Embedding Adobe Flash

    28. Embedding Flash Video

    29. Embedding Microsoft Silverlight

    30. Wide Versus Narrow Profile Boxes

    31. Tabling Users

    32. Page and Box Titles

    33. Profile Box Subtitles

    34. Forms the Facebook Way

    35. Heads Up! Heading Your App Pages

    36. Dashing Dashboards: Heading Your App Pages

    37. Tabs Ahoy!

    38. Media Headers

    39. Errors, Explanation, and Success: Displaying Messages (Oh My!)

    40. Discussion Boards Made Simple

    41. Giving Users a Voice: Wall Posts in Your App

    42. Adding Profile Boxes and Info Sections

    43. Prompting for Extended Permissions

    44. You Can Pick Your Friends

    45. You Can Pick Your Friends (in Batches)

    46. Invitations and Requests

    47. Predicting the Future with Type-Ahead Controls

    48. Using FBML Inside FBJS

    49. Dialogs That Pop

    50. Dialogs in Context

    51. Dialogs with Ajax

    52. Facebook Share Buttons

    53. Feed Forms: Publishing Feed Stories from FBML

    54. Redirecting to a Different URL

    55. Painless Image Submitting

    56. Hunting for Robots: CAPTCHA in Your App

    57. FBML Caching

    58. Analyzing Traffic with Google Analytics

    59. Translations

    60. Valid HTML Tags

    61. Facebook and CSS: FBSS?

    62. Beating the CSS, JavaScript, and Image Cache

  7. Chapter 7 Facebook JavaScript (FBJS)

    1. Dealing with Sandbox Renaming

    2. Losing Your < >s

    3. Retrieving DOM Elements

    4. Manipulating DOM Elements

    5. Manipulating CSS Styles

    6. Manipulating CSS Class Names

    7. Dynamically Setting Content

    8. Textbox Selections

    9. Limiting the Length of Text Fields

    10. Creating Elements Dynamically

    11. Adding and Removing Event Listeners

    12. Retrieving Data via Ajax

    13. Displaying Pop-Up Dialogs

    14. Displaying Contextual Dialogs

    15. Avoiding Heartache When the DOM Changes

    16. Linking to External FBJS Files

    17. Use Firebug (No, Seriously)

    18. Accessing the DOM Behind FBJS

    19. Ajax Library: Backface

  8. Chapter 8 Facebook Query Language (FQL)

    1. Playing with FQL

    2. FQL Query Structure

    3. Functions and Operators

    4. Indexed Facebook Tables and Fields

    5. Advanced Relational Database Table Optimization

    6. Album Table

    7. Retrieving an Album

    8. Counting All of a User’s Photos

    9. Retrieving Five Albums for a User

    10. Cookie Table

    11. Retrieving All Cookies for a User

    12. Retrieving a Specific Cookie

    13. Retrieving All Cookies for a Specific Path

    14. Metrics Table

    15. Retrieving Yesterday’s Metrics

    16. Retrieving Metrics for a Date Range

    17. Alerting Yourself

    18. Event Table

    19. Event Member Table

    20. Retrieving an Event

    21. Retrieving Events Created by a User

    22. Retrieving a User’s Events

    23. Retrieving a User’s Events with a Specific RSVP

    24. Retrieving Events Two Users Are Attending

    25. Friend Table

    26. Friend Request Table

    27. Retrieving a User’s Friends

    28. Checking Whether Two Users are Friends

    29. Retrieving a User’s Pending Friend Requests

    30. Checking for a Friend Request Between Two Users

    31. Friend List Table

    32. Friend List Members Table

    33. Retrieving a User’s Friend Lists

    34. Retrieving a Specific Friend List

    35. Retrieving Friends in Friend Lists

    36. Retrieving Friends in a Specific Friend List

    37. Groups Table

    38. Group Member Table

    39. Retrieving a Specific Group

    40. Retrieving a User’s Groups

    41. Checking Whether Two Users Are in the Same Group

    42. Listing Table

    43. Retrieving a Listing

    44. Retrieving a User’s Listings

    45. Retrieving a User’s Friends’ Listings

    46. Retrieving a User’s Listings by Category

    47. Page Table

    48. Page Fan Table

    49. Retrieving a Page

    50. Retrieving a User’s Pages

    51. Photo Table

    52. Photo Tag Table

    53. Retrieving the 10 Most Recent Photos from a User

    54. Retrieving All Photos a User Is Tagged In

    55. User Table

    56. App Friends

    57. Birthday Friends

    58. 600 Errors

    59. Preload FQL

  9. Chapter 9 Facebook API

    1. What’s an API?

    2. Getting Started with the Client Library

    3. RESTing with Facebook

    4. Storable Data

    5. Authenticating Users

    6. Creating a Session Key

    7. Creating an Infinite Session Key

    8. Getting a Session (Desktop Only)

    9. Creating an Auth Token (Desktop Only)

    10. Making Calls (Desktop Only)

    11. Logging Out

    12. Getting Allocations

    13. Getting Metrics

    14. Getting and Setting Application Properties

    15. Getting an App’s 4-1-1

    16. Batching Calls

    17. Getting and Setting Cookies

    18. Getting Events

    19. Getting Event Members

    20. Refreshing FBML Caches

    21. Getting a (Ref) Handle on FBML

    22. Three Story Sizes: Working with Template Bundles

    23. Publishing News and Mini-Feed Stories

    24. Story Aggregation

    25. Setting Info Sections

    26. FQL Queries

    27. Friends?

    28. Get Friends

    29. Get Friends Who Use My App

    30. Get Friend Lists

    31. Get Groups

    32. Get Group Members

    33. Creating/Modifying Marketplace Listings

    34. Get Marketplace Listings

    35. Get Marketplace Categories and Subcategories

    36. Deleting Marketplace Listings

    37. Searching the Marketplace

    38. Sending Notifications

    39. Get Notifications

    40. Get Pages

    41. Checking Page Properties

    42. Create a Photo Album

    43. Get Photo Albums

    44. Get Photos

    45. Uploading a Photo

    46. Adding Tags to Photos

    47. Getting and Setting Profile FBML

    48. Get a User’s Info

    49. Get Logged-In User

    50. Has a User Added My App?

    51. Setting Status

    52. Extended Permissions

    53. Checking Extended Permissions

    54. Storing Data with the Data Store API

    55. Granting Permissions to Other Applications Via the Permissions API

    56. Post-Remove (Uninstall) URL

    57. Adding Missing PHP Client Library Methods

    58. Error Codes

  10. Chapter 10 Marketing Your App

    1. Attracting Users Through Facebook Ads

    2. Monetize, Measure, and Market with SocialMedia

    3. Social Network Advertising with Cubics

    4. Other Ad Networks

    5. Spreading Your App via Google AdWords

    6. Measuring Your Success

    7. Work the Integration Points

    8. Continuous Improvement Through A/B Testing

    9. The Great Apps Program

    10. Application Verification Program

  1. Colophon