types of facebook application and their differences - facebook

I try to understand the difference betweeen a facebook canvaas application and a facebook enabled website. For me the only difference is that Canvas integrates into Facebook with an iFrame and Websites are stand allone.
But in terms of policy and functionality these two types look the same. Is this true or am I wrong?

For all extents and purposes they are the same. On Canvas/Page apps there is an additional signed_request post that is sent to your application with a little FB specific information that doesn't get provided to the website.

I have read the Platform Policies and there was an interesting definition:
By "Application" we mean canvas page application, Platform integration, or any other technical integration we have assigned an application identification number
I assume in terms of policy they are all treated the same way. One exeption: Games on canvas pages are obligated to use Facebook Credits.
In terms of functionality it seems that canvas pages have the advantage of sending requests and using bookmarks. Now for games there are additonal stories during playing.

Related

Can I link to specific pages on my website from a facebook game?

I am developing an educational game on Facebook (Facebook Canvas App) and I would like the game to include external links to my website where the players can read more about specific educational topics. Is it true that Facebook prohibits including external links in the game?
Thank you!
External links are perfectly acceptable. An example of this is integrated ads. The ads topic is covered in multiple sections of the Facebook for Developers - Platform Policy, especially section 8. In that section, it even mentions the part about promotions, contests, sweepstakes, etc. I have participated in some of those, and all of them have linked externally for additional entries.
In section 1.5, it states:
In addition, don't require people to log into your app in order to access third party apps or sites that are not used in connection with the experience your app provides.
This alone implies that you can use sites that are used in connection with the experience your app provides.
Section 4.8 states:
Don’t build an app whose primary purpose is to redirect people off of Facebook.
If you are using the app to educate, and you are providing optional external information, then I believe your use does not violate this section.
As I do not know the design of your particular app, I can't suggest how to make the external information appear to be more integrated. If you are already providing a decent amount of detail within the app, a "Read More" (or similar) function taking them to external site would seem acceptable, especially if the user knows they are being directed away from your app to an external site.
When in doubt, you can discuss the issue with members of the Facebook Developers Group. Some of them have been doing it quite a while and probably know even more.

GPT implementation for Instant Articles

From what I understand, Facebook only supports an iframe adtag for DFP ads. Google states there are limitations with using this functionality, seen here: https://support.google.com/dfp_sb/answer/90777?hl=en
We're hesitant to implement the iframe tag across our whole website just to satisfy Facebook's requirements as this would then impact direct website traffic.
My questions are:
Does anyone have a sample of what FB's desired implementation would look like with the use of the iframe GPT tags?
Is anyone currently doing this, and if so, have you implemented this site-wide (limiting website functionality), or are you using a REGEX to cut the original ad out and replace within your feed export - seems messy.
After reading the link you shared and the FB policy it seems there aren't any real concerns with using an iframe. FB doesn't allow expandables or 3rd party ads. You can always have house ads targeting the ad unit as a fallback so i don't think the blank situation should come into play either. Here's the Facebook policy for reference: https://developers.facebook.com/docs/instant-articles/policy

No authorization dialog

How can I make a Facebook app that doesn't require users to log in/authorize my app? Is it even possible for canvas apps?
The conversion in auth dialog is quite poor (39%) for my app, even though I ask for the basic information only. Hence the question.
Thanks for advice!
There are no special actions necessary to run a canvas app in Facebook without authentication. Simply set the Canvas URL and Secure Canvas URL in your app's settings (https://developers.facebook.com/apps/<app_id>/summary) and it should just work.
Keep in mind that you cannot access any of the useful functionality Facebook offers if you forego authentication. You'll be missing out on:
The Invite Friends dialog
Creating notifications
Retrieving a user's friend list and information
Etc.
In fact, if you're not leveraging any of the available functionality Facebook provides, there's no sense in even creating a canvas app. You might as well enjoy the benefits of using the entire window for your application and host it standalone.
It all depends upon what you're doing with your app.
If you app uses features that requires login, then yes, you will need to get each user to log in.
If your app doesn't use features of the API that require login, then don't use it.
There's many social plugins that can accomplish a lot of what many people look for and most all of them don't require a login.

Build a facebook app or web app?

