SlideShare a Scribd company logo
1 of 38
Developer Garage Milan
Main Topic: Facebook Connect
April 23, 2009
James Leszczenski

 Software Engineer at
Facebook

 james@facebook.com
Agenda
▪ 1. Our Mission
▪ 2. Facebook Connect, An Overview
▪ 3. Getting Started
▪ 4. What’s Next?
▪ 5. Questions
Facebook’s Mission:
Give people the power to
share and make the world
more open and connected
Your Mission:
Create opportunities for
people to share and make the
world more open and connected
What are your goals?
1) Build Traffic
2) Create Deep Engagement
3) Profit Wildly
How can Facebook Connect help?
1) Build Traffic through social distribution
2) Create Deep Engagement with identity and social
context
3) Profit Wildly with more traffic and engagement
Agenda
▪ 1. Our Mission
▪ 2. Facebook Connect, An Overview
▪ 3. Getting Started
▪ 4. What’s Next?
▪ 5. Questions
Overview of Facebook Connect
Engaging with a new site is difficult
• Decide to register
• Click “sign up”
• Decide on the basics: Which
email will I use?
The usual password?
User name?
• Add extra info:
Birthday
Name
etc…
• Enter a CAPTCHA
• Confirm
• Get sent to verify email page
• Wait
• Go back in your email, verify
email
• Go back to browser
• And…
Think of the steps users need to go through to sign up & engage with your content.
… the end result is a website with no social data, no customization, and no friends 
10
Facebook Connect
Increase registration, engagement and traffic on your site.
• Share their identity and log
in with 1 click
• Bring their friends to your
site, increasing engagement
• Generate more traffic by
distributing your content to
Facebook’s 200 million users
Identity & Login
Friends
Distribution
Facebook Connect allows your visitors to:
11
Facebook Connect makes it easy for your users
•Decide to register
•Click “Connect”
•Done
A Connected user brings all of their rich Facebook information and friends
to your site in 1 click.
… a website with your
real-life identity,
customized content and
all your friends.
1. User’s real identity
12
2. Easy access to their
friends and friend
content
Users share content back to Facebook
Content from your site gets shared to Facebook. Traffic comes back to your site.
3. Content from your site is easily
distributed on Facebook, sending traffic
back to your site.
13
Over 8,000 web sites
have adopted Facebook Connect
Connect is revolutionizing the web
“It is an ingenious stab at solving several
nagging problems at once. Web surfers like
to socialize while they browse the internet,
but many prefer to do so only with their
friends rather than with perfect strangers.”
- Dec 4, 2008
“Because Facebook Connect is not just a
registration system, but also a marketing
channel with a built-in audience of 130
million monthly active users, this program
will crush competing registration systems.”
- Nov 30, 2008
What sites are seeing:
• Registrations 30-100%
• User-generated content 15-60%
• Each story published to FB generates 0.5 to 2
clicks back to the publishing site
“Supporters of this idea say such
programs will help with the emergence
of a new ‘social Web,’ because chatter
among friends will infiltrate even sites
that have been entirely unsociable
thus far.”
- Nov 30, 2008
14
Agenda
▪ 1. Our Mission
▪ 2. Facebook Connect, An Overview
▪ 3. Getting Started
▪ 4. What’s Next?
▪ 5. Questions
Getting Started
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user.
▪ 3. Use XFBML/API calls to show user information.
▪ 4. Publish actions to the Stream/News Feed.
▪ 5. More advanced features.
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user.
▪ 3. Use XFBML/API calls to show user information.
▪ 4. Publish actions to the Stream/News Feed.
▪ 5. More advanced features.
Setting Up your Application
▪ 1. Go to http://www.facebook.com/developers/
▪ 2. Click “Set Up New Application”
▪ 3. Choose an Application Name, agree to Terms of Service,
submit.
▪ 4. Go to the ‘Connect’ tab and fill in ‘Connect URL’ and ‘Base
Domain’
▪ 5. Submit the form. You now have a new application!
Setting Up your Application (2)
▪ 1. Download a cross-domain receiver file
▪ Ex. http://www.somethingtoputhere.com/xd_receiver.htm
▪ 2. Upload xd_receiver.htm to your directory.
▪ 3. Open up the web page for development.
▪ 4. Change the <html> tag to:
▪ <html xmlns:fb="http://www.facebook.com/2008/fbml">
Setting Up your Application (3)
▪ 5. Insert a few lines just before the </BODY> tag:
<script type="text/javascript" src="http://
static.ak.connect.facebook.com/js/api_lib/v0.4/
FeatureLoader.js.php"></script>
<script type="text/javascript">
FB.init("YOUR_API_KEY_HERE", "xd_receiver.htm");
</script>
▪ 6. And save your file.
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user. (Identity)
▪ 3. Use XFBML/API calls to show user information.
▪ 4. Publish actions to the Stream/News Feed.
▪ 5. More advanced features
Login Status
▪ 1. Include a Facebook Connect login button:
▪ <p>
Click here to connect with Facebook:
<fb:login-button onlogin="facebook_onlogin()">
</fb:login-button>
</p>
▪ 2. Side note: What is FBML/XFBML?
Login Status (2)
▪ 2. Create the facebook_onlogin() function in JavaScript:
<script>
function facebook_onlogin() {
alert(FB.Connect.get_loggedInUser());
}
</script>
Login Status (3)
▪ 3. Simpler: Detecting status upon page load:
<script type="text/javascript">
FB.init("YOUR_API_KEY_HERE",
"xd_receiver.htm",
{"ifUserConnected" : facebook_onlogin}
);
</script>
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user. (Identity)
▪ 3. Use XFBML/API calls to show user information. (Friends)
▪ 4. Publish actions to the Stream/News Feed.
▪ 5. More advanced features.
XFBML
▪ 1. Insert XFBML with facebook_onlogin():
function facebook_onlogin() {
fbuid = FB.Facebook.apiClient.get_session().uid;
us = document.getElementById('user_section');
us.innerHTML = ‘<fb:profile-pic uid="’+fbuid+’">’
+ ‘</fb:profile-pic>’
+ ‘<fb:name uid="loggedinuser"></fb:name>’
+ ‘has connected with Facebook.’
+ ’<br/>’
+ ’To log out: <a href="#" onclick="FB.Connect.logout(facebook_onlogout)">Click
here</a>';
FB.XFBML.Host.parseDomTree(); // Finds all XFBML tags and re-renders HTML
}
XFBML (2)
▪ 2. What to do when the user logs out:
function facebook_onlogout() {
us = document.getElementById('user_section');
// Reset back to the default state
us.innerHTML = 'To log in with Facebook: <fb:login-button
onlogin="facebook_onlogin()"></fb:login-button>';
FB.XFBML.Host.parseDomTree();
}
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user. (Identity)
▪ 3. Use XFBML/API calls to show user information. (Friends)
▪ 4. Publish actions to the Stream/News Feed. (Distribution)
▪ 5. More advanced features.
Feed Forms
• User-editable comment
field
• Comment can be pre-
filled by application with
user content
• User comment will be
returned to application
Feed Forms (2)
• 1. Go to http://developers.facebook.com/
• 2. Click Tools in the top navigation.
• 3. Click the Feed Template Console tab.
• 4. Choose your new application from the list and click
Next.
• 5. Fill out a One Line Template + Short Story
Template Title.
• e.g. “{*actor*} reviewed a restaurant on Citysearch.”
• 6. Submit your template, and get a template ID.
Feed Forms (3)
// Initialize feed form data
var body_general = null;
var user_message_prompt = "How was the restaurant?";
var user_message = {value: "The restaurant was..."};
FB.ensureInit(function() {
// Show the feed form to the user
FB.Connect.showFeedDialog(<?=FEED_FORM_ID?>,
template_data, null, body_general, null,
FB.RequireConnect.require,
FB.RequireConnect.promptConnect,
user_message_prompt, user_message);
});
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user. (Identity)
▪ 3. Use XFBML/API calls to show user information. (Friends)
▪ 4. Publish actions to the Stream/News Feed. (Distribution)
▪ 5. More advanced features.
Objectives
▪ Main Objective: Integrate Facebook Connect into a web site
▪ 1. Register a new application with Facebook.
▪ 2. Detect the login status of a user. (Identity)
▪ 3. Use XFBML/API calls to show user information. (Friends)
▪ 4. Publish actions to the Stream/News Feed. (Distribution)
▪ 5. More advanced features.
▪ Integration points on facebook.com
▪ Add server-side logic
▪ Anything that Facebook Platform can do.
Agenda
▪ 1. Our Mission
▪ 2. Facebook Connect, An Overview
▪ 3. Getting Started
▪ 4. What’s Next?
▪ 5. Questions
What’s Next?
1) Integrate

 Check out our video tutorials: wiki.developers.facebook.com
