Facebook App Dev101 (Tyler Ballance, Slide.com)

  • Published on

  • View

  • Download

Embed Size (px)


 Facebook App Dev 101 workshop: Intro to Platform / Building Your First App - Tyler Ballance, Slide.com & Ari Steinberg, Facebook @ Graphing Social Patterns Oct 2007


  • Facebook App Development 101 Intro to the Platform/Building your first Facebook App Professor R. Tyler Ballance Slide, Inc. tyler@slide.com
  • Meet the Professor I work at Slide, Inc.
  • Meet the Professor I write Facebook apps.
  • Meet Ari Works on the platform
  • Facebook App Dev 101 Introduction to the Facebook Platform Facebook Developer Resources Platform Client Libraries Dissecting Why are you awesome? LUNCH! Building an application Testing your application Metrics?
  • Introduction to the Platform
  • Welcome to the Facebook Platform
  • Welcome to the Facebook Platform Dave McClure is attending Graphing Social Tony Hsieh left the group Tony Hsieh For President David Young added a new video to a group. Adora Cheung added FunWall Kara Swisher and Mark Zuckerberg ended their relationship. Lee Lorenzen plans to attend Widget Summit Kevin Ho is feeling graphical. Adora and Daniel Kim are now friends. Mike Huang updated his prole. He edited his interests and prole picture. Max Levchin updated his Top Friends Will Liu is no longer listed as single. Jared Fleiser has thrown a sheep at Sonya Chawla Kasey Kirkham added new photos. Nik Gandhy wrote on Lennisse Ambrizs w Keith Rabois attended CommunityNext Platform A black blue box of social information
  • Developer Resources
  • Developer Resources Test Console http://developers.facebook.com/tools.php Bugzilla http://bugs.developers.facebook.com/ Developer Application http://www.facebook.com/developers/ Developer Wiki http://wiki.developers.facebook.com
  • Subscribe to Platform Feeds
  • Report good bugs
  • IRC Channel
  • Technically Speaking
  • How do you communicate with Facebook? XML JSON HTTP Request
  • Is Zuckerberg my friend? XML Response NO 627205543 412 bytes 40 {um: NO!} JSON Response 53 bytes [{quot;uid1quot;:quot;627205543quot;,quot;uid2quot;:quot;4quot;,quot;are_friendsquot;:false}]
  • Friends UIDs 697 friends JSON XML 16KB 44KB SELECT uid1 FROM friend WHERE uid2 = 627205543
  • Facebook Client Libraries
  • PHP Cons Pros Super-easy to use. Only works with XML (like BASIC, but with dollar signs) Written in PHP Ofcially supported Conducive to Wider variety of spaghetti code hosting options
  • Python Cons Pros Shared hosts dont tend Very well written API to support Python Uses simplejson by Supports JSON/XML default by default Easily integrated Slightly larger learning with Django curve for beginners Good enough for Slide
  • Ruby Cons Pros Difcult to move from Scales well PHP to Ruby Bends the rules on how Ruby on Rails can be to write RESTful code very clean Easy to write poorly Rails encourages performing code automated testing. Not quite conforming to Very Web 2.0 Ruby coding standards
  • .NET Cons Pros A variety of existing IIS, or mod_mono UserControls Some aspects Usable from C#, or require .NET 3.5 VB.NET Very enterprisey and Tight integration complicated with Visual Studio LINQ support Tied to XML with a noose Very well documented
  • Other Libraries ColdFusion Perl Java C++
  • More Cons Platform moves too quickly Marketplace API Status API Data Store API Very little shared coding standards Everybodys reinventing the wheel
  • Dissecting Why are you awesome?
  • What it is yo. Owl == AWESOME
  • Post-Install Owl Call to action Social context
  • Post-Install fb:dashboard fb:action fb:prole-pic regular form fb:name regular links
  • Changin State fb:success
  • Notify. Rinse. Repeat. fb:notif-page
  • IN UR PROFILEZ fb:pronoun auto-generated OMFG LAME
  • IN UR PROFILEZ fb:name fb:prole-pic Mock AJAXd
  • IN UR PROFILEZ fb:error
  • Zee Codes
  • Building your first application
  • Testing your Facebook application
  • Use basic unit testing Application Logic phpunit
  • Metrics, engagement and fun numbers
  • Closure