I'm working on some new features for a CMS, and I'm having trouble finding the information about how Facebook interacts with other websites. If turn key solutions exist for this I'd love to hear about them, but I'm basically just looking for pointers to documentation of how this stuff works behind the scenes. Including php, wordpress, and drupal since those are the base technologies I'm working with, but other platform solutions are welcome.
When you paste a URL into Facebook's "What's on your Mind" box, Facebook will automatically fetch a short page description, as well as a list of possible thumbnails. If there's a video it will often auto-generate the needed HTML to embed the video. I've also seen features where you link to a business's main website, but then are prompted to "like" their Facebook page.
How can I, as an independent website owner, have my pages reacts to Facebook in this way. For example, on the following page (link to a personal website) I have four images. However, if I drop that URL into a Facebook status update, there are no thumbnails for those images.
Also, while I've inferred several features of the notification box, I'm curious if there's other's I'm not aware of.
Again, while turnkey solutions and existing plugins are of interest, what I'm really after is what sort of meta data I need to embed in my own page, or what special responses I need to make to Facebook requests. In other words, how do I program a website to response correctly to Facebook.
Basically you convey that information to user in terms of open graph meta tags. From that Facebook picks up what type of site it is. Is it about a book or some music or some commerical brand or may be has a FB page linked to it? Check this documentation for general idea about graph objects - https://developers.facebook.com/docs/opengraph/using-objects/
Coming to specifically the image used as thumbnail, it is specified with og:image meta tag. Important thing to note about it is that FB caches that for ~24hours so don't sweat it if it doesn't show up. You can use this tool to check for your values which fetches it in realtime - https://developers.facebook.com/tools/debug
Also Facebook happens to have quite a lot of bugs around this, so it might take really long before it start showing up. If its picked up debug tool, then you are fine at code level. Not much that you can do about it.
I happen to know about this as I authored a tiny WordPress plugin for that and boy I know the support requests that used to come in. http://wordpress.org/extend/plugins/facebook-like-thumbnail/
Now for 3rd part of your question, even this is specified through meta tags only, like you have primary video content on your website, and you would like it to embed on Facebook when someone puts a link in the status box, so for that this link has code samples http://garethhooper.com/articles/social-media/45-integration/166-how-to-embed-your-own-videos-on-facebook-using-the-facebook-like-and-share-buttons.html
Hope that sets you on track giving you a head start :)
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.
The Like Button seems like a very specific, and not very elegant in my opinion, solution to allowing users to post a web page to their Facebook profile. You have two options: 1) Use the iFrame solution, which allows very little flexibility in functionality, integration or appearance or 2) the XFBML solution which requires loading the entire Facebook javascript SDK just for one little "share this" button.
Is the Like Button the only way that is currently supported by Facebook to allow sharing of content to a user's Facebook profile? It seems to be the only method mentioned anywhere in the Facebook developer documentation, and I've had trouble finding any alternatives elsewhere on the internet.
There was a service called Facebook Share:
http://www.facebook.com/sharer.php?u=<your url>&t=<your title>
I guess it's still working but I'm seeing people having troubles using it and Facebook is forcing developers to use the Like Plugin.
Now:
Most likely your visitors will have the Facebook JS Library cached on their browsers
Facebook uses CDNs and their servers are super fast
Even if it doesn't fit in your design, don't forget that users are used to it
You can create a Facebook Application and use the Graph API but it's way more complicated
Don't use their services!
Actually, Facebook share is the simplest and most natural solution to share content on your FB profile.
You may want to read this article.
Okey, so I have a business Facebook Page like many others. And I want to customize it like many others have. But Facebook (henceforth FB) documentation is really bad.
So I go and edit my page and there I find Facebook Static FBML application. So far, great, and I can even use standard HTML to edit it. And then there is also FBML which I can use to make more advanced customization, like show something for people who "Like" and something else for others. Pretty straightforward. But then i notice that Facebook is deprecating FBML and recommend me to use JavaScript SDK and Social Plugins.
So what does this mean for me? Can I customize my site this way or not?
The documentation for JavaScript SDK and Social Plugins is worthless and very general, how do these apply for my Page customization?
But Facebook Static FBML application it self is an application i guess. Will it work in the future?
What is the best way to customize my FB Page and add tabs and so on?
What should I do?
ANSWER (for lazy people):
While Facebook Static FBML application might be working in the near future, it seems like building applications yourself is the right way to go.
Build an application: http://www.facebook.com/developers/createapp.php
Also you do not need the FBML since you can do all that is needed with the graph-api.
Graph-API doc: http://developers.facebook.com/docs/api
Also, by using the iframe canvas when building apps this allows you to host your page tabs where ever you want allowing you do use any coding language you want.
How much time, and what basic steps, are involved in integrating the Facebook's "Like This" feature into an existing e-commerce site?
Let's say we are only interested in the feature at the product details level and have approximately 5 different product details areas.
Thanks
Edit: Pic for anti-ambiguity protection:
It really couldn't get much easier. Throw facebook's js in the header, and drop a <fb:like> tag in. Or, there's a <iframe> based solution that doesn't require a js include.
Examples of both are available via facebook's code generator. Basic implementation should take under an hour. If you go all out, it might take a day at the outside.
Do you mean the Facebook feature where users can 'like' external pages? If so...
I'd recommend having a look at Add This rather than your own implementation which could take a while to work out - they offer a simple copy and paste javascript snippet that will add Facebook like functionality as well as other social bookmarking options for each of your product pages. They also allow you to track products being bookmarked and track click backs from user bookmarking.
If you mean your own custom feature for your site for users to 'like' products and then highlight them on a feed / homepage, then you'll need to track these 'likes' from users in a database and display them on the relevant page. The amount of time this sort of feature will take to develop really depends how far you want to take it. Obviously Facebook's featureset is massive and I wouldn't imagine you'd want to turn your ecommerce site into too much of a social networking site... hence my guess that you mean something like Add This?