SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Integrate Business Apps
with Facebook, Twitter, and LinkedIn

Mark Trang, SocialPandas, CEO
@marktrang

Jason Ouellette, SocialPandas, CTO
@jmouel
Safe Harbor
 Safe harbor statement under the Private Securities Litigation Reform Act of 1995:

 This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if
 any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-
 looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of
 product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of
 management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments
 and customer contracts or use of our services.

 The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our
 service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth,
 interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated
 with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain,
 and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling
 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the
 financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This
 documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.

 Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may
 not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
 available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
SocialPandas: Social Selling Platform for B2B

  What We Do                Who We Are   We’re Hiring!




                  Investors include:

       Leads
       Revenue
The Social Business Era is Here
            Marketing & PR                              Recruiting                                  HR
     Generate and monitor viral awareness      Attract talent via social networks       Manage & develop employees




             Collaboration                        Customer Service                                 CRM

     Internal social employee collaboration   Deliver customer service via social   Engage and grow customer relationships
What This Means for You




 New IT Projects   New Consulting Gigs   New Companies to Join
                                           (or start yourself!)
Jason Ouellette
Chief Technology Officer
Agenda
Social API overview
Sample app
    Demo
    Component walkthrough
    Dependencies
    Social identity & authentication
    Social data import workers
Wrap-up, resources, Q&A
Social API Overview
Provider   Data Examples                        Restrictions
Facebook   Objects (Users, Groups, Events)      Undocumented
           Relationships (Friends, Likes)
LinkedIn   People                               Daily “Throttle Limits” per User,
           Companies                            Application
           Groups
           Jobs
Twitter    Users                                Hourly Limits
           Relationships (Followers, Friends)   Rate Limits per API Type
           Tweets
Chatter    Users                                Daily API Request Limit
           Feeds (Posts, Comments)              Query Language Limits
Sample App: Demo
Sample App: Component Walkthrough (1/2)


   Rails
   PostgreSQL
   CoffeeScript
   Sass
   Bootstrap
   Gems to provide social API access
Sample App: Component Walkthrough (2/2)
                         Sign in/out
        index.html                     Sessions Controller

                                                   Import (from Social API Provider)


                                            Workers
                                                                          Names, Photo URLs




                                                                                People


                        Get people,
                        Eval answer
     Game Client (JS)                   Game Controller
Sample App: Dependencies
GEM              Purpose                        URL
omniauth         External Authentication        https://github.com/intridea/omniauth
twitter          Twitter - Followers, Friends   http://twitter.rubyforge.org
linkedin         LinkedIn - People              https://github.com/pengwynn/linkedi
                                                n
koala            Facebook - Users               https://github.com/arsduo/koala
databasedotcom   Chatter - Users                https://github.com/heroku/database
                                                dotcom
Sample App: Social Identity & Authentication (1/4)

Create models
rails generate scaffold User 
 name:string photo_url:string


rails generate scaffold Authentication 
 user_id:integer provider:integer 
 uid:string token:string refresh_token:string info:string


rails generate scaffold Person 
 user_id:integer name:string photo_url:string provider:integer
Sample App: Social Identity & Authentication (2/4)

Initialize OmniAuth (config/initializers/omniauth.rb)
Sample App: Social Identity & Authentication (3/4)

Lookup and create user, authentication records via model
Sample App: Social Identity & Authentication (4/4)

Wire up sign-in and sign-out to OmniAuth
Play the game: http://www.socialnamegame.com
Sample App: Social Data Import Workers (1/4)

Facebook
Sample App: Social Data Import Workers (2/4)

LinkedIn
Sample App: Social Data Import Workers (3/4)

Twitter
Sample App: Social Data Import Workers (4/4)

Salesforce
Wrap-Up

Social APIs are easy to use, but intentionally limited by providers
    Like database calls in Apex, bulkify your Social API calls
    Cache data where permitted
    Think about client vs. server usage patterns, mix and match
Embrace OAuth for identity and authentication
    Avoid the chore of managing your own user authentication scheme
Go forth and build social apps!
Resources

Sample app code
    https://github.com/jmouel/socialnamegame
Getting started with Rails, Rails 3.x on Heroku
    http://guides.rubyonrails.org/getting_started.html
    https://devcenter.heroku.com/articles/rails3
Identity and authentication
    Simple OmniAuth: http://railscasts.com/episodes/241-simple-omniauth
    Devise: https://github.com/plataformatec/devise
