Facebook’s Open Graph – connecting creepy stalkers and sexy, unobtainable femmes faster than ever before…

What are you good at? What do you, or your business, do best? Is there something you do better than anybody else? Once you have identified your specialism, turn it into a graph.

TL;DR: I predict that graphs will become the standard way of storing and sharing information. And that providing graphs containing useful information such as banking data or flight prices will end up being a thriving, trillion-dollar economy.


What is a Graph?

A ‘graph’ is a collection of things connected together using a common piece of information. For example, you are connected to the people on your street with a common postal code. You are connected to several tens of thousands of people across the country by sharing the same bank. And you are connected to a much larger graph of people who are Internet users.

But the ‘things’ that are connected together don’t all have to be the same type of thing. The most famous and successful graph on the planet is Facebook’s Social Graph. The social graph is a connected network of people, photos, events, likes, comments and many more things. A photo in itself is a good, monetisable, chunk of information to store (just ask Flickr!). But a photo which is connected to the people in the photo, the place it was taken, and the event that was happening, brings a wealth of context to such a simple thing as a snapshot. But graphs are about more than just things and the connections between things, the type of connection adds an order of magnitude again more information.


I want to verb your noun

Staying with the Facebook example, just because a photo and a person are linked doesn’t mean the you can intuit what that link is. You can’t usually just guess the reason for a connection. Instead, Facebook uses simple, plain language to almost trick you into divulging the link.

Let’s codify the terminology we should be using here, it actually simplifies things greatly, while making it easier to visualise.

The ‘things’ are all nouns: person, photo, event, bank, postal code, etc. The connections are all verbs: tagged, liked, commented on, banks with, lives at, and so on.

So while you think you’re just ‘tagging’ someone at a car show to get their attention and include them in the social experience, Facebook has now linked your friend with ‘car shows’, so they can expect loads of adverts about up-coming car events or Turtle Wax or something.

These verbs are the truly valuable part of the graph. And it is these verbs that will let you monetise the graph once you start understanding their value.


Mark Zuckerberg’s lunch money

Graphing Gold

There are two ways of making money from your graph: by providing it as a commercial service (like Facebook does, as a source of information to show targeted adverts to its users), or by using it as an internal source of relational data which will reduce overheads and increase margins.

The way Facebook uses your Likes and attended Events, etc., to show targeted adverts is well understood, so I will comment on the other means of monetising: graphs that streamline your business.

Let’s consider a fairly large estate agents company (“realtor” for the American readers). They deal with people wanting to buy houses and sell houses. Where’s the graph there exactly? The steps for building a graph are pretty simple:

  • Identify your specialism.
  • Identify the nouns.
  • Identify the verbs (connections).

The specialism is obvious: putting people into houses.

The nouns are obvious: “House”, “Buyer” and “Seller”.

But wait, there are more, which I hope will illustrate my point: “Budget”, “Preferences”, “Required Number of Bedrooms”, “Mortgage Viability”, etc. Estate agents/realtors usually offer middleman services for mortgages, escrow, and other financing concerns. That means that as soon as somebody comes looking for a house, explains their preferences and undergoes a mortgage appointment, the Graph can be interrogated to see instantly which houses are available to them. On the flip side, sellers could be immediately notified that a potential buyer has just entered the market.

Estate agent companies become little social networks of their very own, connecting buyers and sellers together through their graph, although critically, with the estate agents controlling the flow of data to each party. This control over the graph data lets them keep their position as middlemen. And keeps the entire process generating revenue.

Controlling access to the graph data normally stems from a real-world need: just like keeping the cash rolling in at the estate agent. Facebook’s control over how much of the graph you can query is actually its “Privacy” model. So you can see that the data controls will be completely different and depend on the reason for the graph existing in the first place.


Jet2.com’s route network out of Manchester? Or the routes travelled by most Man Utd. fans for each home game?

High-Flying Graph Example

An Airline would be a great candidate for a hybrid graph – this is where things get more complicated at the graph level, but ultimately more simple for the people who work for or use the airline.

Airlines are good at taking people from one place to another on aircraft. That’s the specialism. The nouns in play here are: customers, aircraft and routes. Let’s leave the verbs for this example as they are pretty obvious.

You’d want to expose part of your graph to the outside world: the routes you fly, the unbooked seats for those routes, and the prices of those seats, etc. That part of the graph needs to be shared with customers and travel agents so the airline can actually take bookings and fill planes with self-loading freight: fleshy meatbag humans.

The “aircraft” noun exists on a boundary between the public and private graphs the airline might operate. The private graph connects the aircraft to nouns such as “maintenance schedule” or “pilot roster” (from which “pilots” connect to the graph). This is vital for the airline to know about, but is absolutely confidential – you wouldn’t want a customer seeing the names of their pilots or the history of mechanical failures for their plane would you?

So why even have that information together on the same graph? Isn’t that just asking for trouble? Isn’t that a security issue?

Security of company-confidential information is massively important, but it is no different securing a graph to securing any existing web application or database. There are well-understood and industry-wide accepted patterns for keeping data safe.

The reason why you’d want to have all this in the same graph is because the distinction between private and public information in the graph only matters in one direction: from the outside in. To everybody inside the airline the entire graph is available. The ability to immediately connect pilot rosters to aircraft to routes to customers lets them create passenger manifests and supply them to the right pilots at the right airports on the right day ready for each flight.

The airline can also connect their graph to other relevant data. For example, if Weather.com has a public graph of places and the weather forecasts for those places, a pilot could be notified that he doesn’t need to get out of bed that morning because a hurricane is about to arrive at his departure airport. These “external connections”, or connections from one graph and to another could very well be the secret sauce to the next information revolution. A revolution that, if you know where to look, has already started.


Graph to Graph Connections: The Next Data Revolution

The next major problem facing the world is the fact that our information is duplicated in many places but in each database the information is stored in a slightly different way or format.

For graphs to connect seamlessly the data must be relatable. If you’re “John Smith” in a single field in one database, but “John” and “Smith” in two separate fields in another, then how exactly can you hope to connect to that graph of information?

The “edge” of your graph must be architected extremely well, as this is your integration point. In reality, your graph may have many different “edges”. Each noun could potentially be at an edge. Who’s to say that the “customer” in the airline graph isn’t actually a “Person” (noun) in the Global People Graph?

That would certainly prevent the “John Smith” vs. “John” “Smith” problem.

I don’t think we’ll allow ourselves to become just a sequential number in a central database because that is dehumanising (although as a technologist and a programmer I am vividly aware of how many data problems that would solve…), and which nation would control the database? What happens to those countries without Internet access? However, there are many aspects of lives which should be graphed and live in a single place.

iTunes and Spotify are becoming the providers of the graph of the music you listen to. Which artists do you like? Which songs off an album do you prefer? Where do Rock and Country fit in your taste of genres? Spotify connects seamlessly with the Social Graph hosted by Facebook, letting you see what your friends are listening to. In that situation, Facebook doesn’t store any information about your music (at least, not so it can be recovered through the Graph), it simply allows Spotify to integrate with it and feed information between the graphs.

Facebook is trying to be the hub of all our graphs, and even let developers create graphs within their graph through their Open Graph initiative. That’s a lot of the word “graph”…



So as the world of modern information technology started off with a mix of competing standards, the “mainstream” standards emerged (ADSL, SATA, UPnP, VHS, DVD,  Internet, etc.), we could see a mix of graph providers at first (like Facebook) and then after the in-fighting ceases, heads get put together and they settle on a standard protocol for information exchange.

Then, the sky really is the limit. Think you’re living in a connected world now? Just you wait…