Last week Elias Bizannes and I wrote a post Assessing the Openness of Facebook's 'Open Graph Protocol'. To summarize that post, it's clear that Facebook is making a play to create, aggregate and own not only identity on the web, but everything that hangs off it. From Interests to Engagement - not just on their .com but across all sites. To do this they are giving publishers token value (analytics and traffic) to take over parts of the page with pieces of Facebook.com without giving them complete access to the user , their data or the user experience (all at the exclusion of any other player). In addition, they are building a semantic map of the Internet that will broker interests and data on a scale never before seen anywhere.
In the face of such huge momentum and stunningly effective execution (kudos to them!), aiming for (or using the word) Open is no longer enough. The web community needs to up it's game.
The same is true for data portability - the group and the idea. Data portability is no longer enough. We must raise the bar and start to aim for Interoperable Data Portability.
Interoperability means that things work together without an engineer first having to figure out what's on the other end of an API call.
When you request 'http://blog.areyoupayingattention.com' it isn't enough that the data is there, or that that its 'open' or 'accessible'. No. The reason the web works is because the browser knows exactly how to request the data (HTTP) and how the data will be returned (HTML/CSS/JS). This is an interoperable transaction.
Anyone could write a web server, create a web page, or develop a web browser and it just works. Point the browser somewhere else, and it continues to work.
Now map this to the social web. Anyone could (should be able to) build an open graph, create some graph data, and point a social widget to it and it just works. Point the social widget somewhere else, and it continues to work.
As you can see from the mapping above, the interaction between a social widget and it's social graph should be the same as that of a browser and a web-server. Not just open, but interoperable, interchangeable and standardized.
Why? Innovation.
The same kind of innovation we get when we have cutting edge web servers competing to be the best damned web server they can be (IIS vs. Apache), and cutting edge websites (Yahoo vs. MSN vs. Google vs. Every other site on the Internet) and cutting edge browsers (Netscape vs. IE vs. Safari vs. Chrome). These products were able to compete for their part in the stack.
Imagine if we got stuck with IIS, Netscape and Altavista locking down the web with their own proprietary communication channels. The web would have been no better than every closed communication platform before it. Slow, stale and obsolete.
How do we become interoperable? It's hard. Really hard. Those of us who manage products at scale know its easy to make closed decisions. You don't have to be an evil mastermind - you just have to be lazy. Fight against being lazy. Think before you design, develop or promote your products - try harder. I don't say this just to you, I say it to myself as well. I am just as guilty of this as anyone else out there developing product. We must all try harder.
Open standards are a start, but open protocols are better. Transactions that, from start to finish, provide for Discoverability, Connectivity and Exchange of data using well known patterns.
The standards groups have done a lot of work, but standards alone don't solve the problem. It requires product teams to implement the standards and this is an area I am far more interested in these days. How do we implement these patterns at scale.
Customers (i.e. Publishers) must also demand interoperable products. Products that not just connect them to Facebook or Twitter but rather make them first class nodes on the social web.
Like we said on the DataPortability blog:
In order for true interoperable, peer-to-peer data portability to win, serious publishers and other sites must be vigilant to choose cross-platform alternatives that leverage multiple networks rather than just relying on Facebook exclusively.
In this way they become first-class nodes on the social web rather than spokes on Facebook’s hub.
But this is just the start. This just stems the tide by handing the keys to more than one player so that no one player kills us while the full transition to a true peer-to-peer model takes place.
If the web is to truly stay open and interoperable, we need to think bigger and better than just which big company (s) we want to hand our identities to.
Just like every site on the web today can have its own web server, every site should also have the choice to host (or pick) its own social server. Every site should become a fully featured peer on the social web. There is no reason why CNN can not be just as functional, powerful, effective and interchangeable as Facebook.com.
If we don't, we will be stuck with the IIS, IE and Netscape's of the social web and innovation will die.