Archive for August, 2011

Yammer reports

August 15, 2011

Like in most companies, the company I work for started using Yammer for collaboration and communication. Immediately discussions started on how good this is and how we should integrate it in our intranet, or maybe we should build something ourselves or maybe we should use Chatter or maybe….

Maybe we should have a look at how Yammer is being used.

I saw an opportunity to play with some technologies and decided to create some stats. The technologies used are PHP, Zend for oauth, mySQL, Javascript, Json, Google graphs, TheJit…

Collecting data.

Yammer offers an API which allows retrieving data through web services in a Json format. I made some php scripts which collect the data in our network and stores it in a more relational format in a MySQL database. The syncs run every 30 minutes for the messages and daily for user profiles.

Representing the data.

The data is represented on web page using the Google Graph API. The following graphs are currently available:

  • The number of posts per week
  • New threads per week
  • New threads with at least one reply per week
  • Thread length
  • Posts per week day
  • Number of new users per week
  • Posts per client type
  • User types
  • Average post length per week

Social graph

Soon the request came to have a social graph, which shows the interactions and posts mapped to the org chart.

I am still considering building the social graph, when time permits (I am doing this in the weekends). For now I had a play with a representing the data in a ForceDirected graph using library. Size of nodes is depending on the hotness (1 point for posts less than 2 days, 1 point for posts less than 4 days, 1 point for posts less than 6 days, 1 point for posts less than 15 days. so a post of yesterday counts for 4 points). The relations are currently based on the follower/following, but I intend to change this into conversations.

Social graph builder

The last feature that was added is a Social Graph Builder, allowing anyone to define the rules for defining the hotness. This can be done by selecting a formula and assigning a factor, some formulas allow to define parameters. Currently the available formules are:

  • Number of posts (parameters: </>/=  days ago)
  • Number of threads (parameters: </>/=  days ago, </>/= number of replies)
  • Number of followers
  • Number of following
  • Number of days since joined
  • Number of days since last post

What’s next?

I would like to extend the reporting tool with

Likes, I am missing them because of a bug in the Yammer API (I logged a case). Likes can increase importance of a post, similar to number of replies. It also would be useful in defining the hotness.

Organisational social graph, as explained above

Productize the tool. Allowing any Yammer user to have this reporting feature