I want to develop an online application and I am considering EITHER building a website with community features built in or building ONLY a facebook app. I was wondering if other people have had to make the same decision and what things I will need to consider.
The website I want to build will be an educational portal where people can make and take tests online
I disagree with some of the other answers here. There is a huge difference between a) trying to advertise a new place on the web and b) trying to advertise a new functionality of an existing place. Even if this new website would offer a very tight integration with Facebook and some other social platforms. Keep in mind: facebook users really don't like to leave facebook, no matter what the reason would be. That's why the click-through rate for the advertisements is so embarrassingly poor: http://en.wikipedia.org/wiki/Facebook#Company
That said you can of course always do both: build a website and offer the same functionality through a facebook app. However my opinion here is that if you're application only offers its users a single functionality, you'll be better off just doing the latter.
What exactly is the advantage you expect by creating a Facebook-ONLY-App for that?
If it's only about taking tests you can still build a "normal" portal and include some of the Facebook-functionality through the JavaScript-SDK, like posting to the wall, Single-Sign-On, find your friends and so on. This way the user still has the choice if he wants to connect with Facebook or not. This way you also don't minimize your userbase to Facebook-users
(yeah I know, "everyone" has Facebook these days... ;) Still not everyone wants it to be connected to every single site he's using through Facebook)
Considering this comment:
Well I guess its easier for people to recommend my app if it is a facebook app, is the main reason I want to know if facebook is a good option – Zubair Mar 3 at 14:51
Build a website and then add the Facebook 'like' button. See: http://developers.facebook.com/docs/guides/web/#plugins
You should put a Twitter button as well:
http://twitter.com/about/resources/tweetbutton
In my opinion you have to develop both. First develop you website. Although facebook is having millions of users But in my opinion you cannot implement every thing as freely as you can in your web application than facebook application. You should have a website and a page on facebook. You can integrate other facebook social plugins on your website to interact with facebook.
From monitization point of it is easy for new users on website than application on facebook. Other reason website especially related to educational purposes have a huge click through rate which you cannot find on facebook application advertiser.
What is the goal of the website?
If its to make money dont do a facebook app, you have far more control of your site by designing it entirely yourself.
If you want social networking features there are plenty of APIs you can tie in to which will provide you with functionality and allow you to link into facebook / twitter etc.
A website would look more professional, it would allow you to gather statistics on unique hits, revisits etc, having your own database of users means you can gather information and market your site more specifically ( which users took which tests).
A website also allows you to monetize it by adding advertisement if that is your goal, and you can gain search engine rankings.
If you want to get publicity for your website you can use facebook by creating a group / page for the site and promoting it that way.
Also your own website wont leave you vulnerable to changes in Facebook, what if you put in all this work and in a year the terms change and a portion of your app is now in violation of the terms. What if you want to add X feature and facebook wont allow it?
Basically your site = 100% in your controll, thats a big advantage to you. With facebook you loose that advantage but maybe gain a little in being able to use more of their features. Personally id always go for my own site.
You should go for the website first, then add the social elements in the website.
Like you can enable users to login using there facebook credentials. Like/share Button.
And later on, you can also go for the facebook app, when you want to shoot for much much more traffic. Therefore, whenever you think that you have figured out what exactly you want out of your application then only go for it, otherwise try your options with website. Because once your facebook app is up, you will get hell lot of traffic.
Let me know if you need help in creating facebook application or social elements enabled website. I have built an Facebook Easy API on top of all facebook features, which will enable you to easily access anything on facebook and meanwhile reducing your work effort.
You first build it like web app and use Graph API and FBConnect to use Facebook functionalities. Then you need to create a facebook app version also because getting facebook traffic is also required. People from facebook most like come to facebook app then to another web.
You will not need to convert it to facebook app, it will be just less in width and it would be a facebook iframe app. as I some where read that facebook is depreciating fbml and iframe app is recommended.
So now you can make both things, as I think , test app can have flexible layout so that you don't need to change width for facebook iframe. So you can both things by doing one.
thanks
i'm pretty sure many people will not agre with me, but IMHO you should focus on build a good Web-App that work well also on Mobile-Phones. keep it simple, intuitive, responsive, lightweight, cross-browser and straight to the point.
if your only concern is about "recommend your app to other people" make it SEO and Multi-Language too. google will do the rest.
then if you want make your app bold, slowly and planty of useless stuffs start to add all the facebook widget you want.
PS: i'm also on facebook, twitter,
flickr, google etc etc, i'm also
sharing photos, links and usefull
stuffs, my google rss reader is full
of links with tons of nice things, well i
have never had a minute to look at it, when i need something i just start searching google
I agree with most of the answers here—a native website is the way to go. Personally, I don't trust/like FB apps. Dunno what they do, and given the number of scammers out there and FB's lack of responsibility (IMO), I rarely if ever use an FB app.
Creating the website gives users choice about whether they want to share results/integrate with their FB wall/profile. Users don't like to be forced into something.
And in the spirit of adventure that is typical of SO, it's always more fun to build your own website than to build a template-based (sort of), boring and nearly irrelevant (drowning in a sea of other poorly made apps) FB app. But that's just my 2¢
In your case, I would do a hybrid. First, build your website, but integrate it with Facebook via connect. This way you can concentrate on building your value added services and let Facebook worry about the community.
I would also not ignore the Facebook app. Now, with iframes being fully supported on Facebook, you can adapt your existing site to work within Facebook with minimal effort, as long as you keep this requirement in mind when building your original application.

Facebook App vs. Facebook Connect site

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?
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!
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.
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.