The Sunbelt Conference went extremely well, with great audience for Gephi and many positive feedbacks and comments. This event confirmed Gephi is fulfilling some of the essential needs and is going toward the good direction. Two of our plans are to improve features for longitudinal networks and develop the gephi-toolkit. Let’s see what we learnt from Sunbelt.
The Sunbelt Conference is a huge event, and this edition breaks all records with more than 700 participants and a very intensive program. Needless to say outstanding researches are presented there and it’s a pleasure to meet everyone, though we didn’t have enough time there in Riva Del Garda (Italy).
Longitudinal Networks
A great majority of people we provided a Gephi demo asked about dynamic network support. That is not really surprising but it shows the great demand about these features and the interest the timeline in Gephi and how to use it.
I was however frustrated we didn’t have the time to go deeper in the discussion. People are looking for specific layout, evolution and diffusion features. It is a vast topic and that’s why we are starting a draft specification about longitudinal networks. Our aim is to collect knowledge, references and feature requests from Sunbelt researchers interested in seeing progress in this direction. That will help for Gephi future versions 0.8 and 0.9.
And it is clear we need a tutorial how to format data to use dynamic features in current version.
Plug-ins, Toolkit, reuse and mashup
Gephi is a modular application extensible with plug-ins. We hope that the existing documentation is enough to already start to code cool stuff and are really eager to help anyone who has a plugin project. Meet us on the forum.
Gephi also relies on a dozen core modules that can be packaged independently. That is what we call the gephi-toolkit, which official announcement and tutorial are due soon. Many researchers are seduced by this idea, allowing custom scripting and command-line applications using Gephi features. Stay tuned.
Future
Gephi is an international project, open to any institution or company anxious to see quick progress. We are looking for contributors and funding. Please contact us. Thanks to Google Summer of Code program, see what we can do in four months with great students.
Last week for the great opening of the SciencesPo Medialab we have been invited to make a special demo of Gephi. Because the exploration of the web is a leading domain of interest for us and SciencesPo, and in addition a technological challenge, we decided to use Gephi to display live web graph.
The device was funny. Three Firefox-based Navicrawler were driven by three web-explorers, actually trying to map a controversy. When browsing, the Firefox extension was sending discovered URLs and links through the network to the server computer running Gephi. There, a tweaked Gephi datasource compiled the results, assigned colors and immediately display the graph.
A clip of the live results. You can see new nodes an links coming dynamically.
It is now a couple of weeks I am working on the new 0.7 core. The plan is to rewrite completely the architecture using the Netbeans Platform Framework. In this article I will introduce a bit what I’m doing and the benefits it brings.
I used to claim the importance of software architecture. I have to admit, as I am rewriting completely a new architecture, I didn’t know a lot about architecture so far. I had to ask myself what was wrong. I found some very classical problems. Typically, the architecture was built for a specific set of features and adding features which was not planned at the beginning were very difficult to add. Nowadays I just think this is inescapable and software architecture has a lifecycle, like anything else.
The aim is to clearly divide the application in modules, in order they are extensible and can grow independently from each other. It also helps to avoid the spaghetti problem and therefore it fits for very large applications, like Netbeans IDE.
In addition, a modular application is much more appropriate for an open-source project, with several programmers involved. As a consequence, new programmers from GSoC will only work on the new 0.7 architecture.
Netbeans Platform
The Netbeans Platform Framework is used by Netbeans developers to build their IDE. The framework is available for Swing programmers to build medium and large desktop applications. It encourages sustainable development practices and provide all the “plumbing” that, before, I developed myself.
One of the main benefits is that you don’t need to think how to build an application extensible by plug-ins because everything is plug-in!
Example:
For instance a controller class can obtain all implementations, in any module, of an Algorithm interface. In this way anyone can develop an algorithm class and include it in a plug-in. No additional code will be needed to include the algorithm in Gephi.
I will start a topic about modular design on the forum to start a discussion.