Mark Trang         Jason Ouellette
CEO / SocialPandas,   CTO / SocialPandas,
   @marktrang              @jmouel
Integrate Business Apps with Facebook, Twitter, and LinkedIn

Mais conteúdo relacionado

Semelhante a Integrate Business Apps with Facebook, Twitter, and LinkedIn

Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSalesforce Developers
 
The Ball Launch on 2013 Microsoft TechDays Part 1/2
The Ball Launch on 2013 Microsoft TechDays Part 1/2The Ball Launch on 2013 Microsoft TechDays Part 1/2
The Ball Launch on 2013 Microsoft TechDays Part 1/2Kallex
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 
Platform Play Web Social And Mobile For P Camp09
Platform Play   Web Social And Mobile For P Camp09Platform Play   Web Social And Mobile For P Camp09
Platform Play Web Social And Mobile For P Camp09Sudha Jamthe
 
Social Media & Open Social Introduction
Social Media & Open Social IntroductionSocial Media & Open Social Introduction
Social Media & Open Social Introductionkit sharma
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudSalesforce Developers
 
Introduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidIntroduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidSalesforce Developers
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreSalesforce Developers
 
Force.com: A Walk on the Enterprise Side
Force.com: A Walk on the Enterprise SideForce.com: A Walk on the Enterprise Side
Force.com: A Walk on the Enterprise SidePat Patterson
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
Social Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSocial Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSalesforce Developers
 
Hands-on with OAuth, Facebook and the Force.com Platform
Hands-on with OAuth, Facebook and the Force.com PlatformHands-on with OAuth, Facebook and the Force.com Platform
Hands-on with OAuth, Facebook and the Force.com PlatformPat Patterson
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesRoy Pereira
 
Social In Platform Play - How to add social to your products
Social In Platform Play - How to add social to your productsSocial In Platform Play - How to add social to your products
Social In Platform Play - How to add social to your productsSudha Jamthe
 
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave Norris
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave NorrisDreamforce Debrief - The Salesforce.com platform - keynote by Dave Norris
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave NorrisCapgemini
 
Sfdc df2001-platformkeynotedavenorris
Sfdc df2001-platformkeynotedavenorrisSfdc df2001-platformkeynotedavenorris
Sfdc df2001-platformkeynotedavenorrissuyashawasthi
 
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
Mashing Up  Taking Enterprise Mashups To The Next Level  PresentationMashing Up  Taking Enterprise Mashups To The Next Level  Presentation
Mashing Up Taking Enterprise Mashups To The Next Level Presentationjward5519
 

Semelhante a Integrate Business Apps with Facebook, Twitter, and LinkedIn (20)

Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku Webinar
 
The Ball Launch on 2013 Microsoft TechDays Part 1/2
The Ball Launch on 2013 Microsoft TechDays Part 1/2The Ball Launch on 2013 Microsoft TechDays Part 1/2
The Ball Launch on 2013 Microsoft TechDays Part 1/2
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 
Platform Play Web Social And Mobile For P Camp09
Platform Play   Web Social And Mobile For P Camp09Platform Play   Web Social And Mobile For P Camp09
Platform Play Web Social And Mobile For P Camp09
 
Social Media & Open Social Introduction
Social Media & Open Social IntroductionSocial Media & Open Social Introduction
Social Media & Open Social Introduction
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the Cloud
 
Introduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidIntroduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for Android
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
 
Force.com: A Walk on the Enterprise Side
Force.com: A Walk on the Enterprise SideForce.com: A Walk on the Enterprise Side
Force.com: A Walk on the Enterprise Side
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Social Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSocial Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for Facebook
 
Hands-on with OAuth, Facebook and the Force.com Platform
Hands-on with OAuth, Facebook and the Force.com PlatformHands-on with OAuth, Facebook and the Force.com Platform
Hands-on with OAuth, Facebook and the Force.com Platform
 
Resume
ResumeResume
Resume
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development Guidelines
 
Social In Platform Play - How to add social to your products
Social In Platform Play - How to add social to your productsSocial In Platform Play - How to add social to your products
Social In Platform Play - How to add social to your products
 
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave Norris
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave NorrisDreamforce Debrief - The Salesforce.com platform - keynote by Dave Norris
Dreamforce Debrief - The Salesforce.com platform - keynote by Dave Norris
 
