1 / 11

Web Platforms, or: How I Learned To Stop Worrying And Love Facebook

Web Platforms, or: How I Learned To Stop Worrying And Love Facebook. Web-enhanced information management ( Coms e6125) Spring 2008 ( Cvn ) navid azimi (na2258). My Project. Extend and document Facebook.NET Facebook.NET is an open-source managed wrapper around the Facebook REST APIs.

Download Presentation

Web Platforms, or: How I Learned To Stop Worrying And Love Facebook

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Platforms, or: How I Learned To Stop Worrying And Love Facebook Web-enhanced information management (Coms e6125) Spring 2008 (Cvn) navidazimi (na2258)

  2. My Project • Extend and document Facebook.NET • Facebook.NET is an open-source managed wrapper around the Facebook REST APIs. • Used by Facebook application developers • Facebook APIs facilitate application developers to leverage user data • e.g. personal information, profile real estate, social graph, etc • Facebook APIs are only one facet of the Facebook Platform

  3. Facebook Platform • Allows third parties to develop web or desktop applications that • leverage user data and Facebook’s social graph • e.g. name, networks, photos, friends, marketplace, etc • deeply integrate into the Facebook ecosystem • e.g. profile real estate, mini-feed, look and feel, etc • Frontend Integration (UI) • Reusing Facebook’s controls and styles • Backend Integration (Data) • Access to user data and settings as well as scalable data store

  4. Frontend Platform • Markup (FBML) • Stands for Facebook Markup Language • Improves usability by allowing third-party applications to leverage existing Facebook UI controls • dashboard, invite users, comments, forms, type-ahead, etc • Adheres to each user’s privacy settings automatically • Scripting (FBJS) • Stands for Facebook JavaScript • Facilitates “Javascript” functionality in a safe context • Includes native support for Ajax and Animation libraries

  5. Backend Platform • Query (FQL) • Stands for FacebookQuery Language • Offers SQL-like interface to get/set user data • Interface (API) • Offers REST-like interface to get/set user data • Client (wrapper) libraries exist in 17+ programming languages • PHP, Ruby, C#, Java, Perl, Python, Lisp, etc • Encapsulate common, mundane and generally difficult to “get right” tasks such as authentication, encryption, transformation, etc • Data Store • Facebook offers applications free (though capped) data store that is highly scalable (i.e. optimized distributed tables)

  6. Platform Architecture • Each application hosts its own site (along with its own database). • Users load application page through Facebook • http://apps.facebok.com/[appname]/[blah] • Facebook sends a request to the application callback url on behalf of the user along with some data • http://www.domain.com/[path_to_your_app]/[blah] • The application renders the page and returns it to Facebook • which may or may not contain FBML code • Facebook in turn renders the page again for security and functionality and displays it to the user

  7. Application Request Life Cycle This has obvious performance implications. They are in large part mitigated via aggressive caching and server load-balancing. Facebook automatically times-out after a mere eight seconds! Creates a need for high performing and scalable hosts.

  8. And the results? • There are 910,230,809 installs across 22,143 applications. Over 200,000 developers are currently evaluating the platform. (data from www.adonomics.com) • Facebook has successfully opened up their walled garden of data • Application developers can monetize their own sites • via advertisement, subscription fees, affiliate fees, etc. • Facebook itself does not advertise on application canvas pages! • Applications (supposedly) add value to the Facebook ecosystem • thereby generating more traffic and revenue for Facebook

  9. So, what’s missing? • Developer tools and support are both sorely lacking • No Facebook sandbox or staging environment • Poorly designed test user accounts • Technical support limited to community discussion forums • Live site monitoring is poor and unreliable • Applications are now becoming walled gardens of data themselves • Potentially create “application-to-application” platform • Similar concept (Permissions API) has already gone into BETA • Allows one application to make Facebook API calls on behalf of another application

  10. Thank you! Comments? Questions?

  11. Facebook Applications I’ve Developed • Professionally • Microsoft Dynamics Connect • Recreationally • Kiwi: your story told by friends • Profile Watcher • You Are Bootyful • Hooray Beer! • Installation base of 900k+ and steadily growing.

More Related