Thoughts on Visualising the OU Twitter Network…

“Thoughts”, because I don’t have time to do this right now, (although it shouldn’t take that long to pull together? Maybe half a day, at most?) and also to give a glimpse into to the sort of thinking I’d do walking the dog, in between having an initial idea about something to hack together, and actually doing it…

So here’s the premise: what sort of network exists within the OU on Twitter?

Stuff I’d need – a list of all the usernames of people active in the OU on Twitter; Liam is aggregating some on PlanetOU, I think?, and I seem to remember I’ve linked to an IET aggregation before.

Stuff to do (“drafting the algorithm”):

– for each username, pull down the list of the people they follow (and the people who follow them?);
– clean each list so it only contains the names of OU folks (we’re gonna start with a first order knowledge flow network, only looking at links within the OU).
– for each person, p_i, with followers F_ij, create pairs username(p_i)->username(F_ij); or maybe build a matrix: M(i,j)=1 if p_j follows p_i??
– imagine two sorts of visualisation: one, an undirected network graph (using Graphviz) that only shows links where following is reciprocated (A follows B AND B follows A); secondly, a directed graph visualisation, where the link simply represents “follows”.

Why bother? Because we want to look at how people are connected, and see if there are any natural clusters (this might be most evident in the reciprocal link case?) cf. the author clusters evident in looking at ORO co-authorship stuff. Does the network diagram give an inkling as to how knowledge might flow round the OU? Are there distinct clusters/small worlds connected to other distinct clusters by one or two individuals (I’m guessing people like Martin who follows everyone who follows him?). Are there “supernodes” in the network that can be used to get a message out to different groups?

Re: the matrix view: I need to read up on matrices… maybe there’s something we can do to identify clusters in there?

Now if only I had a few hours spare…

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

7 thoughts on “Thoughts on Visualising the OU Twitter Network…”

  1. Some more thoughts in part following on from a twitter conversation with @liamgh and @eingang

    – discover OU people by doing a twitter people search on “open university” or “”

    – we might also discover OU people by letting them ’emerge’ out of a network graph; e.g. for a set of known OU people, plot a graph showing inlinks to OU people from all the people who follow them – assuming that OU people on twitter we don’t know about who want to be part of an OU twitter knowledge network will follow other OU people, we can then just inspect the graph looking for people who follow several OU people to potentially discover more OU people?

    – I originally suggested limiting the graph to just OU onsite people because my initial thought was: “to what extent are people on campus creating/replicating/extending/augmenting the way knowledge flows around campus by using twitter?”

  2. I just had an additional thought: I’m not sure how much people on campus are using Twitter to augment the way knowledge flows, but I’m fairly certain there is a strong network of people off campus using it specifically because they are not near campus. That might be because they are not central academic staff, but it could be because they are located in a regional centre, or they are full-time staff who telecommute mostly, or because they are associate lecturers or consultants. A surprising amount of academic work is being done by consultants and associate lecturers. I agree, however, that starting with on-campus staff seems sensible and it’s also easy to verify.

  3. Unfortunately my cunning idea about using Twitter’s people search to search Twitter bio lines for “Open University” turns out to produce dirty data. My trial search produced 68 people. Of those, about 20 were not related to the Open University, as Twitter doesn’t provide an exact phrase search operator; the result was matches on things like “Open courseware at University of Phoenix”. In addition, it seems to use stemming or a similar system because people who had “open universe” showed up in the results. Of the remaining 48, some number of them were undergraduate or postgraduate students.

    Searching for “” will only turn up people who have included their e-mail address or an OU web site in their bio. Some number of on-campus staff would likely still be “hidden” from such a search.

    @psychemedia’s proposed blended approach would probably be the ticket. Between the network graph, PlanetOU, “” and a clean-up of “Open University”, a decent representative sample could probably be obtained.

  4. I’m doing precisely this with the undergraduate and postgraduate projects we launched last week at Leicester, Gathering relevant followers is hard, unless you can “enforce” tagging, which (a) you can’t, (b) wouldn’t be a good idea, so the best method I’ve found is to have a network of “listeners” who report relevant followers. I wish I could automate the process, but if the data is polluted, it won’t be of much value for visualization.

  5. This may be a useful helper function in the data collection/cleaning stage:

    $dirty = array(‘brad’,’jeff’,’bev’,’john’,’kirsten’,’brad’);
    $clean = array_unique($dirty);

    Alternatively, if you just want to know if there are duplicates in an array and not remove them, you could do something like this:
    function isUnique($array){return (array_unique($array) != $array);}


    Twitter API: and in particular

    Authentication handled along the lines of:
    curl -u email:password

    – followers
    Returns the authenticating user’s followers, each with current status inline. They are ordered by the order in which they joined Twitter (this is going to be changed).
    Formats: xml, json
    Method(s): GET
    * id. Optional. The ID or screen name of the user for whom to request a list of followers. Ex: or
    * page. Optional. Retrieves the next 100 followers. Ex:

    This might also be useful:

    – exists
    Tests if a friendship exists between two users.
    Formats: xml, json
    Method(s): GET
    * user_a. Required. The ID or screen_name of the first user to test friendship for.
    * user_b. Required. The ID or screen_name of the second user to test friendship for.
    * Ex:

Comments are closed.