Sfdc df2001-platformkeynotedavenorris
Sfdc df2001-platformkeynotedavenorrisSfdc df2001-platformkeynotedavenorris
Sfdc df2001-platformkeynotedavenorris
 
uppada_kishore_resume (1)
uppada_kishore_resume (1)uppada_kishore_resume (1)
uppada_kishore_resume (1)
 
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
Mashing Up  Taking Enterprise Mashups To The Next Level  PresentationMashing Up  Taking Enterprise Mashups To The Next Level  Presentation
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
 

Mais de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mais de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Integrate Business Apps with Facebook, Twitter, and LinkedIn

  • 1. Integrate Business Apps with Facebook, Twitter, and LinkedIn Mark Trang, SocialPandas, CEO @marktrang Jason Ouellette, SocialPandas, CTO @jmouel
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward- looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. SocialPandas: Social Selling Platform for B2B What We Do Who We Are We’re Hiring! Investors include: Leads Revenue
  • 4. The Social Business Era is Here Marketing & PR Recruiting HR Generate and monitor viral awareness Attract talent via social networks Manage & develop employees Collaboration Customer Service CRM Internal social employee collaboration Deliver customer service via social Engage and grow customer relationships
  • 5. What This Means for You New IT Projects New Consulting Gigs New Companies to Join (or start yourself!)
  • 7. Agenda Social API overview Sample app  Demo  Component walkthrough  Dependencies  Social identity & authentication  Social data import workers Wrap-up, resources, Q&A
  • 8. Social API Overview Provider Data Examples Restrictions Facebook Objects (Users, Groups, Events) Undocumented Relationships (Friends, Likes) LinkedIn People Daily “Throttle Limits” per User, Companies Application Groups Jobs Twitter Users Hourly Limits Relationships (Followers, Friends) Rate Limits per API Type Tweets Chatter Users Daily API Request Limit Feeds (Posts, Comments) Query Language Limits
  • 10. Sample App: Component Walkthrough (1/2)  Rails  PostgreSQL  CoffeeScript  Sass  Bootstrap  Gems to provide social API access
  • 11. Sample App: Component Walkthrough (2/2) Sign in/out index.html Sessions Controller Import (from Social API Provider) Workers Names, Photo URLs People Get people, Eval answer Game Client (JS) Game Controller
  • 12. Sample App: Dependencies GEM Purpose URL omniauth External Authentication https://github.com/intridea/omniauth twitter Twitter - Followers, Friends http://twitter.rubyforge.org linkedin LinkedIn - People https://github.com/pengwynn/linkedi n koala Facebook - Users https://github.com/arsduo/koala databasedotcom Chatter - Users https://github.com/heroku/database dotcom
  • 13. Sample App: Social Identity & Authentication (1/4) Create models rails generate scaffold User name:string photo_url:string rails generate scaffold Authentication user_id:integer provider:integer uid:string token:string refresh_token:string info:string rails generate scaffold Person user_id:integer name:string photo_url:string provider:integer
  • 14. Sample App: Social Identity & Authentication (2/4) Initialize OmniAuth (config/initializers/omniauth.rb)
  • 15. Sample App: Social Identity & Authentication (3/4) Lookup and create user, authentication records via model
  • 16. Sample App: Social Identity & Authentication (4/4) Wire up sign-in and sign-out to OmniAuth
  • 17. Play the game: http://www.socialnamegame.com
  • 18. Sample App: Social Data Import Workers (1/4) Facebook
  • 19. Sample App: Social Data Import Workers (2/4) LinkedIn
  • 20. Sample App: Social Data Import Workers (3/4) Twitter
  • 21. Sample App: Social Data Import Workers (4/4) Salesforce
  • 22. Wrap-Up Social APIs are easy to use, but intentionally limited by providers  Like database calls in Apex, bulkify your Social API calls  Cache data where permitted  Think about client vs. server usage patterns, mix and match Embrace OAuth for identity and authentication  Avoid the chore of managing your own user authentication scheme Go forth and build social apps!
  • 23. Resources Sample app code  https://github.com/jmouel/socialnamegame Getting started with Rails, Rails 3.x on Heroku  http://guides.rubyonrails.org/getting_started.html  https://devcenter.heroku.com/articles/rails3 Identity and authentication  Simple OmniAuth: http://railscasts.com/episodes/241-simple-omniauth  Devise: https://github.com/plataformatec/devise
  • 24. Mark Trang Jason Ouellette CEO / SocialPandas, CTO / SocialPandas, @marktrang @jmouel