Facebook Open Graph 101

I posted this to the IMGrind Forum a couple of days ago. You should join up for more exclusive content such as this, need pro-tips from internet marketing experts, or just want to see entire threads dedicated to IMGrind tattoos.

This is basically an intro to Facebook’s Open Graph and some ideas on how you can integrate it into your ventures. My goal here is to try to explain Open Graph in a much shorter space then the maze know as Facebook’s Documentation.

What is Facebook Open Graph?

The best way to think of it is: Facebook is "open-sourcing" the ‘Like’ action, which has been a staple of the Facebook experience since the dawn of internet time. Except, with the Open Graph, you create your own "Actions" – so people can "listen" "dance" "titty-fuck" whatever – ACTION = VERB– as long as it follows these guidelines.

Basically – keep it simple and non-offensive. So a "Fuck, Marry, Kill" game would be out of the question.

But useful for Affiliates?
Sure. You definitely have to think outside the box to take full advantage, but you can integrate it into existing properties as well with simpler “Actions”. If you are friends with Ruck or Ryan on Facebook, you’ll see them "Reading" articles on IMGrind. This shows up in my Feed because Facebook thinks, "hey 2 or more friends of Barman’s do stuff with that IMGrind App- show it in his Feed" I haven’t even allowed the IMGrind FB App ( no offense ) but it shows up in my Feed. If i allowed the App, or any other app using Open Graph, it would show up in my Timeline and show up to my friends. That’s how powerful Open Graph is.

These "Actions" will show up in
– User’s Timeline.
– User’s Wall and Friends will see it on their Walls too.
– Ticker – that thing on the right side always updating you with what friends are doing.

The whole point is Frictionless Sharing.

Asking for the "publish_actions" (needed for Open Graph) permission does not even show an extra page during the Auth process. Asking for any other extended permission brings up a 2nd step, which lowers rate at which people install the app. But "publish_actions" makes it frictionless.

Anyway, the whole point is that Facebook is letting developers take advantage of their giant massive user base with an easy API. Here is a success story. Notice how the “Actions” the Foodspotting App has are kind of unique and fun. Have you ever ‘nommed‘ something?

I’m not even going to get into Facebook Mobile’s growth but I’m sure the Open Graph will be integrated on there too, if not already.

Definition of an “Application”

There’s probably a little confusion still on what exactly is an “App”? You can think of Facebook as a very powerful Plugin (since there is so much you can do, it explains why the documentation is in such disarray).

So you can build something that leverages only some of the features ( just get a user’s information for a Signup) or you can base your entire “App” around Facebook, like My Friends Secrets, which grabs a User’s Friends list and their info, and creates a game out of that data.

Inside Facebook, you have to create an "Application" ( developers.facebook.com ). Doesn’t matter if you are connecting a blog or creating the next Zynga. The API keys and stuff it gives you allows you Auth users, hit the Open API, etc.

Under App Settings … "Select how your app integrates with Facebook"1. Website – Simple enough, eh? Say you add Like buttons and stuff..2. App on Facebook (desktop) – This is where Facebook Iframes one of your URLs and users access the page via http://apps.facebook.com/myappsname. Facebook does this Iframe so they can make money off the ads on the right side of the screen.3. Mobile Web (mobile) – Same as above, but setting this URL just redirects any Mobile users to the URL you set here (since they haven’t figured out how to make the mobile monies yet, and can’t Iframe like above).4. Native Android – When you create an Android application (via android SDK ), you need to create a unique certificate ( part of the release process ) With that cert, you create a key hash which you enter in this line.5. Native iOS – Same process, not sure on the details.6. Page Tab – Not entirely sure but i think this is for creating page plugins and stuff.

Can you technically create a single "app" that works on the Desktop, Mobile Devices, Android, and iOS? Sure you can- I did ( Android version with a Lite Mobile Web version so users can share stuff with non-Android users).

Easy-pickings

These are fast ways to increase exposure for existing properties. I don’t think any one is going to get rich by adding Open Graph WordPress plugins to their blogs, but it will most definitely increase the amount of people that see you ( free referral traffic from Facebook essentially ).

WordPress – There are plugins, tutorials, that will make your blog Open Graph friendly.

Forum – For example, IMGrind “posts” that you see on Facebook. I’m not sure if the guys used a forum plugin, or had it build up from scratch. Either way, it allows them to get referral traffic from Facebook much easier then forcing users to “Post this to Facebook!”

Long-Term Success

My personal opinion, if you want to blow up, "Pinterest"-style…. Actually, a quick aside: Pinterest took what, 5-6 years to pop-off? They created an awesome UI, and based their whole site around the Action of "Pinning" I don’t know if their idea of "Pinning" came before, after, or during the Open Graph, but they use the shit out of Facebook Open Graph for growth.

It’s certainly no overnight success, but that doesn’t mean you can’t see massive growth in a few months. Or few weeks, for that matter. Note that Draw Something also had the power of the Apple App Store pushing new users, not sure on their Facebook integration. People certainly shared regardless, because screenshots from the app were entertaining.

