...then there was Japanese Tetris. My thanks to colleague Duncan Gough for brightening my day with that one.
Paolo outlines an idea he's had that he calls Ring:
Ring will broadcast to all your contacts your social networking status, letting you decide who will be notified what, and allowing your friends to subscribe to your old Flickr account or your new Twitter page with just one click.
Automatically generated "Action groups" will allow you to quickly invite your friends to a new service, or to find out who is already subscrbing. You will also be able to easily backup and migrate your contents from one network to another.
We've talked a couple of times since his Open Relationship Standards piece. This was an exciting post for me because it got me thinking about some ideas of my own that came up when I was at PAOGA and thinking about how personal information should belong to the individual. At that time I was articulating an idea I called Dataslots as a means for individuals to get a copy of information about them that arose during business (and any other) services. For example my "Amazon" slot would get populated with purchase history information, and so on.
I've been reading RESTful web services recently and I see an interesting parallels to the argument I was making:
For example I don't want Amazon to give me an API to lookup information about my book purchasing history with them. Or the Four Seasons to give me an API to update my room preferences. Or anything which is really about me.
The way I look at it API's are functional. The vendor says "These are the things I bless you to do." But those things may be considerably less than what is possible if I have access to the data. Data is king!
When I was saying "DataSlot" I guess I meant (although I didn't realise it at the time) "Resource" and my comments about wanting to own the data not be spoon fed functionality seem to be broadly inline with the Resource based (vs. RPC) argument. From here it is not a big leap to a resource based service for contact and relationship information. A service that allows the individual to define the rules for using their information and that applications can use to deliver advanced more advanced, domain specific, functionality. In essence making the social network into a commodity.
What I have in mind is a RESTful, Open-ID, based web-service for you to claim an identity that includes your contacts and your relationships with your contacts. Each identity is a resource, each contact is a resource, and each relationship is a resource. To each of these relationships can be attached arbitrary meta-data and meta-meta-data, enough to allow you to express rich relationships with your contacts. The service itself would have no functionality for things like "Will you be my friend?" requests leaving such things to end-user applications where they belong. Only the resulting data is of concern.
If two people assert a compatible relationship then that relationship becomes available as a shared resource. There may be rules around how that resource gets shared. For example "Paolo is my friend. This relationship is available only to other people we are both friends with." or "This relationship is public but certain sections of the relationship metadata is only available to other people with whom we are both friends." or "This relationship is public for Application A but not for Applications B, C, and D." We can imagine quite complex combinations of rules to reflect the complex ways in which we relate to others and them to us.
So, is this Ring?
In Paolo's post he envisages Ring as a client like Apple Addressbook. For myself I think more about the underlying service that would make such a client possible. What's key is that the individual be in control of how much (or how little) of their own information and the information about their relationships is exposed to different applications. So, in essence, I think what I am talking about is Ring. For which there may be many clients (ultimately you'd hope Apple Addressbook would be one!)
I see the clients of Ring being the social applications springing up around us. Any new application, leveraging Ring, could immediately have access to your contact information and, with your permission, your social network. Through a service like Ring your network really, finally, belongs to you. You make it available to an application or take it away as you choose! Part of the agreement for getting this information would have to be a bi-lateral clauses that stated that new contact information would go into the Ring and not be held locally (or only as a cached copy). A sort of GPL for relationship metadata.
I see Ring as a RESTful web service with a lightweight user interface for people to manage basic details and contact info if they aren't currently subscribed to a more functional service (e.g. I might choose to manage my info in Facebook for the most part). As Danny Ayers points out there is already prior art in terms of defining the data exchange formats. Maybe RDF is the right format, but even if it is there is still a lot of work to be done in defining something rich enough to make Ring a good service that will scale to the information demands of the next decade.
One other issue that Danny brings up is that there is already a lot of data out there. I'm not sure if he's angling to say that a distributed approach is a better solution to the problem of open relationships or simply that using existing formats gives you access to more data (Danny?) I guess I'm in favour of a single silo if it's my silo since I think that it gives me a better chance of keeping control over my data. However I think a philosophy about being liberal about what you accept and consume is a good one.
In a Ring based world Social Network Services would have to compete on service not on network. With Ring you can take your network anywhere. That will probably upset a lot of services and it might take some tectonic shifts in the marketplace to make this idea work. Nevertheless I think it could be interesting to get a prototype up and running.