2) Innovate
3) Iterate and Grow

 <fb:comments>, <fb:intl>
Agenda
▪ 1. Our Mission
▪ 2. Facebook Connect, An Overview
▪ 3. Getting Started
▪ 4. What’s Next?
▪ 5. Questions
Resources
Documentation: wiki.developers.facebook.com
Help: forum.developers.facebook.com
James Leszczenski

 james@facebook.com

More Related Content

What's hot

Facebook Connect Tutorial
Facebook Connect TutorialFacebook Connect Tutorial
Facebook Connect TutorialPrateek Dayal
 
Building an interactive timeline from facebook photos
Building an interactive timeline from facebook photosBuilding an interactive timeline from facebook photos
Building an interactive timeline from facebook photosRakesh Rajan
 
SharePoint 2012 tips & tricks
SharePoint 2012 tips & tricksSharePoint 2012 tips & tricks
SharePoint 2012 tips & tricksNerea
 
Peepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebookPeepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebooksushilprajapati
 
SharePoint 2013 Site Administration Guide
SharePoint 2013 Site Administration GuideSharePoint 2013 Site Administration Guide
SharePoint 2013 Site Administration GuideLearning SharePoint
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Rod Martin
 
So you want to build a Facebook app
So you want to build a Facebook appSo you want to build a Facebook app
So you want to build a Facebook appkamal.fariz
 
