views:

2989

answers:

4

I'm reading Facebook's documentation so I can figure out how to enable Facebook Connect on my site. What confuses me is which parts apply to Facebook applications and Facebook Connect, because I'll be reading along, thinking I'm learning about Facebook Connect, but then I'll reach a section that mentions Facebook applications. For example, here's an except from the page on Data.getCookies:

This method returns all cookies for a given user and application.

Cookies only apply to Web applications; they do not apply to desktop applications.

I think of my website as a Web application, but I can't tell if "Web applications" simultaneously refers to Facebook Connect sites and Facebook applications. How can I tell if what I'm reading applies to Facebook Connect and not just Facebook apps?

+2  A: 

Many aspects of the FB web applications (like FBML, FQL) are common for both FB apps and FB Connect. I would say that FB Connect is more likely to be used on sites implementing more FB's visual elements (FBML). Additionally, FB Connect can be used off-line (where the user does not have a current session directly with FB).

I admit that the documentation is fairly scattered and often quite vague - but once you keep reading more and more about it, the concepts become clearer. At least that was my experience.

Miroslav Solanka
+7  A: 

Hi allyourcode,

In that context, "Web applications" refers to canvas based apps with Facebook. "Desktop apps" is the other type mentioned there, and refers to a non-web app like a widget for your system tray in Windows.

I would look at the Facebook platform as a set of APIs:

  • Facebook canvas applications (Apps you use in FB. What users think of as "Facebook apps")
    • FBML / FBJS apps
    • Iframe canvas apps
  • Facebook desktop applications (Rare)
  • Facebook connect applications (Websites with elements of FB in them. CNN, Digg)
    • Web
    • iPhone

Note that all of these can access the Facebook API, the REST and FQL interface. Most of the documentation is for FBML canvas applications. On the left side of the Facebook developer wiki you can see a few top-level options:

  • API (you can always use this)
  • FBML (canvas apps only)
  • XFBML (Facebook connect only)
  • FQL (you can always use this)
  • FBJS (mostly canvas apps, some connect functionality)

I'm sure you've seen:

http://wiki.developers.facebook.com/index.php/Facebook_Connect

Which is the main connect documentation. I hope this helps you get organized.

Good luck!

mixonic
Thanks, mixonic. You mentioned canvas apps. Is that different from iframe apps? There seem to be several variants of "Facebook application"; I guess I need clarification on that too :/
allyourcode
Facebook canvas apps are applications you use *in Facebook*. There are two kinds: *Iframe apps*, which are still in Facebook but use iframes (an old app style I would not recommend using), and *FBML/FBJS apps*, which use a subset of HTML combined with special FBML tags.With iframe apps, the user's browser is requesting pages from your server directly. With FBML apps, the browser is hitting Facebook, and Facebook is proxying the request to your server, parsing the response, and presenting the parsed and sanboxed output to the browser.Does that help all?
mixonic
I think so. Here's my current understanding: "web apps (as used by Facebook's documentation)" = { Connect sites, canvas apps = {iframe, FBML/FBJS} }
allyourcode
I expect most "web apps" to map to "canvas apps", not connect apps. Context is always important, in your questions the context implied web vs. desktop apps, which certainly means canvas applications. So in fuzzy code :-) "web apps (as used by Facebook's documentation)" = { canvas apps = {iframe, FBML/FBJS} } # Except where it rarely means connect
mixonic
Iframe apps seem to be the currently preferred app technique. http://www.insidefacebook.com/2010/08/19/facebook-moving-toward-iframes-over-fbml-for-canvas-apps-and-page-tabs/
perelin
A: 

The FB documentation is pretty much driving me crazy and at each turn I go I seem to hit functions that are about to be deprecated.

I am currently using facebook connect to great effect but in short need to be able to integrate a friend selector in a similar iframe which can then gather IDs from then use the publish stream call to send the notification to the friends feeds or rather inbox.

is this actually possible?

Thanks, V =

Vincent Roman
Vince, you should start a new questions (if you do, please make it more specific). This really doesn't answer the original question.
allyourcode
+2  A: 

I recently found a great blog post that describes the differences between FBML canvas pages, iframe canvas pages and Facebook Connect sites. It focuses more on the technical difference between FBML and iframe apps, but since these technologies are mentioned throughout Facebook's documentation, it seems almost essential for Facebook Connect developers to have a basic understanding of regular Facebook apps, even though they won't be working with them directly. I think knowing about this page a few months ago would have saved me alot of heartache.

allyourcode

related questions