Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Countdown to Facebook D-Day

Countdown to Facebook D-Day

Lightning talk delivered on October 23, 2014 @ Nomad PHP: https://joind.in/12314

On April 30, 2015 Facebook is going to break their API. Are you prepared?
Facebook recently announced some big changes to their development platform which introduces a number of new features, limitations and breaking changes. The changes include a new version & versioning system of the Graph API, a brand new Facebook login & permission system, a brand new PHP SDK, and a brand new JavaScript SDK.

And here's the kicker: all Facebook apps will be automatically forced upgraded to Graph v2.0 on April 30, 2015.

If you have ever tied your website into Facebook login, used the Graph API or the PHP or Javascript SDK's, you cannot miss this talk. I will outline what Facebook is changing and explain the new Graph versioning timeline and process. I'll also give tips for upgrading your app to the latest version of Graph and how to stay on top of the Facebook platform changes going forward.

Sammy Kaye Powers

October 23, 2014
Tweet

More Decks by Sammy Kaye Powers

Other Decks in Programming

Transcript

  1. Countdown to
    FACEBOOK
    D-DAY
    Photo: @darthmauldds on Flickr
    APRIL 30
    2015
    By @SammyK
    For @nomadphp
    On October 23rd, 2014

    View Slide

  2. Facebook development
    CRASH COURSE
    Photo: Skinnyde on Flickr

    View Slide

  3. FACEBOOK APP?
    What is a

    View Slide

  4. View Slide

  5. X

    View Slide


  6. View Slide

  7. DATA
    into Facebook’s
    PORTAL
    Photo: Mike Kniec on Flickr

    View Slide

  8. MANY FORMS
    A Facebook app takes

    View Slide

  9. Website

    View Slide

  10. Website

    View Slide

  11. Canvas

    View Slide

  12. Page Tab

    View Slide

  13. SOURCE CODE
    The canvas app

    View Slide

  14. src=“you.com”>!

    View Slide

  15. src=“you.com”>!

    View Slide

  16. src=“you.com”>!

    View Slide

  17. THAT’S IT! :)

    View Slide

  18. src=“you.com”>!

    View Slide

  19. OTHER FORMS
    A few other

    View Slide

  20. Mobile
    Photo: Mike Mozart on Flickr

    View Slide

  21. Consoles

    View Slide

  22. STORY TIME

    View Slide

  23. Meet Bob.
    hi
    im bob.

    View Slide

  24. Bob is
    a builder.

    View Slide

  25. One day…

    View Slide

  26. View Slide

  27. View Slide

  28. I shall
    build!

    View Slide

  29. View Slide

  30. View Slide

  31. And it was good

    View Slide

  32. …but then
    without warning

    View Slide

  33. View Slide

  34. View Slide

  35. That’s
    old

    View Slide

  36. That
    too

    View Slide

  37. View Slide

  38. View Slide

  39. but
    whyyy?!

    View Slide

  40. Bob is totes mad

    View Slide

  41. View Slide

  42. View Slide

  43. THE END

    View Slide

  44. QUIZ TIME!
    (3 questions)

    View Slide

  45. = ?

    View Slide

  46. = PHP NERD

    View Slide

  47. = ?

    View Slide

  48. = FACEBOOK
    DEVELOPMENT
    PLATFORM

    View Slide

  49. THE BAD GUY?
    Who is

    View Slide

  50. ?

    View Slide

  51. X

    View Slide

  52. ?

    View Slide

  53. X

    View Slide

  54. ???

    View Slide

  55. v
    EXPECTATION

    View Slide

  56. v
    EXPECTATION
    THE BAD GUY!

    View Slide

  57. Facebook platform
    CHANGES
    TIME
    Photo: Gerrit (Gert) Beukema on Flickr
    ALL
    THE

    View Slide

  58. !
    define(‘CONSTANT’,!
    ‘???’);

    View Slide

  59. !
    define(‘CONSTANT’,!
    ‘change’);

    View Slide

  60. What's
    DEPRECIATED
    Photo: Brent Danley on Flickr

    View Slide

  61. LIKE GATES?
    Remember
    Like our
    PAGE!

    View Slide

  62. Photo: http://www.picturemarketing.com/products/social/like-gate

    View Slide

  63. DEAD
    Like our
    PAGE!
    Like Gates
    Nov 5, 2014

    View Slide

  64. You must not
    incentivize people to
    use social plugins or
    to like a Page.

    View Slide

  65. This includes offering
    rewards, or gating apps or
    app content based on
    whether or not a person has
    liked a Page.
    - Facebook Platform Policy

    View Slide

  66. This includes offering
    rewards, or
    app content based on
    whether or not a person has
    liked a Page.
    - Facebook Platform Policy
    “ Bob is totes mad

    View Slide

  67. FEED DIALOG?
    Remember
    Share
    this!

    View Slide

  68. Photo: https://developers.facebook.com/docs/sharing/reference/feed-dialog/v2.1

    View Slide

  69. DEAD
    Feed Dialog
    April 30, 2015
    Share
    this!

    View Slide

  70. SHARE DIALOG
    Share
    this!
    The new hotness

    View Slide

  71. Photo: https://developers.facebook.com/docs/sharing/reference/share-dialog

    View Slide

  72. Photo: https://developers.facebook.com/docs/sharing/reference/feed-dialog/v2.1

    View Slide

  73. FB.ui({!
    method: ‘feed',!
    name: ‘My title’,!
    caption: 'My caption’,!
    description:!
    ‘My description’,!
    picture:!
    ‘you.com/pic.jpg’,!
    link: ‘you.com’!
    }, function(response){});

    View Slide

  74. FB.ui({!
    method: ‘feed',!
    name: ‘My title’,!
    caption: 'My caption’,!
    description:!
    ‘My description’,!
    picture:!
    ‘you.com/pic.jpg’,!
    link: ‘you.com’!
    }, function(response){});

    View Slide

  75. FB.ui({!
    method: ‘feed',!
    name: ‘My title’,!
    caption: 'My caption’,!
    description:!
    ‘My description’,!
    picture:!
    ‘you.com/pic.jpg’,!
    link: ‘you.com’!
    }, function(response){});

    View Slide

  76. FB.ui({!
    method: ‘feed',!
    name: ‘My title’,!
    caption: 'My caption’,!
    description:!
    ‘My description’,!
    picture:!
    ‘you.com/pic.jpg’,!
    link: ‘you.com’!
    }, function(response){});

    View Slide

  77. FB.ui({!
    method: ‘feed',!
    name: ‘My title’,!
    caption: 'My caption’,!
    description:!
    ‘My description’,!
    picture:!
    ‘you.com/pic.jpg’,!
    link: ‘you.com’!
    }, function(response){});

    View Slide

  78. Photo: https://developers.facebook.com/docs/sharing/reference/share-dialog

    View Slide

  79. FB.ui({!
    method: 'share',!
    href: ‘you.com',!
    }, function(response){});

    View Slide

  80. Photo: https://developers.facebook.com/docs/sharing/reference/share-dialog
    CUSTOMIZE?
    How to

    View Slide

  81. !
    !

    OPEN GRAPH TAGS

    View Slide

  82. OPEN GRAPH TAGS
    ANOTHER TALK
    That’s

    View Slide

  83. OPEN GRAPH TAGS
    Bob is totes mad

    View Slide

  84. FQL?
    Remember
    SELECT
    * FRoM me
    (Facebook Query Language)

    View Slide

  85. SELECT uid, name, pic_square
    FROM user WHERE uid = me()!
    OR uid IN (SELECT uid2 FROM
    friend WHERE uid1 = me())

    View Slide

  86. DEAD
    FQL
    August 7, 2016
    SELECT
    * FRoM me

    View Slide

  87. COMPLEX QUERIES?
    How to make
    SELECT uid, name, pic_square
    FROM user WHERE uid = me()!
    OR uid IN (SELECT uid2 FROM
    friend WHERE uid1 = me())

    View Slide

  88. 1) nested requests
    2) multiple ID read requests
    3) batch requests

    View Slide

  89. 1) nested requests
    2) multiple ID read request
    3)
    Bob is totes mad

    View Slide

  90. www.SammyK.me

    View Slide

  91. FACEBOOK CHANGES
    TIME
    Photo: allison on Flickr
    all the

    View Slide

  92. What's
    NEW
    Photo: Thangaraj Kumaravel on Flickr

    View Slide

  93. FACEBOOK LOGIN
    New!

    View Slide

  94. REVIEW PROCESS
    App

    View Slide

  95. USER ID'S
    App-scoped

    View Slide

  96. FRIENDS LIST
    Limited

    View Slide

  97. FACEBOOK LOGIN
    New

    View Slide

  98. FACEBOOK LOGIN
    New
    REVIEW PROCESS
    App

    View Slide

  99. FACEBOOK LOGIN
    New
    REVIEW PROCESS
    App
    USER ID'S
    App-scoped

    View Slide

  100. FRIENDS LIST
    Limited
    FACEBOOK LOGIN
    New
    REVIEW PROCESS
    App
    USER ID'S
    App-scoped

    View Slide

  101. FRIENDS LIST
    Limited
    FACEBOOK LOGIN
    New
    REVIEW PROCESS
    App
    USER ID'S
    App-scoped
    D-DAY
    APRIL 30, 2015

    View Slide

  102. FRIENDS LIST
    Limited
    FACEBOOK LOGIN
    New
    REVIEW PROCESS
    App
    USER ID'S
    App-scoped
    D-DAY
    APRIL 30, 2015
    Bob is totes mad

    View Slide

  103. namespace Facebook;!
    echo CONSTANT;

    View Slide

  104. change

    View Slide

  105. What’s in the
    FUTURE
    Photo: Andrew Becraft on Flickr

    View Slide

  106. View Slide

  107. View Slide

  108. How to stay
    UPDATED?

    View Slide

  109. developers.facebook.com/docs

    View Slide

  110. DEVELOPERS

    View Slide

  111. DOT

    View Slide

  112. FACEBOOK

    View Slide

  113. DOT

    View Slide

  114. COM

    View Slide

  115. SLASH

    View Slide

  116. DOCS

    View Slide

  117. developers.facebook.com/docs

    View Slide

  118. developers.facebook.com/docs

    View Slide

  119. developers.facebook.com/docs

    View Slide

  120. developers.facebook.com/docs/apps

    View Slide

  121. developers.facebook.com/docs/apps

    View Slide

  122. developers.facebook.com/docs/apps

    View Slide

  123. developers.facebook.com/docs/apps

    View Slide

  124. developers.facebook.com/docs/apps

    View Slide

  125. developers.facebook.com/docs/apps

    View Slide

  126. GRAPH VERSION SCHEDULES

    View Slide

  127. =
    GRAPH VERSION SCHEDULES
    TL;DR

    View Slide

  128. GRAPH VERSION SCHEDULES
    TL;DR
    Some stuffs

    View Slide

  129. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    Some stuffs

    View Slide

  130. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    Some stuffs
    Some stuffs

    View Slide

  131. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    2 YEARS
    Some stuffs
    Some stuffs

    View Slide

  132. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    2 YEARS
    Some stuffs
    Some stuffs
    Some stuffs…

    View Slide

  133. Facebook does reserve the
    right to make changes in any
    API in a short period of time
    for issues related to
    security or privacy.
    - Facebook Platform Versioning Docs

    View Slide

  134. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    2 YEARS
    Some stuffs
    Some stuffs
    Some stuffs

    View Slide

  135. GRAPH VERSION SCHEDULES
    TL;DR
    90 DAYS
    2 YEARS
    Some stuffs
    Some stuffs
    Some stuffs we’re
    U

    View Slide

  136. ENLIGHTENED
    Be an
    developer

    View Slide

  137. v
    EXPECTATION

    View Slide

  138. v
    EXPECTATION
    X

    View Slide

  139. v
    CHANGE

    View Slide

  140. v
    CHANGE

    View Slide

  141. The Facebook platform
    CONSTANT
    Photo: Alex Abian on Flickr
    & UNCHANGING.
    is not these things.

    View Slide

  142. SAID YODA.
    Photo: Alex Abian on Flickr

    View Slide

  143. SAID YODA.
    Photo: Alex Abian on Flickr
    THAT ONE TIME.

    View Slide

  144. While developing
    SAID YODA.
    Photo: Alex Abian on Flickr
    THAT ONE TIME.
    a Facebook app.

    View Slide

  145. THANKS!
    Sammy Kaye Powers
    Photo: derriel street photography on Flickr
    @SammyK
    SammyK.me
    Host of @PHPRoundtable
    Chicago Facebook Developers
    West Coast Swing

    View Slide