Gephi is asleep and up to awaken

gephi round graph

Gephi has been almost inactive since quite a long time: we did not release, we did not fix issues, we did not post on the blog. This lack of recent updates creates an increasing amount of difficulties, including installing Gephi on a recent Mac computer. A lot of users ask if the project is still alive. We understand why you wonder and decided to write this post to explain where we’re at and provide to the community a preview of what’s next in Gephi’s lifecycle.

In short, Gephi is still alive yet asleep, but its reawakening is in sight. However, a series of issues prevents us from doing better right now.

The ambitious yet incomplete 0.9 release

The next planned release is Gephi 0.9 and promises to be a major release with a complete rewrite of Gephi’s core module. Performance, and especially memory usage for large graphs has been a lingering issue since the first version of the software. As explained in this article written by Mathieu Bastian – Gephi’s lead developer – the solution resides in a more efficient graph structure implementation that we named “GraphStore”. This technology brings many new features and significantly reduces the memory usage but is a large development effort and requires all modules to be adapted. Indeed, the module which stores and manages the graph is pretty much used by every other module (e.g layout, filters, preview etc.).

This work on the core graph module was initiated as part of a larger vision focused towards a 1.0 release, which aims to address a much larger set of problems, missing measures and bugs. As you may know, the current version has a various set of problems. Some issues are preventing the normal use of the software, like the difficulties to install it on a recent Mac OS X (Yosemite and Maverick). Others are incomplete or missing features, such as various user interface design issues or the improper management of categories’ colors. Finally, some internal problems are hidden in the code but nevertheless real. For example, the technology used to code the user interface (Swing) has been replaced by a more modern technology named JavaFX. For the most part, these problems require a deep rework of the code. The good news is that the most difficult part in this 1.0 vision is probably the rewriting of Gephi’s core graph module, which is what the 0.9 version focus on already.

The current 0.9 developments have reached around 80% completion and many modules, but not all, have already been adapted to GraphStore. A stable version can’t be released until this reaches 100% and all the modules are converted to the new core implementation. Other important issues such as installation issues on recent Macs have already been addressed in this development version. Finally, a series of bugs will be fixed along with minor features and improvements. Finishing the last modules and releasing the 0.9 version is our current priority.

Limited resources

Like many other open source projects, Gephi’s development is for the most part unpaid and remains an activity on the side for all contributors. The notable exception is the Google Summer of Code, which sponsored students multiple years in a row to work on the project. Therefore, the project’s progress depends on the contributors’ professional and personal situations. Although individuals are ready and willing, time is limited and there was just not enough of it lately to make significant progress. Mathieu Bastian is Gephi’s architect and has been behind the software’s key iterations since 2007. This time again he holds the keys to its future and has been involved in the GraphStore project. This complex project requires all of his knowledge of Gephi’s code and is hardly a task someone else could do at this point. Therefore, a part of our development depends on his free time, and we accept it. This situation is temporary though. Indeed, Mathieu will eventually obtain more time to conclude the work on the 0.9 release and Gephi’s development will be less dependent on him in the future.

In addition, we are working on stabilizing some resources in the long run, but our strategy requires a readjustment. Gephi needs time and energy from good java developers, clear-minded designers, and seasoned software architects. We have to entice skilled people, support their involvement and get the best from their contributions. We aim to improve the management of our limited workforce to make the development more attractive and dynamic. This evolution is organized by our team but benefits from external support. For instance, the Sciences Po médialab, the institution I belong to, provides resources for organizing the project, rethinking the user interface and some coding. These changes may not be immediately visible but we’re committed for the medium and long term.

What is next

Releasing the Gephi 0.9 version is the immediate next step. This version will include compatibility fixes and the whole new core based on GraphStore. Then, an important project to rework the overall user experience will be kicked off. It requires a technology switch (from Swing to JavaFX) and the overhaul of a majority of the modules but aims to make Gephi simpler and more intuitive to use. We already have a good diagnostic of the user experience issues in Gephi but need to explore different designs. In an upcoming blog post, I will explain our thought process on this topic with the help of Professore Donato Ricci, senior interaction designer. Eventually, the 1.0 version will be worked on and released.

Gephi is almost 10 years old. It is usable but still plagued with many well-known issues. Though sometimes frustrating, it allows users to do incredible things. We think Gephi is still relevant to research, journalism, civil society and more. We are going to give it the renewal it deserves.

Mathieu Jacomy