AIESEC CMS - Bug tracking
AIESEC CMS - Bug trackingAIESEC CMS - Bug tracking
AIESEC CMS - Bug trackingBogdan Rusu
 
KB Seminars: Growing an online portal; 05/13
KB Seminars: Growing an online portal; 05/13KB Seminars: Growing an online portal; 05/13
KB Seminars: Growing an online portal; 05/13MDIF
 
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...O'Reilly Media
 
Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3Carly Willats
 
Facebook for charities
Facebook for charitiesFacebook for charities
Facebook for charitiesBen Clowney
 

What's hot (15)

Facebook Connect Tutorial
Facebook Connect TutorialFacebook Connect Tutorial
Facebook Connect Tutorial
 
Building an interactive timeline from facebook photos
Building an interactive timeline from facebook photosBuilding an interactive timeline from facebook photos
Building an interactive timeline from facebook photos
 
SharePoint 2012 tips & tricks
SharePoint 2012 tips & tricksSharePoint 2012 tips & tricks
SharePoint 2012 tips & tricks
 
Visual guide joomla15
Visual guide joomla15Visual guide joomla15
Visual guide joomla15
 
Facebook + Ruby
Facebook + RubyFacebook + Ruby
Facebook + Ruby
 
Peepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebookPeepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebook
 
SharePoint 2013 Site Administration Guide
SharePoint 2013 Site Administration GuideSharePoint 2013 Site Administration Guide
SharePoint 2013 Site Administration Guide
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3
 
Web2.0
Web2.0Web2.0
Web2.0
 
So you want to build a Facebook app
So you want to build a Facebook appSo you want to build a Facebook app
So you want to build a Facebook app
 
AIESEC CMS - Bug tracking
AIESEC CMS - Bug trackingAIESEC CMS - Bug tracking
AIESEC CMS - Bug tracking
 
KB Seminars: Growing an online portal; 05/13
KB Seminars: Growing an online portal; 05/13KB Seminars: Growing an online portal; 05/13
KB Seminars: Growing an online portal; 05/13
 
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
 
Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3
 
Facebook for charities
Facebook for charitiesFacebook for charities
Facebook for charities
 

Similar to Facebook Developer Garage Milan

Facebook Connect For Your 
Website
Facebook Connect For Your 
WebsiteFacebook Connect For Your 
Website
Facebook Connect For Your 
WebsiteOzkan Altuner
 
