OpenSocialNetworks describes how to make it easy to improve social network software.

Context: new idea

Often some random individual comes up with an idea for a new social network feature: “I like this social network, except for this one little thing. Wouldn’t it be cool if …” Perhaps she even writes some code to implement that feature.

Problem: how to get new features in front of people?

To allow people to actually benefit from this new feature, either

Solution: decentralized system

Two solutions to this:

  1. Reduce “lock-in” so that it’s easy for users to join new social networks. Use open standards to allow users to import and export their data (profile and friends list). That is, FOAF.
  2. Develop interoperability between social network sites so that you can effectively “add a feature” to a social network that some other website created without them doing anything. For instance, if you wanted to to fileshare based on social proximity, you could do this without building a new social network if you can just tell your fileserver to query an existing social network site. Also, you should be able to “friend” someone on a foreign social network and send them messages etc. So, these social network sites should support APIs of various types (“query relationship/trustlevel”, “authenticate user”, “send message”, etc), using existing standards whenever possible (i.e. preferably email or Jabber for asynch messaging/IM). (my friend Dana Dahlstrom thought of many of these interoperability ideas, although perhaps he’s not the only one).

So, in general social network sites should be interoperable and use open standards whenever possible. Specific recommendations:

resulting context

The most obvious way to use FOAF is to have various people and social network sites create FOAF profiles of everyone and then make these publically available on the WWW.



An interesting problem is: what if you want a decentralized, “open” social network but people only want their friends to be able to see their friends list? There’s probably some “simple” crypto-ish solution to this, but I haven’t heard of anyone who is working on it (then again, I haven’t looked).


… (other results, good and bad) … WebOfTrustModeration/OverHear ? …

OAuth In short OAuth specifies how a user can give a delegative authority to a third party to access an application hosted by a second party. For example routinely social network sites request of its users login and password information of second party’s application so that they can get information from that application. Though many users seem to provide such information, it is a clear security hole, because the third party can get full access for an indefinite period. But OAuth will allow a user to provide a “security token” to the third party and the second party will honor the token, with a provision: the user can specify the range of access the token will entail and for a specified duration. Thus OAuth allows for disjoint social networks to build secure bridges between the users – I do not have to belong to Facebook to be your friend and to access your feed, wall or any other data. Thus clearly OAuth is an important development and it is going to change the landscape of social networks.1



(adapted from an email i just wrote)

Bayle, you read my mind. OpenID is going to take care of the registering for the 100th time issues. Or, at least, it could eg Videntity wiki:Social_Network (

And, FOAF, or xfn could accomplish the building block of open networking standards.

It’s interesting to me that these companies created these business models around closed standards, and they are going to watch their business models crumble as more and more open standards emerge.

I can imagine Bayle’s idea in the context of FireFox 3.0, and it’s Incorporation of Microformats.

Wow; trust.mindswap's table of social networks is really amazing; I had no idea so many social networking sites published FOAF data!

That said, when I looked at them, I had a hard time figuring out, “How do I get to it?” I will continue my search. But it’s great knowing so many have published it.

What I would like to ask you is what do you really do at social networking sites. What I’ve observed is that I don’t use them for actually networking - i.e. using those chains of friends to reach someone. I use them mostly for conversations - I browse the profiles and find interesting conversations that they are participating in - it’s like the old internet forum idea with the addition of nice profiles.

That’s a really sharp question: “What do people do at social networking sites?”

It’s sort of like an OverHear system, viewed communicatively.


What are the implications for OpenSocialNetworks?

Perhaps that it is more about the ability to connect with forums that are not the “host” forum, than it is about making a web of people and so on. It may point more to single-sign-on-like things and trust networks.

I don’t use social networks much but my younger brother, who is a college sophomore, says everyone uses Facebook all the time at college now. For them, it seems to function as a weblog + photo-sharing site; they post updates and comments on other people’s pages, and they post pictures. And they tag the pictures with who is in them, so you can lookup someone you know and see all the pictures that various people have put up containing them.

I think, however, that social networks will be more useful once they are more open and random people can write software that utilizes them in unexpected ways. One thing that I would like to see is WebOfTrustModeration/OverHear type things. Like, a gigantic message board (or UseNet) where by default you only see the posts of your friends and friends-of-friends. Because, I don’t really care to read every random post by every random person, but I do care to read many random posts of my friends and of their friends. Currently, that happens via emails. But that’s cumbersome, because when I send a random email to a group of friends, I don’t include my second-degree friends, because I don’t want to bother them. Which is why a “pull” system like discussion boards or usenet would be nice.

I do find LinkedIn? useful. Particularly if you search for things your are interested in by degrees of seperation from you. so, if you search for “Open source software development”, or “wiki”. You’ll be surpised who you’ll find this way, and then you can actually contact these people. Or, asked to be introduced. It’s useful for findign people who are working in ‘niche’ areas.

re; Bayle’s suggestion of WebOfTrustModeration/OverHear system above, I agree with you. A side note: I think it is also interesting to network around “objects” as well, like interests. You see this in ELGG software. This can be a useful way to find people. I’ve found it useful in my own participation in ELGG networks.

Thanks, Zbigniew. Here’s Mozilla wiki's page about Coop.

Re: Do we REALLY want to aggregate all our social networks?

many people, including my wife, .. sign up for social networks and other related accounts with different user names because they want to keep things separate. Hooking them all up [is] the last thing she would want to do.

As John Udell said in comments on that page, we could allow aggregation as an option, at the user’s request, and only between the networks that they wish to aggregate. So for instance, a “friend” on one social networking site would not automatically be considered a “friend” on another site unless the user wants this behavior.

Added OAuth above. What do you all think about this development? This seems to accomplish some of what we’ve discussed on this page.

I like the idea of “tokens”, but I have not yet experimented with actually trying to implement. One thing that I do like how potentially portable this can make some of your data (like contacts). That is good from a web developer standpoint; if you are trying to develop SocialSoftware applications, you now have a way to “hook” into different types of data from other applications.

Thanks for the heads-up on OAuth, it sounds neat. I created a page for it on PicaWiki.



Define external redirect: OpenIdentitySystems LinkedIn

EditNearLinks: WebOfTrustModeration OpenID UseNet