41
Facebook Developer Garage Kampala Charlie Cheever Platform Engineering, Facebook

Charlie Cheever Facebook Developer Garage Uganda

Embed Size (px)

DESCRIPTION

Charlie Cheever's presentation to developers at Facebook Developer Garage Uganda on how to build an application on Facebook.

Citation preview

Page 1: Charlie Cheever Facebook Developer Garage Uganda

Facebook Developer GarageKampala

Charlie CheeverPlatform Engineering, Facebook

Page 2: Charlie Cheever Facebook Developer Garage Uganda

Review: A Web Apppretty simple

Page 3: Charlie Cheever Facebook Developer Garage Uganda

A Facebook App - What do you Get?

• Authentication for free. Less code for you to write, less work for users to login, a realer concept of identity

• Data about the people who use your app

• names, profile pictures, interests, favorite books, favorite movies

• ... and friends

• Messaging (notifications, requests) -> Distribution

• Convenient widgets. Friend selector, mp3 player, etc.

• You can show ads on your application and keep all those revenues

Page 4: Charlie Cheever Facebook Developer Garage Uganda

Some Examples of What’s Being Done with the Facebook Platform

Page 5: Charlie Cheever Facebook Developer Garage Uganda

TechCrunch(technology blog)

Page 6: Charlie Cheever Facebook Developer Garage Uganda

TechCrunch

Page 7: Charlie Cheever Facebook Developer Garage Uganda

TechCrunch

Page 8: Charlie Cheever Facebook Developer Garage Uganda

iLike(social music)

Page 9: Charlie Cheever Facebook Developer Garage Uganda

Flixster(social movies)

Page 10: Charlie Cheever Facebook Developer Garage Uganda

Prolific(games!)

Page 11: Charlie Cheever Facebook Developer Garage Uganda

Facebook Platform Technology

•API

•FBML

Page 12: Charlie Cheever Facebook Developer Garage Uganda

Facebook API

• Read data from Facebook

• about users, ex. names, profile pictures, favorite books, favorite movies, etc.

• other data like photos, groups, events, etc.

• almost all the data that’s available on Facebook

• Messaging - sending e-mails to users, sending Facebook requests, sending Facebook notifications

• Publishing news feed stories

Page 13: Charlie Cheever Facebook Developer Garage Uganda

FBML

• Basically HTML with a few extras

• Sanitary - Safe for Facebook to display anywhere

• Makes it easy to efficiently embed social data

• Provides convenient widgets like friend selectors

Page 14: Charlie Cheever Facebook Developer Garage Uganda

How Facebook Apps Work

• Facebook Connect Applications

• FBML Canvas Applications

• IFrame Canvas Applications

• Big Question: How do we efficiently involve a third party when a user loads a webpage?

Page 15: Charlie Cheever Facebook Developer Garage Uganda

FBML Canvas Apps

Page 16: Charlie Cheever Facebook Developer Garage Uganda

FBML Canvas Apps

Page 17: Charlie Cheever Facebook Developer Garage Uganda

IFrame Canvas Apps

Page 18: Charlie Cheever Facebook Developer Garage Uganda

IFrame Canvas Apps Using XFBML

Page 19: Charlie Cheever Facebook Developer Garage Uganda

IFrame Canvas Apps

Page 20: Charlie Cheever Facebook Developer Garage Uganda

Facebook Connect Apps

Facebook

UserYour Server

1. initial request from user

4. regular response from your server

2. server-side API call to Facebook (optional)

3. server-side API response (optional)

5. JS API Call to Facebook

6. JS API response from Facebook

Page 21: Charlie Cheever Facebook Developer Garage Uganda

Facebook Connect Apps

Page 22: Charlie Cheever Facebook Developer Garage Uganda

Getting Your Feet WetSome Simple Examples

• http://apps.facebook.com/devgaragekampala/

• A Facebook app that I’ve set up that will let you test out snippets of code and get some experience with the API and FBML

Page 23: Charlie Cheever Facebook Developer Garage Uganda

Examples

• http://apps.facebook.com/devgaragekampala/

• Hello, Uganda!

• Hello, Mark Zuckerberg

• Hello friends!

• Pick a friend

• Someone Else’s Code

Page 24: Charlie Cheever Facebook Developer Garage Uganda

Setting Up A Real App

• We’ll use a free hosting service called AppJet in this example but you can use any kind of hosting.

Page 25: Charlie Cheever Facebook Developer Garage Uganda

• AppJet is a free, web-based hosting service

• Great for prototyping websites with Javascript

• Has built-in Facebook support

Page 26: Charlie Cheever Facebook Developer Garage Uganda

Your program

Preview

Page 27: Charlie Cheever Facebook Developer Garage Uganda

First Program

Page 28: Charlie Cheever Facebook Developer Garage Uganda
Page 29: Charlie Cheever Facebook Developer Garage Uganda

Remember this name.

Page 30: Charlie Cheever Facebook Developer Garage Uganda

Now we have a real

website

Page 32: Charlie Cheever Facebook Developer Garage Uganda
Page 33: Charlie Cheever Facebook Developer Garage Uganda

Remember this Canvas URL

Page 34: Charlie Cheever Facebook Developer Garage Uganda

Congratulations! You now have a Facebook application.

Write these keys down

Page 35: Charlie Cheever Facebook Developer Garage Uganda

import("facebook");fb.init();print("Hello Kampala!");

Add the following to your app.

Page 36: Charlie Cheever Facebook Developer Garage Uganda
Page 37: Charlie Cheever Facebook Developer Garage Uganda

Type in your Canvas url

Paste in your API Key and Secret

Page 38: Charlie Cheever Facebook Developer Garage Uganda

Clicking Publish will take your

application live

Page 39: Charlie Cheever Facebook Developer Garage Uganda
Page 40: Charlie Cheever Facebook Developer Garage Uganda

Web Resources

• FB Developers Wiki: http://wiki.developers.facebook.com/

• API Test Console: http://developers.facebook.com/tools.php?api

• FBML Test Console: http://developers.facebook.com/tools.php?fbml

• AppJet (free, easy hosting): http://www.appjet.com/

• FB Developer App (for setting up an app): http://www.facebook.com/developers/

• Facebook Developer Site: http://developers.facebook.com/