Yoan Blanc’s weblog

Another swiss guy lost in Paris

Twitter Network Visualization

Yoan BlancThu, 17 May 2007, , ,

Microformats are cools (RDFa is promizing too)! They enable you to retrieve information from the HTML directly. When I saw a little demo of mofo applied to twitter I always imagine a tool to know what is my extended network from it. mofo is a very simple library for Ruby to extract microformats from a web page, simple and damn useful.

Extract a network at a given depth is pretty simple.

  1. Take the page of the first person, level 0
  2. Extract every buddies of him (hCard), level 1
  3. For each of them do the first step.

This game isn’t very fun because people use to have many friends, not just 4 or 5, but from 10 to 100 (100 is the maximum of friends displayed on a page). So the network is big too quickly and at a depth of 2 you can have something like 2000 nodes easily if you choose someone who loves have his mobile phone spammed all the day long. You can enjoy, the pictures I’ve made from the pages of Batiste, Louiza and mine, every at a depth of 2 only. So the friends of your friends, this can be really big already.

Greut's network

The script I’ve made use some cool librairies you must have a look on them:

  • mofo, see above ;
  • rio, I/O made simple ;
  • hpricot, that is used by mofo by the way and gives you a very simple way to play with HTML.

It generate a .dot file for Graphviz from a big matrix of 0 and 1.

What’s the goal of this? The same conclusion than the last time. The depth of the network, if you want to reach 90% of the population isn’t big. Maybe 4 is enough starting from a 100 friends page. For example: 1’000’000 of person could be reach at a depth of 4 if the average of friends people have is about 31. 31 is not a lot and Twitter users aren’t that much, 35K according to this article.

The advise I can give is use microformats, maybe FOAF could be useful to but microformats doesn’t cost a lot too implement and could really be used by users via great tools like Operator.

Les microformats c’est bon mangez-en (une maxime toujours sympa à utiliser, ré-utiliser). Ils permettent d’extraire de l’information de manière assez générique dans une page sans avoir à se soucier de comment est formaté l’HTML (en matière de tags utilisés, de divisions imbriquées, …). Quand j’ai vu un exemple d’utilisation de mofo, une bibliothèque Ruby permettant d’extraire les microformats d’une page) avec une page Twitter, cette idée est née: visualiser mon réseau d’amis sur Twitter, voir mes amis, les amis de mes amis, etc.

Pour ce faire, il faut extraire ce réseau et le contruire, simple comme bonjour:

  1. récupérer la page de la personne qu’on veut visualiser (niveau 0)
  2. extraire tous ces amis, des hCard (niveau 1)
  3. recommencer à l’étape 1 avec chacun de ceux-ci agrandir le réseau.

De prime abord ça semble cool et on s’imagine pouvoir explorer le monde en profondeur. En réalité les utilisateurs ont trop d’amis pour qu’il y ait une bonne profondeur. À une profondeur de 2 il est simple d’atteindre un réseau d’environ 2000 personnes. J’ai fait des images de réseau de trois personnes (Batiste, Louiza et moi-même) car ils sont sensiblement différents et on peut voir les différences de structures.

Louiza's network

Ce script fait usage de bibliothèques très pratiques pour Ruby :

  • mofo, la boite-à-outils des microformats;
  • rio, rien de plus simple pour lire, enregistrer un fichier, une URL;
  • hpricot, utilisé par mofo d’ailleurs, elle permet de traiter l’HTML de manière super simplifié avec les sélecteurs CSS par exemple (ce qui a fait le succès de jQuery)

Et génère une belle matrice d’adjacence qu’il exprime ensuite en un fichier .dot pour Graphviz.

Le but de ceci est de se rendre compte dans un environnement réel que pour atteindre disons 90% des utilisateurs de Twitter une profondeur de 4 est certainement suffisante. On mentionne qu’il y aurait 35 mille utilisateurs. 33 amis par personne en moyenne et 3 niveaux de profondeurs suffisent pour atteindre 35’000 personnes.

En conseil, utilisez les microformats dans vos applications pour les bidouilleurs qui peuvent s’en amuser et les utilisateurs de l’extension firefox Operator pouvant ainsi ajouter de nouveaux contacts à leur agenda, de nouveaux évènements à leur calendrier.

About

meYoan Blanc is a web developer that lives in Paris (19, rue Bichat75010France) works for Yahoo! and comes from Switzerland ( La Chaux-de-Fonds). This web site is for this weblog, a playground for random stuffs and can help keepingconnected with some friends out there.

Get my vCard or contact me by phone (+33 1 74 30 12 92) or email ().

Misc

RSS, list.blogug.ch

This site reflects only my opinion and is not affiliated with my employer.

copyright 2006-2007 — doSimple.ch