Zynga is the best company at taking advantage of Facebook. They steal other peoples ideas, improve some shit, and make sure their Facebook game is on point (Invite a Facebook friend to play a Game!) Now that they’ve been ousted as thieves, they are just buying the companies – like OMGPOP (which was around for 6 years mind you, before Draw Something happened)

Anyway, If you really want to take advantage, you need to develop something long-term. I don’t see a lot of spamming dirty-work opportunities here (especially with the submission process. Actions need approval before going “live”), so a project that really takes advantage of the Open Graph would require some thought and work on your part.

That doesn’t mean you have to build a complex game with amazing graphics though. There are perfectly good ways to add Facebook Open Graph inside a utility app, and plenty of ways to create fun Apps that are text-based and light on the graphics.

But first, Objects

OBJECT = NOUN – An Object is a URL, plain and simple. As long as the URL represents some unique thing, you should be good to go.

If you passed English 101, you recognize that a grammatically correct sentence in the English languages requires a Noun ( Object ) and a Verb ( Action ). Are you getting this yet…?

Read this page for a quick intro to Open Graph Protocol. Notice that Google uses this protocol too for their +1. Defining Open Graph properties for your URLs is nothing more than Meta Tags.

And there are Custom Objects. It doesn’t matter what your objects are, as long as it can be reached with a URL. It just needs to be something (a restaurant on Yelp), or a representation of something (a users High Score)

Custom Object and Action Ideas?

Enough jibber-jabber Barman, give me some practical examples!

Wallpapers – You have a site with wallpapers. Create a custom "apply" Action and hit the API when people "apply" that image to their Desktop. (I just came up with that on the spot but it is a pretty good idea)

When you absolutely, positively, need to hate something…Bad Review – I had this brainfart one day to for an App that lets people leave a bad review for anything, on the spot. "Oh that movie sucked!" "This restaurant had horrible service!" The Place for Leaving 1 Star Reviews Only!.

It would be a process to integrate APIs to load in movies, restaurants, service centers, etc – but its definitely doable. Plus i don’t think Facebook would like a "absolutely hated" Action, but “regret” or “despise” might work.

In my personal ventures, I have submitted a "Rate" action so when people rate stuff in my app, it hits the API and Facebook shows that shit every where. I’ve also created "Believe" and "Doubt" actions, so people can agree/disagree with shit in my App. So you can create an obvious Action (rate) or come up with new shit like i did (believe). The English Vocabulary is your oyster!

Someone can "claim" a daily deal….
Someone can "draw" something (apply the Action after they’ve complete the drawing, which should be accessible by a unique URL)
Someone can "collect" new cars in a stupid Car Garage app…

Anyway, it’s not hard to come up with ideas. Implementing them and getting them built is the hard part, but that’s a different post. Just make sure to do you market research so you’re not devoting time to an app that no one will likely ever use, like an App for Microsoft Zune Users.

Random Tips and Thoughts

Picky About Grammar – The reason Facebook is so picky about grammar when you submit actions is because the Action should show up everything (feed, ticker, timeline) so they don’t want grammatical errors everywhere.

Objects in Facebook = meta data – Since Objects are just URLs, your Object information is just meta data. This is the root of all this bullshit, so once you get your head around that, Open Graph makes a lot more sense.

Understanding should be easier if you’re familiar with SEO and how unique URLs are treated. Every blog or forum post can be reached with a unique URL, every piece of data on a review website can be reached with a single URL, so on and so on….

Make sure your Objects are in check. Use the Open Graph Debugger to crawl your URL and make sure all the meta data is correct.

Built-in Vs Custom – Submitting your Custom Actions, in my experience, takes about 3 days for a review. Apparently, if you use a build-in Action / Object (read, book), it takes longer.

Aggregations – Essentially these are what shows up in a User’s Timeline. You have to create one for every Action. I know this can be confusing… and what you create depends on your Action. But if you have a ‘rate’ Action, your Aggregation can just sort those ‘ratings’ lowest to highest.

Action Properties – So how do you record a property with an Action? If you had a "rate" Action and wanted to record what they Score rated?
1. add a Custom Property when you create your Action in Facebook. For example, an Integer called "Score"
2. when you publish your action, add that property to the parameters when you hit the API.
3. profit?

And Finally…

Open Graph is a great way to increase exposure to your properties, but it definitely takes some reading to understand how it works. Hopefully this post helped get the ball rolling.

You can do a simple Open Graph integration for your blog or forum, or you can get crazy and build an App that is entirely based around the Open Graph. Either way, you’ll have the power of Facebook to drive more users to your property.

And definitely check out the IMGrind forum for more exclusive content such as this post before you.

Did you like this post? Share & Comment!

Let's be honest, sharing this excellent blog post will make you feel all warm and fuzzy inside. And that's
what it's all about right?