Facebook SSO.docx
Facebook SSO.docxFacebook SSO.docx
Facebook SSO.docxehathis
 
Introduction to facebook platform
Introduction to facebook platformIntroduction to facebook platform
Introduction to facebook platformVenkatesh Narayanan
 
Vishu Gupta - Facebook Developer Garage Bangalore
Vishu Gupta - Facebook Developer Garage BangaloreVishu Gupta - Facebook Developer Garage Bangalore
Vishu Gupta - Facebook Developer Garage BangaloreAbhishek Goyal
 
MozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMat Clayton
 
Interactive with-facebook
Interactive with-facebookInteractive with-facebook
Interactive with-facebookTien Nguyen
 
Php day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookPhp day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookQuang Anh Le
 
Social Design - ProSEO
Social Design - ProSEOSocial Design - ProSEO
Social Design - ProSEOMat Clayton
 
Managing FACEBOOK for a business organization
Managing FACEBOOK for a business organizationManaging FACEBOOK for a business organization
Managing FACEBOOK for a business organizationPepovski Darko
 
Optimizing WordPress sites for SEO and social media by Miriam Schwab
Optimizing WordPress sites for SEO and social media by Miriam SchwabOptimizing WordPress sites for SEO and social media by Miriam Schwab
Optimizing WordPress sites for SEO and social media by Miriam SchwabMiriam Schwab
 
WordPress + Facebook how to connect with friends
WordPress + Facebook how to connect with friendsWordPress + Facebook how to connect with friends
WordPress + Facebook how to connect with friendsRebecca Caroe
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Karl Bunyan
 
Facebook Platform for Developers
Facebook Platform for DevelopersFacebook Platform for Developers
Facebook Platform for DevelopersLidan Hifi
 
Web 2 0 Search Engine Optimization Manual
Web 2 0 Search Engine Optimization ManualWeb 2 0 Search Engine Optimization Manual
Web 2 0 Search Engine Optimization Manualfemi adi
 

Similar to Facebook Developer Garage Milan (20)

Facebook Connect For Your 
Website
Facebook Connect For Your 
WebsiteFacebook Connect For Your 
Website
Facebook Connect For Your 
Website
 
Facebook SSO.docx
Facebook SSO.docxFacebook SSO.docx
Facebook SSO.docx
 
Introduction to facebook platform
Introduction to facebook platformIntroduction to facebook platform
Introduction to facebook platform
 
Vishu Gupta - Facebook Developer Garage Bangalore
Vishu Gupta - Facebook Developer Garage BangaloreVishu Gupta - Facebook Developer Garage Bangalore
Vishu Gupta - Facebook Developer Garage Bangalore
 
The social media developer
The social media developer The social media developer
The social media developer
 
MozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social Design
 
Interactive with-facebook
Interactive with-facebookInteractive with-facebook
Interactive with-facebook
 
Php day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookPhp day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebook
 
Social Design - ProSEO
Social Design - ProSEOSocial Design - ProSEO
Social Design - ProSEO
 
Managing FACEBOOK for a business organization
Managing FACEBOOK for a business organizationManaging FACEBOOK for a business organization
Managing FACEBOOK for a business organization
 
Build social apps for Facebook
Build social apps for FacebookBuild social apps for Facebook
Build social apps for Facebook
 
Optimizing WordPress sites for SEO and social media by Miriam Schwab
Optimizing WordPress sites for SEO and social media by Miriam SchwabOptimizing WordPress sites for SEO and social media by Miriam Schwab
Optimizing WordPress sites for SEO and social media by Miriam Schwab
 
Facebook Connect
Facebook ConnectFacebook Connect
Facebook Connect
 
WordPress + Facebook how to connect with friends
WordPress + Facebook how to connect with friendsWordPress + Facebook how to connect with friends
WordPress + Facebook how to connect with friends
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008
 
Assignmet on facebook
Assignmet on facebookAssignmet on facebook
Assignmet on facebook
 
Real World SharePoint Debacles
Real World SharePoint DebaclesReal World SharePoint Debacles
Real World SharePoint Debacles
 
Facebook Platform for Developers
Facebook Platform for DevelopersFacebook Platform for Developers
Facebook Platform for Developers
 