27 Comments

  1. Thank you guys, this announcement sounds pretty exciting to me. Indeed, Gephi is still very relevant, despite the issues, for the today network analysis and with this new update the things will get better.

    Reply

  2. Great to hear that 0.9 will be released soon. Would it be possible to make that branch already accessible via github; would love to give it a try; and may be even fix a couple of bugs in the process.

    Reply

  3. This is excellent news – looking forward to the next revision. Gephi remains an absolutely crucial piece of software…

    Have you thought about running a Kickstarter campaign? I’m sure there are quite a few of us who would be happy to support the project in some way…

    Reply

    1. The Kickstarter is a great idea. And we have other ideas to get money. The main issue for now is the legal structure of Gephi and how to actually frame the employment of developers. I am quite confident that we will eventually find a solution.

      Reply

  4. Seconding the Kickstarter; I would kick in if it would help. But then, that’s what the donate box is for. Is there any possibility that 0.9 could use RAM more efficiently? Thanks for making an extraordinary piece of software.

    Reply

  5. Great news! Gephi is an amazing program and *lots* of people use it. A Kickstarter campaign sounds like a good idea. Has there been any new coding or any refactoring done since this post was made in February? Or, is the development team still in the discussion phase. Thanks for the news and the commitment to further developing Gephi.

    Reply

    1. Coding is not the only necessary activity. Though the Github was not active during that period, we were at work. Amongst other things, you will see a new interface mockup very soon.

      Reply

  6. Will version 0.9 be able to have multiple links between the same 2 nodes, each with its own label? For example, can you do (Node A) === is owned by===> (Node B), and (Node A) <=== manages=== (Node B)?

    Reply

      1. Thanks, Phil, for bringing up the issue of multi-edges. I don’t know that Gephi can handle them. When I do a CSV import that contains multiple edges between two nodes, Gephi merges the edges and sums their weights. That doesn’t seem to be helpful in modeling multi-edges in which the edges have different attributes that differentiate the type or meaning of the edges (e.g., “social relationship”, “biological relationship”, “legal relationship”, etc.). Merging the edges makes the analyst lose the ability to filter such edges (e.g., “show me all the ‘legal’ relationships but not the ‘social’ relationships).

        Multi-edges that represent the same type of edge and exist during non-overlapping periods of type can be coded as a single dynamic edge. That might not be ideal for some models, but it can work with some data munging.

        Mathieu, thanks for your response–and for continuing to develop Gephi. Could you explain what you mean by “manag[ing] such cases thanks for edge attributes” or point me to a page that explains it.

        Many thanks to you both!

      2. About parallel edges and how to deal with them in Gephi: I suggest to use an edge as if in virtually contains the different parallel edges in the form of attributes. I give two examples below. It works for quite simple cases but it is not appropriate for complex cases.

        Example 1: a social network with different types of relations between individuals. If you have a two persons A and B linked by a “Facebook friend” link and a “coworkers” link, you can represent this as a single edge with a “Facebook friend|coworkers” attributes. You can filter or color edges by any of these values. You can use the “liststring” type of attributes so that Gephi knows it’s an array of strings.

        Example 2: you have parallel edges with different weights. You can represent them by a single edge containing an array of weights. The same thing with numbers, using liststring attribute type. Howerver in that case Gephi does not know how to use these numbers to compute statistics.

        The liststring attributes are documented in the gexf file format primer.

        This is what I had in mind. It is not an actual replacement, but a turnaround you may use in case of necessity.

      3. Thanks, Mathieu, for the quick response. You’re right, although it’s a bit of a workaround, it will allow certain problems to be handled in Gephi. I really appreciate it!

  7. Hello. I’m really love Gephi guys! You are doing a great effort I sincerely appreciate.

    I have this program installed in my office and I’m having some problems about compatibility with the last java version. The admin threatened me about uninstalling Gephi… Could you think about implementing the compatibility with java 1.8 version? Thanks in advance.

    Reply

  8. I’d like the gephi forums to be reactivated so I can get some support.
    As you have seen from an existing post, the IP blocklist site you use is no longer functioning so I cannot register to post. I made a donation in the hope that might get some attention but no response yet. I actually thought the project was abandoned until I found this blog.

    Reply

    1. Dear Patrick, we have a serious spam issue with the forum, and we hope to find a safer solution in a near future. Dealing with this spam is time consuming and it drains our resources away from our priorities: development and restructuring the community tools. Other systems like GitHub Issues and Google Groups can help you as well. Which alternatives to the forum would you like to use?
      (Oh, and thanks for your donation!)

      Reply

      1. Thanks, Mathieu
        I understand the spam problem – moderation is the usual solution, but takes resources.
        As an alternative, I’d like Google Groups, which I already use for ExcelDna.
        I also use YahooGroups for the Eusprig moderated group, and never get spam there.
        If you set up a new group, be sure to post a moderator’s message to the forum telling people of the switch. Although you’ll probably want to leave archive posts there for reference.

    1. Our priority is Gephi “desktop” and not the toolkit. We know that the toolkit is useful but we just don’t have enough time for it now. We are recruiting contributor and when the team becomes larger we will have resources for a new Gephi Toolkit release, but I doubt this project can be planned before the 0.9 release. The Gephi Toolkit will remain untouched until then.

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s