dimitris kalamaras

math, social network analysis, web dev, free software…

Category: SNA

SocNetV on Maemo-N900?

Easy. Short of.

I did this ‘experiment’ to test how much cross-platform Qt really is. I wanted to see if SocNetV can run on Maemo with no modifications whatsoever. These are the steps I followed:

1. Downloaded and installed the Xephyr X11 server (this is a small X11 server that runs inside ‘normal’ X and provides a virtual device screen where you see all the Maemo applications running):

sudo apt-get install xserver-xephyr

2. Downloaded and installed  Scratchbox and  Maemo SDK  in my laptop (Kubuntu x86/lucid).  I followed the straightforward instructions from the Maemo wiki and especially “Installing Maemo 5 SDK on x86-32 Debian based distribution“. It’s only seven steps and circa 100MBs of total downloads…

Read More

SocNetV – 80% completed

Last Friday, it was high time to release a new SocNetV version. The brand new v0.80, the first after six months, marked what I think the start of a more mature period for this tiny little project of mine.

What started as a personal desire to create a simple drawing tool for social networks has become a quite sophisticated tool for social network analysis (spare me, I am talking about mathematical sociology here, not facebook etc):

  • It can read all major network file formats (GraphML, pajek, GraphViz, UCINET, csv, or adjacency matrix) and save the network in GraphML. In the next version, I plan to even add support for the older GML format.
  • It can swiftly compute centrality measures (closeness, betweeness, eccentricity, etc) and layout the network actors accordingly, in radial or layered style, at least for small to medium sized networks (i.e. < 3000 edges). Moreover, it implements one of the fastest known betweeness centrality calculation algorithms. For the 0.90 release, I want to add a couple or more new centrality algorithms (i.e. power centrality by Gil-Mendieta and Schmid).
  • Since 0.70, it can even crawl a given website and create the network of its outLinks. Later, I plan to add support for mailing list archives crawling…

In the new version, I added some social capital features. The software can compute a ‘triad census’, namely it counts all the different types (classes) of observed triads within a network. The triad types are coded and labeled according to their number of mutual, asymmetric and non-existent (null) dyads (this labeling scheme is called M-A-N). This new feature is complimented by a simple, naive (please note, this is a NP-complete problem) clique counting alrorithm.

Also, the speed of the network parser has been improved somewhat by removing some unnecessary checks and adding a simple control variable. And the GraphViz load method is a lot better now. I think. 🙂

As usual, at least a dozen of bugs have been reported and fixed. Of course, it’s not perfect, and certainly many improvements can be made, but the code is there, and is constantly evolving. I think that it deserves to be named 0.80. I am not sure though how easy will be to reach the other 0.20 to the first 1.0 release… If you have an idea about a possible feature, feel free to submit a blueprint.

As usual, source code and binaries for all major distros are available from the project website at SourceForge.

SocNetV 0.51: changes, new logo, and RPM packages

Last Friday, I released version 0.50 of Social Networks Visualiser (SocNetV) and version 0.51 followed already (yesterday), fixing an important (and yet embarrassing) bug in Graph::createDistanceMatrix() method.

IMHO, this new version is the first really usable version of this little application. With it you can draw mathematical graphs (social networks, to be precise, since the focus is more on Social Network Analysis than on Graph Theory), by pointing and clicking, load existing networks of most popular formats (Pajek, GraphML, GraphViz, UCINET, etc), create random networks (Small Worlds, Erdos-Renyi, Ring Lattices, etc), compute actor centralities (Betweeness, Closeness, Graph, etc) and clustering coefficients, select a different network layout based on these centralities (or Spring-Embedder models), and finally export your work to PDF, BMP or PNG file formats, without crashes (unlike earlier releases). A complete workflow, that is!

I am really proud of this progress (if not amazed) since I didn’t expect it to come this far 5 winters ago when I was playing with Qt toolkit while I was on army service in Evros 🙂 Yet, this application has really evolved in my spare time, and seems to be useful to some people (mostly academia).

To celebrate this new release, I prepared RPMs for both Fedora 10 and openSUSE 11.1 distros. Serafeim Zanikolas maintains already an older .deb package in Debian ‘experimental’ (and soon in Sid), while Markos Chandras just added SocNetV to qting-edge overlay, which also houses all new Qt4 and KDE4 software. Ubuntu users may add my Launchpad PPA (older version) to their repos or opt to compile from source (it’s really easy!). Meanwhile, 0.51 is the first version for which we provide a Windows zipped archive with executables (although I cant say I really tested it :P)…Oh, and we now have a much more polished and ad hoc logo (handmade with Gimp/Inkscape of course):

Nice, isn’t it? 😛

SocNetV gets a review (not bad one :))

I started this SocNetV thing as a learning exercise: to deepen my knowledge of Qt/C++, to familiarize myself with tools like svn, mercurial, etc, and, above all, to build something that I needed back then in my Linux box (was it Mandriva 2005?): a simple application to help me draw social graphs and compute some statistics (centralities) about them. After three years of development, Social Networks Visualiser is nowhere near complete, but it is quite usable and it’s getting better (I think).

Today, a friend called me to comment on the “review”… I was, “what review?”…Well, it seems that somehow, Mihai Mircea, the Softpedia Linux Editor was convinced that SocNetV deserves a review on Softpedia. So, there it is: we got 3 stars out of 5. Not bad — actually it was more positive than I would expect. Anyway, thanks for the review and the thoughtful comments, Mihai.

SocNetV 0.46 is here!

I just uploaded the new SocNetV version to the Sourceforge File Release System (FRS). Nothing special this time. SocNetV 0.46 is just a bug fix release – Pajek format loading is improved and zooming widgets work as they should (at last!).

The only new features is that nodes can be automatically resized according to their outDegrees. This is no novelty, but helps a lot. Imagine you have a network of 100 nodes where you have applied a betweeness centrality layout. Nodes which happen to be on many shortest paths between other pairs of nodes will be positioned towards the center of the screen, and can be thought of as ‘mediators’ of information. This is nice, but for instance do they also happen to have many links to other nodes? In other words, do they know a lot of actors as well? With one click, SocNetV can give now an answer, depicting nodes with different sizes according to their outLinks: nodes with more links are bigger than those with less links. Wow 😛

New day – new SocNetV release…

Four months after 0.44, a new release of Social Networks Visualiser is ready. Version 0.45 fixes a thousand (short of…) bugs, and adds new features, such as initial support for GraphML, four new node shapes and new widgets for network rotation and zooming. My plan is to have GraphML as the default format. At the moment, only loading is supported, though 🙁

Version 0.45 brings a more polished GUI with new icons and a new layout for the left dock.

SocNetV 0.45 screenshot

Also, I finally managed to update the documentation and make it look nice. You can take yourself a look at

The same documentation is available both online and locally, when running SocNetV. HtmlViewer class renders the manual with the help of QtWebKit, so the latter is a new dependancy. In openSUSE you need libQtWebKit-devel whereas in Debian the package is libqt4-webkit.

Finally, Serafeim Zanikolas made a package of SocNetV 0.44 for Debian Experimental and made a couple of bug reports/fixes. Most of them have been fixed in version 0.45.

I plan to stick with version 0.45 for a while, waiting for Qt 4.5. If the developers are right (they talk about speed-ups of up to 40 times faster), QGraphicsView will be much impoved in Qt 4.5.
SocNetV needs that.

Page 3 of 3

Powered by WordPress & Theme by Anders Norén