Advanced facebook seminar mountain home 2013
Advanced facebook seminar mountain home 2013Advanced facebook seminar mountain home 2013
Advanced facebook seminar mountain home 2013
 
Web 2 0 Search Engine Optimization Manual
Web 2 0 Search Engine Optimization ManualWeb 2 0 Search Engine Optimization Manual
Web 2 0 Search Engine Optimization Manual
 

Recently uploaded

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Facebook Developer Garage Milan

  • 1. Developer Garage Milan Main Topic: Facebook Connect April 23, 2009
  • 2. James Leszczenski Software Engineer at Facebook james@facebook.com
  • 3. Agenda ▪ 1. Our Mission ▪ 2. Facebook Connect, An Overview ▪ 3. Getting Started ▪ 4. What’s Next? ▪ 5. Questions
  • 4. Facebook’s Mission: Give people the power to share and make the world more open and connected
  • 5. Your Mission: Create opportunities for people to share and make the world more open and connected
  • 6. What are your goals? 1) Build Traffic 2) Create Deep Engagement 3) Profit Wildly
  • 7. How can Facebook Connect help? 1) Build Traffic through social distribution 2) Create Deep Engagement with identity and social context 3) Profit Wildly with more traffic and engagement
  • 8. Agenda ▪ 1. Our Mission ▪ 2. Facebook Connect, An Overview ▪ 3. Getting Started ▪ 4. What’s Next? ▪ 5. Questions
  • 10. Engaging with a new site is difficult • Decide to register • Click “sign up” • Decide on the basics: Which email will I use? The usual password? User name? • Add extra info: Birthday Name etc… • Enter a CAPTCHA • Confirm • Get sent to verify email page • Wait • Go back in your email, verify email • Go back to browser • And… Think of the steps users need to go through to sign up & engage with your content. … the end result is a website with no social data, no customization, and no friends  10
  • 11. Facebook Connect Increase registration, engagement and traffic on your site. • Share their identity and log in with 1 click • Bring their friends to your site, increasing engagement • Generate more traffic by distributing your content to Facebook’s 200 million users Identity & Login Friends Distribution Facebook Connect allows your visitors to: 11
  • 12. Facebook Connect makes it easy for your users •Decide to register •Click “Connect” •Done A Connected user brings all of their rich Facebook information and friends to your site in 1 click. … a website with your real-life identity, customized content and all your friends. 1. User’s real identity 12 2. Easy access to their friends and friend content
  • 13. Users share content back to Facebook Content from your site gets shared to Facebook. Traffic comes back to your site. 3. Content from your site is easily distributed on Facebook, sending traffic back to your site. 13
  • 14. Over 8,000 web sites have adopted Facebook Connect Connect is revolutionizing the web “It is an ingenious stab at solving several nagging problems at once. Web surfers like to socialize while they browse the internet, but many prefer to do so only with their friends rather than with perfect strangers.” - Dec 4, 2008 “Because Facebook Connect is not just a registration system, but also a marketing channel with a built-in audience of 130 million monthly active users, this program will crush competing registration systems.” - Nov 30, 2008 What sites are seeing: • Registrations 30-100% • User-generated content 15-60% • Each story published to FB generates 0.5 to 2 clicks back to the publishing site “Supporters of this idea say such programs will help with the emergence of a new ‘social Web,’ because chatter among friends will infiltrate even sites that have been entirely unsociable thus far.” - Nov 30, 2008 14
  • 15. Agenda ▪ 1. Our Mission ▪ 2. Facebook Connect, An Overview ▪ 3. Getting Started ▪ 4. What’s Next? ▪ 5. Questions
  • 17. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. ▪ 3. Use XFBML/API calls to show user information. ▪ 4. Publish actions to the Stream/News Feed. ▪ 5. More advanced features.
  • 18. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. ▪ 3. Use XFBML/API calls to show user information. ▪ 4. Publish actions to the Stream/News Feed. ▪ 5. More advanced features.
  • 19. Setting Up your Application ▪ 1. Go to http://www.facebook.com/developers/ ▪ 2. Click “Set Up New Application” ▪ 3. Choose an Application Name, agree to Terms of Service, submit. ▪ 4. Go to the ‘Connect’ tab and fill in ‘Connect URL’ and ‘Base Domain’ ▪ 5. Submit the form. You now have a new application!
  • 20. Setting Up your Application (2) ▪ 1. Download a cross-domain receiver file ▪ Ex. http://www.somethingtoputhere.com/xd_receiver.htm ▪ 2. Upload xd_receiver.htm to your directory. ▪ 3. Open up the web page for development. ▪ 4. Change the <html> tag to: ▪ <html xmlns:fb="http://www.facebook.com/2008/fbml">
  • 21. Setting Up your Application (3) ▪ 5. Insert a few lines just before the </BODY> tag: <script type="text/javascript" src="http:// static.ak.connect.facebook.com/js/api_lib/v0.4/ FeatureLoader.js.php"></script> <script type="text/javascript"> FB.init("YOUR_API_KEY_HERE", "xd_receiver.htm"); </script> ▪ 6. And save your file.
  • 22. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. (Identity) ▪ 3. Use XFBML/API calls to show user information. ▪ 4. Publish actions to the Stream/News Feed. ▪ 5. More advanced features
  • 23. Login Status ▪ 1. Include a Facebook Connect login button: ▪ <p> Click here to connect with Facebook: <fb:login-button onlogin="facebook_onlogin()"> </fb:login-button> </p> ▪ 2. Side note: What is FBML/XFBML?
  • 24. Login Status (2) ▪ 2. Create the facebook_onlogin() function in JavaScript: <script> function facebook_onlogin() { alert(FB.Connect.get_loggedInUser()); } </script>
  • 25. Login Status (3) ▪ 3. Simpler: Detecting status upon page load: <script type="text/javascript"> FB.init("YOUR_API_KEY_HERE", "xd_receiver.htm", {"ifUserConnected" : facebook_onlogin} ); </script>
  • 26. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. (Identity) ▪ 3. Use XFBML/API calls to show user information. (Friends) ▪ 4. Publish actions to the Stream/News Feed. ▪ 5. More advanced features.
  • 27. XFBML ▪ 1. Insert XFBML with facebook_onlogin(): function facebook_onlogin() { fbuid = FB.Facebook.apiClient.get_session().uid; us = document.getElementById('user_section'); us.innerHTML = ‘<fb:profile-pic uid="’+fbuid+’">’ + ‘</fb:profile-pic>’ + ‘<fb:name uid="loggedinuser"></fb:name>’ + ‘has connected with Facebook.’ + ’<br/>’ + ’To log out: <a href="#" onclick="FB.Connect.logout(facebook_onlogout)">Click here</a>'; FB.XFBML.Host.parseDomTree(); // Finds all XFBML tags and re-renders HTML }
  • 28. XFBML (2) ▪ 2. What to do when the user logs out: function facebook_onlogout() { us = document.getElementById('user_section'); // Reset back to the default state us.innerHTML = 'To log in with Facebook: <fb:login-button onlogin="facebook_onlogin()"></fb:login-button>'; FB.XFBML.Host.parseDomTree(); }
  • 29. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. (Identity) ▪ 3. Use XFBML/API calls to show user information. (Friends) ▪ 4. Publish actions to the Stream/News Feed. (Distribution) ▪ 5. More advanced features.
  • 30. Feed Forms • User-editable comment field • Comment can be pre- filled by application with user content • User comment will be returned to application
  • 31. Feed Forms (2) • 1. Go to http://developers.facebook.com/ • 2. Click Tools in the top navigation. • 3. Click the Feed Template Console tab. • 4. Choose your new application from the list and click Next. • 5. Fill out a One Line Template + Short Story Template Title. • e.g. “{*actor*} reviewed a restaurant on Citysearch.” • 6. Submit your template, and get a template ID.
  • 32. Feed Forms (3) // Initialize feed form data var body_general = null; var user_message_prompt = "How was the restaurant?"; var user_message = {value: "The restaurant was..."}; FB.ensureInit(function() { // Show the feed form to the user FB.Connect.showFeedDialog(<?=FEED_FORM_ID?>, template_data, null, body_general, null, FB.RequireConnect.require, FB.RequireConnect.promptConnect, user_message_prompt, user_message); });
  • 33. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. (Identity) ▪ 3. Use XFBML/API calls to show user information. (Friends) ▪ 4. Publish actions to the Stream/News Feed. (Distribution) ▪ 5. More advanced features.
  • 34. Objectives ▪ Main Objective: Integrate Facebook Connect into a web site ▪ 1. Register a new application with Facebook. ▪ 2. Detect the login status of a user. (Identity) ▪ 3. Use XFBML/API calls to show user information. (Friends) ▪ 4. Publish actions to the Stream/News Feed. (Distribution) ▪ 5. More advanced features. ▪ Integration points on facebook.com ▪ Add server-side logic ▪ Anything that Facebook Platform can do.
  • 35. Agenda ▪ 1. Our Mission ▪ 2. Facebook Connect, An Overview ▪ 3. Getting Started ▪ 4. What’s Next? ▪ 5. Questions
  • 36. What’s Next? 1) Integrate Check out our video tutorials: wiki.developers.facebook.com 2) Innovate 3) Iterate and Grow <fb:comments>, <fb:intl>
  • 37. Agenda ▪ 1. Our Mission ▪ 2. Facebook Connect, An Overview ▪ 3. Getting Started ▪ 4. What’s Next? ▪ 5. Questions

