Don't get me wrong, I <3 the internet. I love all social objects and am completely addicted to all the services that dish them out to me. But still, somehow this should should be able to be made better.
Luckily, I'm not the only one who thinks this. People have been working on bringing all kinds of things together, by working on things like OpenID for cross-platform authentication, OAuth for server to server authentication and OpenSocial for finding common ways to talk to social networks. At Mediamatic last weekend, we organized a workshop on Federating Social Networks, especially to exchange thoughts on how we can better use technology to share our online resources.
At Mediamatic, we develop the content management system anyMeta, where any resource (photograph, article, event, person) is a thing. Any thing can have multiple relations such as author of, featured in, picture of, located in, etc. to other things. This ontological structure is now being converted from a custom made representation to standard XML-implemented RDF.
What is it exactly that we want to do?
We have our life streams, which consist of works like photographs on flickr, presence from twitter or jaiku, articles from our blogs, etc. Then we have our personal websites, our work websites, websites of clubs or groups we belong to.
We would like share articles, profiles and photographs with other sites. Not just the article itself, but also the tags and author relations.
Sometimes we would like to just pack up and make a move from MySpace to Facebook without having to remake all those friends, comments and zombiebites. We want better data portability!
We don't want to have to look in flickr, smugmug and zooomr to be able to find the right photograph to feature in a blogpost. We want to search through sites sharing with us without visiting each separately.
If I update my address on my homepage, it would be nice if those changes propagated to all other places featuring my contact information.
There are some difficulties with doing all of this. Once we start sharing social objects all over the web, how do we know who owns them? And what about not the social objects, but the relations to the social objects?
How are we going to do it?
Searching through data which is comprised of different things makes a pretty heavy load- if each time you searched you would also be searching on other servers, the load would get pretty unfriendly. How can you make the searching possible and scalable?
Consolidation of data requires knowing whether the data has been updated. Right now, knowing whether the data has been updated requires constant polling. If the data then has been updated, we can pull the data in. This causes a lot of latency and doesn't scale very well.
At Federated Social Networks, we considered more use cases. We think that XMPP will solve a lot of our latency and scaling problems, read more about PubSub here. Finally, we would like to put up a protocol for how to talk to us so that we can talk to you, too!