Presentation is loading. Please wait.

Presentation is loading. Please wait.

WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook.

Similar presentations


Presentation on theme: "WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook."— Presentation transcript:

1 WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook

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 Facebook Query 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. User makes request for an application hosted page Facebook sends request to application Application renders and returns response to Facebook Facebook renders (parses) response from application Facebook returns requested page to User

8 And the results? 910,230,80922,143 200,000 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 COMMENTS? QUESTIONS? Thank you!

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.


Download ppt "WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook."

Similar presentations


Ads by Google