Editor's Notes

  1. Facebook&#x2019;s mission is to give people the power to share themselves and make the world more open and transparent. What we all do &#x2013; our engineers at Facebook and developers on Platform &#x2013; is we give people tools, and the power, to share themselves and communicate in different ways. What we have found is that the most important information in the world is inside people. It&#x2019;s how they&#x2019;re thinking, how they&#x2019;re feeling, how they relate to the people around them. And that information isn&#x2019;t accessible in the world. It&#x2019;s not out there available to be indexed. It&#x2019;s only accessible if people choose to share it themselves and have the tools to do so, and that&#x2019;s what we&#x2019;re building. The first version of the web was about putting all the information that existed offline now online. The next version will be about understanding that the web isn&#x2019;t about sharing information, it&#x2019;s about people sharing themselves. The full potential of the web is gives power back to the people so that everyone has a voice and can share what is important to them. When that happens, more information will be available because people had control and chose to share it. The world will be a more transparent place, and this transparency will help us understand each other. It will help us see the good and the bad that we do and help us give each other more feedback to do more good. As the world gets more and more complex, transparency and sharing are key to the world being in harmony. And that&#x2019;s what we&#x2019;re all doing &#x2013; we&#x2019;re giving people the power to the share themselves and create this world. This isn&#x2019;t one organization&#x2019;s mission. Making the world more transparent and bringing people together is more than any one organization can do. This is what we&#x2019;re all doing, and we&#x2019;re doing it together.
  2. Facebook&#x2019;s mission is to give people the power to share themselves and make the world more open and transparent. What we all do &#x2013; our engineers at Facebook and developers on Platform &#x2013; is we give people tools, and the power, to share themselves and communicate in different ways. What we have found is that the most important information in the world is inside people. It&#x2019;s how they&#x2019;re thinking, how they&#x2019;re feeling, how they relate to the people around them. And that information isn&#x2019;t accessible in the world. It&#x2019;s not out there available to be indexed. It&#x2019;s only accessible if people choose to share it themselves and have the tools to do so, and that&#x2019;s what we&#x2019;re building. The first version of the web was about putting all the information that existed offline now online. The next version will be about understanding that the web isn&#x2019;t about sharing information, it&#x2019;s about people sharing themselves. The full potential of the web is gives power back to the people so that everyone has a voice and can share what is important to them. When that happens, more information will be available because people had control and chose to share it. The world will be a more transparent place, and this transparency will help us understand each other. It will help us see the good and the bad that we do and help us give each other more feedback to do more good. As the world gets more and more complex, transparency and sharing are key to the world being in harmony. And that&#x2019;s what we&#x2019;re all doing &#x2013; we&#x2019;re giving people the power to the share themselves and create this world. This isn&#x2019;t one organization&#x2019;s mission. Making the world more transparent and bringing people together is more than any one organization can do. This is what we&#x2019;re all doing, and we&#x2019;re doing it together.
  3. 1) integrate- that&#x2019;s why you&#x2019;re here today. 2) Innovate- Integration is just a matter of syntax and technology. Truly revolutionary products have a vision. The most humbling part of my job... 3) Iterate-