Asymmetric Disclosure in Social Networks

A thought in process…

In a social network, under what conditions should relationships between individuals be publicly discoverable?

So for example, if I am a member of a social network that supports private groups and I put You in one of My private groups, and You put Me in one of
Your public groups, should Our relationship be publicly disclosd on Your profile?

A ‘real world’ version of this (?maybe): suppose You have a problem. You ask Me for a chat about it over coffee in a public coffee shop. Under what circumstances should I be able to disclose in public that You and I had that coffee together?

I haven’t got a proper definition of what I think I mean by asymmetric disclosure yet, but what I (think I) want is to find a way of representing (or at least, talking about) public and private relationships between individuals that allow us to reason about whether friend of a friend connections that are private might end up being disclosed in public just because it’s too complicated to work out whether something is, should, or might ‘reasonably’ expected to be, public or private…

So here’s where I’m at: an asymmetry can be thought of arising if one party in a relationship can reveal information about the other that the other believed they had disclosed to the one in a “private” way, or at least, not in a public way.

This all becomes relevant when we start thinking about ‘friend of a friend’ based friend recommendations or social search and potentially unwelcome disclosures that might result. It might also provide a way of helping us reason about situations where information flow can route around “privacy blocks” via network connections we might not be aware of?

PS here’s another example of possible asymmetric disclosure, this time taken from Twitter. Suppose @A, who has 50 or so followers, tweets “It’s my birthday”. If B, who is one of A’s followers, responds with “@A Happy Birthday”, that response will only appear in the feed of people who follow both A and B, although it can also be seen on B’s public page. If C, who has 1,000 ‘unmoderated’ followers (that is, C never blocks anyone) tweets “Hey, Happy Birthday @A”, all of C’s followers (which let’s assume are mainly spambots and social phishbots(?)) see the message. C has amplified A’s birthdate details. (Admittedly, A had already made that information public, but their intention may only have been to declare that fact to their 30 or so followers. So what we have here is potentially a case of unintended amplification…?)

See also: Brand Association and Your Twitter Followers

Where Next With The Hashtagging Twitterers List?

This post is a holding position, so it’s probably gonna be even more cryptic than usual…

In Who’s Tweeting Our Hashtag?, I described a recipe for generating a list of people who had been tweeting, twittering or whatever, using a particular hashtag.

So what’s next on my to do list with this info?

Well, first of all I thought it’d be interesting to try to plot a graph of connections between the followers of everyone on the list, to see how large the hashtag audience might be.

Using a list of about 60 or so twitterers, captured yesterday, I called the Twitter API http://twitter.com/followers/ids/USERNAME.xml function for each one to pull down an XML list of all each of their followers by ID number, and topped it up with the user info (http://twitter.com/users/show/USERNAME.xml) for each person on the original list; this info meant I could in turn spot the ID for each of the hashtagging twitterers amongst the followers lists.

It’s easy enough to map transform these lists into the dot format that can be plotted by GraphViz, but the 10,000 edges or so that the list generated from the followers lists was too much for my version of GraphViz to cope with.

So instead, I thought I’d just try to plot a subgraph, such as the graph of people who were following a minimum specified number of people in the original hashtag twittering list. So for example, the graph of people who were following at least five of the the people who’d used the particular hashtag.

I hacked a piece of code to do this, but it’s far from ideal and I’m not totally convinced it works properly… Ideally what I want is simple (efficient) utility that will accept a .dot file and prune it, removing nodes that are less than a specified degree. (If you know of such a tool, please post a link to it in the comments:-)

Here’s the first graph I managed to plot:

If my code is working, an edge points to a person if at that person is following at least, err, lots of the other people [that is: lots of other people who used the hashtag]. So under the assumption that the code is working, this graph shows one person at the centre of the graph who is following lots of people who have tweeted the hashtag. Any guesses who that person might be? People who have edges directed towards them in this sort of plot are people who are heavily following the people using a particular hashtag. If you’re a conference organiser, I’m guessing that you’d probably want to appear in this sort of graph?

(If the code isn’t working, I’m not sure what the hell it is doing, or what the graph shows?!;-)

One other thing I thought I’d look at was the people who are following lots of people on the hashtagging list who haven’t themselves used the hashtag. These are the people to whom the event is being heavily amplified.

So for example, here we have a chart that is constructed as follows. The hashtag twitterers list is constructed from a sample of the most recent 500 opened09 hashtagged tweets around about the time stamp of this post and contains people who are in that list at least 3 times.

The edges on the chart are directed towards people who are not on the hashtag list but who are following more than 13 of the people who are on the list.

Hmmmm… anyway, that’s more than enough confusion for now… I’m going to try not to tinker with this any more for a bit, becuase a holiday beckons and this could turn into a mindf**k project… However, when I do return to it, I think I’m going to have a go at attacking it with a graph/network toolkit, such as NetworkX, and see if I can do a proper bit of network analysis on the resulting graphs.