A view of Gephi Lite v1.0.0, with a graph opened with its caption, and over it the "Welcome" modal

Introducing Gephi Lite v1.0 🎉

The summer has been quite busy, and we are very thrilled to announce the release of Gephi Lite v1.0! This marks for us the first version of Gephi Lite we are really proud about.

You can play with it at lite.gephi.org 🚀


Previously, on Gephi Lite…

Since Gephi’s creation in 2008, multiple groups of people within the Gephi community conceived and developed various web applications1 to somehow extend Gephi to the web. Some of these projects were designed to help people publish or share their networks online somehow, while others were meant to bring some of Gephi’s core features to the web (layout, filters, nodes coloring)2.

Starting the Project

During 2022 Gephi Week in Paris, the Gephi team decided to endorse Gephi Lite as a new project, within the Gephi ecosystem. This new web application would be developed by the OuestWare team, who was already carrying other open-source graph visualization tools close to the Gephi ecosystem, such as sigma.js or Retina.

From 2022 to 2025, the team worked on Gephi Lite. It quickly became a usable prototype, and found its place within the Gephi community. Dr. Veronica Espinoza wrote a tutorial on her blog on how to display node images in Gephi Lite, for instance. Also, Gephi Lite was used twice as an experimental playground to test new things:

  • Mathieu Jacomy’s connected-closeness layout evaluation metric was added to Gephi Lite in Gephi Week 2024;
  • A team of people (Mathieu Jacomy, Alexis Jacomy, Guillaume Plique, Benjamin Ooghe-Tabanou, Andrea Benedetti and Tommaso Elli) met at a workshop in Paris in December 2024 to design a new way to observe uncertainty in the Louvain Method – prototyped in Gephi Lite.

Some important limitations

But in early 2025, there were some big issues to tackle:

  • Gephi Lite’s design was a bit to chaotic and incoherent
  • Gephi Lite was mostly used by its developers
  • Nobody actually knew who was using Gephi Lite, nor why do people use it (or don’t)

So, OuestWare hired an intern designer, Arthur Desaintjan, who spent some months on leading user interviews and redesigning Gephi Lite entirely. The full OuestWare team then basically spent the summer implementing these new designs.3

The current state

Basically, what’s new is:

  1. Gephi Lite has a new graphical identity, cleaner, with more space for the data
  2. Navigation has been revamped, so that features appear more clearly
  3. Gephi Lite now has a fresh new data table

Gephi Lite for newcomers

So, what’s this all about? Gephi Lite is a lighter , web-based version of Gephi.

Gephi Lite is Gephi

This one is really about what makes Gephi Gephi: Gephi Lite is Gephi, because:

  1. It serves the same purpose (visual network analysis)
  2. It’s from the same community (just not the exact same people)
  3. Its interface keeps the same blocks (filter, layout, appearance…)

Gephi Lite is light 🪶

Gephi Lite is light, or at least lighter than the well known Gephi desktop application, because:

  1. It does not need to be installed (it’s just a webpage, available to anyone with some internet connection and a Web browser)
  2. Its user interface is lighter (complex features are simplified or removed)
  3. It only supports lighter graphs 🥲 (no more than 10k nodes or 20k edges, at the moment)

Gephi Lite is a web application

Gephi Lite is a web application, which opens a lot of opportunities!

  • “Open in Gephi Lite” permalinks, or a way to share Gephi graphs as if they were actual web documents
  • Gephi Lite iframes, or a way to embed Gephi Lite directly inside web pages or web applications
  • Gephi Lite everywhere, or at least on every device with modern web browsers (and that includes tablets and mobiles)

What’s Next

Now, Gephi Lite v1.0 is a very important milestone for us, but there are still clear ways to improve the project.

Gephi Viewer

The quite popular SigmaExporter plugin for Gephi is quite dated now, especially since it is based on a 10+ years old version of sigma.js.

In Gephi Week 2022, Clément Levallois and Alexis Jacomy developed WebPublishPlugin, a new plugin to publish graphs online using Retina. But there are various issues with using Retina as the “official” Gephi web-based graph viewer:

  1. Retina does things in its own way: It is not “just a viewer”. It preprocesses some layout when there is none, it allows filtering, changing appearance on the fly…
  2. Despite being developed by the same people as Gephi Lite, it has been designed outside Gephi ecosystem, with features prioritization driven by various OuestWare’s projects.

So, latest 2025 Gephi Week in Nantes was the opportunity to challenge what an “official Gephi Viewer” should be, and basically:

  • It should share as much code with Gephi Lite as possible – to make maintaining both applications as simple as possible;
  • It should focus on displaying a graph with a specific appearance, but with zooming / panning / searching capabilities;
  • It should provide a proper caption, as does Gephi Lite.

Performance

Recent efforts on Gephi Lite were exclusively focused on featuresstability and usability. But there are many ways to improve its performances:

  • GPU-based force directed layout algorithms, like in Cosmograph
  • Web-worker based heavy computations (rather than freezing the browser’s rendering thread)
  • Additional “quick-wins” to ease using Gephi Lite with larger networks (toggle graph rendering while running ForceAtlas2, for instance)

Upcoming Features

There are also various feature opportunities that were out of scope, but remain very interesting:

  • Support for background map layers for spatial network context (already supported in sigma.js, which Gephi Lite is based on);
  • Better palettes and colors management (allowing to switch between base or user-defined palettes, etc…)
  • Better export paths (upcoming Gephi Viewer export, SVG export, caption display in PNG export…)

We hope you will like Gephi Lite v1.0. We can’t wait to hear feedback from the community: please let us know what you think!


  1. A lot of Gephi Lite’s ancestors and inspirations are listed in our 2024 FOSDEM presentation, Bridging Research and Open Source: the genesis of Gephi Lite. ↩︎
  2. In 2019 FOSDEM, we even explored if Gephi was portable to the web, how, and what it would allow, in our presentation Gephi JS: Exploring the dystopian future of a Javascript Gephi, FOSDEM 2019. ↩︎
  3. Arthur told his journey quite precisely on OuestWare’s blog. ↩︎

What’s new for Gephi? Echoes from Gephi Week 2025

Nantes 2025

The Gephi Week aspires to be a yearly event where the team and some community members gather to work on the project. The first iteration was in 2021 in Copenhagen (see debrief), and it has happened every year since except in 2023. This year’s edition was hosted by OuestWare in Nantes, France (OuestWare is the team developing Gephi Lite, but it is also a company that does a lot of other projects). The working space was sponsored by the Nantes company UmanIT.

Here is a debrief of what we have done during this edition!


1. Gephi ecosystem

New Gephi Lite 1.0

Gephi Lite has been out and running for a while now, and it is now time for a complete UX overhaul! The team (Alexis Jacomy, Paul Girard and Benoit Simard)  worked with Arthur Desaintjan a (UX design intern) for a semester to rethink the entire user interface, taking into account the feedback of many users. From this process came out a brand new visual language and layout for the tool, that we are very excited to release very soon. Learn more about this design process in this blog post.

Because we think Gephi Lite will be complete enough, it will move into “1.0” territory. Gephi Desktop was overtaken! More on Gephi Lite 1.0 in a separate post.

Headless Gephi with Python : Gephipy

A recurrent demand by members of the community is to have an automated pipeline for Gephi-based analysis. During Gephi Week, this concern was reiterated by our colleagues at Agoratlas, Mathis Hammel, Florent Lefebvre, and Clément Hammel.

We do think that Gephi is, by essence, always about visual and interactive user interface. Nevertheless, it’s an interesting and recurring discussion that we had with users. The current official solution would be to use the Gephi toolkit, a headless (= no ui) version of Gephi that allows you to use all Gephi features in your own java application. It’s convenient for Java developers, but most Gephi users are more used to Python using Jupyter Notebook. 

So Benoît Simard, with the help of Matthieu Totet, had a quick look on the state of art of interfacing Python and Java and found JPype.  This library allows you to load a java library into a Python environment and use it as a normal python library.

It does work nicely out of the box, but then it has been noticed the way to use the toolbox isn’t quite straight forward and it could be simplified so that there would be a more Pythonic way to use the library.

The result of this is a library : Gephipy. This library is available on Pypi and is a wrapper around the Gephi java toolkit that allows you to use Gephi functionality in a Python script or in a Jupyter Notebook.

Keep in mind it’s just an experiment that we make it available and open source so people have a starting point if they need to develop with the headless use case in mind. There is definitely still a lot to do and continue to have a proper python wrapper, but if you are courageous enough, it’s technically possible to use Gephi as a Python library !

At this occasion, we also started the creation of a Gephi organization in PyPI (pending for approval).

New Viz engine integration

For many years, our lead dev Eduardo Ramos Ibanez has been working on a new visualization engine for Gephi (desktop). This was already an important point of the first Gephi Week in 2021.

Maintenance and performance are at stake. The current engine’s technology dating back to 2008, we had decided to rewrite it from scratch. That way, we could leverage modern OpenGL versions and unlock greater performance. Rewriting a core Gephi module is never easy but we have done it before and doing so also unlocks future improvements and enhanced maintainability. The new engine had been worked in a separate repository, to iterate faster. Prior to the Gephi Week, we had decided that it was now time to finish the integration work and clean-up all of the old engine’s code.

Mathieu Bastian, Matthieu Totet and Eduardo Ramos Ibanez have made a lot of progress in the integration work. The last big missing piece is to render text, and hope to tackle that soon.

Preparing for Gephi 0.11

Integrating the new visualization engine and enhancing its reliability and performance is the main goal for the next Gephi release. We hope to be able to release the 0.11 version by the end of this year.

We also performed maintenance tasks and small improvements, to ensure the software remains up-to-date. Notably, we migrated to the latest version of the Netbeans Platform.

Gephi Web Viewer

We discussed the opportunity to create a new Gephi tool. Sharing a network from Gephi on the web for reading has been a thing from the very beginning (Girard et al. 2024). Recently we added a plugin in Gephi desktop to export a graph on the web using Retina, so we discussed the opportunity to transform Retina into an official Gephi web viewer that could be used from Gephi or Gephi Lite.

Change the icons in Gephi Desktop

Gephi had been using pixel-based icons like in the 90s. It was pretty ugly, even though some may find it charming. That will be gone: we replaced all the icons with a homogeneous design language, following the suggestions of Côme Brocas in 2021.

These new icons will be compatible with the dark mode, and will make the UI more calm, allowing you to better focus on your network.


2. Communication and community

Revamping the website

We had not changed the Gephi website in a very long while!

The main screenshot was outdated by a decade or so… But most importantly, we wanted to make it clear that Gephi Lite was there, and we wanted to make room for it. Our main goal was to have a clear path to Gephi Lite from the landing page.And of course many things ensued, such as redefining the structure of the website etc. We tried to reduce the amount of pages to ease maintenance while making sure all important information is there. We used Astro as an infrastructure to build the new version.

Writing new tutorials

Even if the interface and user experience are well designed, a tool as complex as Gephi must be documented with tutorials. But the Gephi team already has a lot on its plate and the more pages and resources we create, the more things we have to maintain, so we have always been grateful for the community to have written multiple series of great tutorials. We encourage all users to produce their own tutorials, because what novice users need is not always technical documentation but a walkthrough of the main features, in an order and using teaching methods that may be specific to different areas of application.

However, we do think that it is also important to new users that they can find the most basic tutorials on the website directly. It’s important to note that we are about to have new user interface choices for both Gephi Lite (major rework) and Gephi Desktop (minor changes but still significant). This called for making an up to date version of the basic tutorials.

That’s why we decided to create a short introduction to Gephi, as simple and universal as possible. This was taken in charge by a few prolific tutorial makers in the community, namely Martin Grandjean, Veronica Espinoza, and Tommaso Venturini. We decided to go for parallel tutorials between the Desktop and Lite versions of Gephi to help users knowing one going to the other.

New FAQ

You probably know about the strength of weak ties, Granovetter’s famous argument. In short, in your relational network, people less close to you (weak ties) can reach resources you don’t otherwise have access to (they are strong).

We had the chance to have Veronica Espinoza with us. In case you don’t know her, she has been writing a lot on various network analysis tools for PhD students and social science and humanities scholars. And she’s based in Mexico. Precisely because she is confronted to a public that we don’t usually have access to, she had a set of very fruitful comments on Gephi as a tool and as a project. A good illustration of Granovetter’s principle!

We have used her feedback as the basis for a FAQ section in the new website, about using Gephi, but also about a range of other things related to the project or the community.

Documentation

In 2022, during the Gephi Week in Paris, we had set up a new online platform to host the documentation. But we had not used it much yet. Progress in the project created that need again, and we decided to definitively move in this new infrastructure.

We decommissioned the old Gephi Wiki, which we froze into an accessible archive.

We will release the new documentation portal with the minimum viable information, and we will gradually go through the wiki to fill the new documentation with relevant and updated content.


3. Project life

Governance

During a Gephi Week, there is always the need to discuss and improve the project’s life. This year’s focus was on governance.

We had the help of Celya Gruson-Daniel to accompany us in the process of formalizing how we function as a collective, and become better at onboarding new members.

Part of this process will be to integrate the project’s life more firmly into the Open Collective platform, and facilitate donations through the platform. This will make the project more transparent and easier to manage.

Documenting the project in video

Like the Paris 2022 edition, we had the chance to have Nicolas “Datalgo” Bouchaib with us. We were able to have live streams every day to talk about data science and network analysis in French and English, and provide insights into the project in video.


Acknowledgements

Thank you to our sponsors UmanIT who welcomed us very generously in their own open space. It was a blast having such a nice place to work in.

Thanks also to OuestWare for sponsoring the food and some of the accomodation.

Additional pictures of the event

Gephi week 2024 – peek from the inside!

This new edition of the Gephi week takes place in Copenhagen, organized by Mathieu Jacomy who lives there and works as a professor at Aalborg University. It was a closed meeting, contrary to the Gephi week 2 years ago in Paris, because of the complexity to organize a public event. This one was smaller and streamlined: 11 participants in one meeting room booked for 5 days. So, what’s happening? I’ll give some personal impressions, interspersed with pictures I took of the event.

The event is pretty important because while Gephi is a passion for all of us, and needs lots of work to develop, the reality is that the actors most involved in the development of Gephi are all super busy with the rest of their lives. The week offers a place and a short window in time where these individuals can work and interact in a highly focused state – that’s 100% Gephi for a couple of days.

One highlight is the participation of Mathieu Bastian (Gephi architect) and Eduardo Ramos (Gephi lead dev), who could spend a few days together and work on the upgrading of Gephi’s viz engine. This is a long term project, started years ago and that perfectly illustrates the difficulty to move on complex subjects with constrained resources.

The promise is to get a new version of the viz engine that will easily accomodate graphs of the size of hundreds of thousands of nodes. Spoiler alert: their project is sufficiently advanced that they could show a demo running within Gephi, and yes gigantic networks can be opened and manipulated just like you’d handle a tiny one today. Looks quite magical. Don’t expect it to be released soon though, as lot of work remains so that the engine works for all platforms and edge cases – that’s many tiny paper cuts to fix.

Another big component of the week is the team of Ouestware working on Gephi lite, which is the web version of Gephi. Lighter than Gephi as the name implies, in the sense that it is not meant to include every feature of Gephi, but evokes a similar experience in terms of graph viz and exploration. It has a much easier learning curve, and it opens Gephi to the features that web technologies afford (modern UI, interfacing with other web services, etc.)

The Ouestware team was joined by Mathieu’s colleagues: Anders Kristian Munk, Johan Irving Søltoft and Lasse Uhrskov Kristensen who provided extensive user reports and insights on Gephi lite (the app being so young, there is still a long road to improve the user experience).

By the way, the development of Gephi lite opens interesting issues: are we witnessing the birth of a kind of “Gephi family” of tools and products? If so, how can it be reflected? Should “Gephi” be called “Gephi desktop” to distinguish it from Gephi lite? What about the visual identity of Gephi? Discussions were exploratory, and in practice the first concrete steps have been taken to redesign the Gephi website to explain better the different assets and use cases for Gephi.

On Mathieu Jacomy’s side, there was interesting work (actually still ongoing, the week is not finished!) on implementing the “connected closeness” algorithm, that he designed and published about (link to the paper, link to the very detailed Observable notebook). What does it do?

It is very simple and powerful: when you layout a network, this algorithm provides a measure of how “good” the layout is. What is “good” then, that’s the big question! A good algorithm is one that brings connected nodes closer to another. Hence the name of the algorithm. Can’t wait to try it!

Another ongoing contribution is by Emilien Schultz, research engineer at ENSAE, who acted both as a participant and an observer: he is interested in Gephi as a topic in sociology of science so he gathered information on the project, all while coding a project that would trace the network of contributors on Github who interacted with Gephi in some capacity. A network that would then be easily explored… in Gephi 🙂

On my side, I spent the week trying to increase the speed of the Force Atlas 2 algorithm, which is this high quality layout developed by Mathieu Jacomy and al., which makes the networks so intelligible. When the graphs are super big (thousands of nodes and dozens of thousands of edges), there are so many computations to be done to lay it out that it is very slow. After 3 days of work, I could double the speed, which is both great but also sligthly disappointing, as I had higher hopes. Besides this result, I learned a lot about the algorithm itself, which has many different parts. It will keep me thinking.

To finish: the atmosphere!

The atmosphere is one of intense focus: participants who made room for a few days to spend time on Gephi and so not wasting a minute. As the pictures show, the meeting room was often silent, just with the noise of keyboard typing. Many or most participants being French, some interruptions came to comment on the political turmoil in France. No tourism on my side except for great culinary experiences in the evening. Copenhagen has great food!

Next steps?

Check out the Gephi website as I’d expect its new version to be published in the not distant future. Then, push me to publish the “speed” version of Force Atlas 2, which is not included in the main Gephi code base yet. And try out Gephi lite, while waiting for the major update to Gephi’s visualization engine! ✨

14 ways you can contribute to Gephi

> this blog post is a cross-posting from the blog of nocodefunctions.com, which is a companion toolbox for Gephi developed by the author.

How can we give back to Gephi so that it continues to thrive in the years to come?

I am not steering Gephi, so please do not take the following as anything “official” nor definitive on the topic. Please check the recent posts on the Gephi blog by Mathieu Jacomy and Mathieu Bastian to get the latest views from the core Gephi team.

Ok, let’s dive in:

Interests should be aligned – and money makes things complicated

Gephi is used by a large diversity of actors: students to governments, librarians, academics and professional scientometricians, dataviz designers, social media listeners, citizen journalists, fraud detection analysts and NGO volunteers to professional osint and infosec specialists and many more.

take-my-money

In this list of users, companies would have been natural contributors to the development of Gephi: “take my money, and in exchange I have a voice in Gephi to develop this or that feature”. However Gephi is a free and open source software, and it will not accept funding in return for a right to control how it is developed.

This stance is not a mistake nor a handicap! It is a conscious choice to evolve Gephi for all – not just in the direction that is set by the stakeholders which can fund it. But as a result, a very common resource – funding money – is not directly available to Gephi.

This simple absence of a market mechanism (I buy, you deliver) prevented Gephi from accessing resources that would have been so useful – and it is also why I esteem and respect the team who develops this software for so long, to provide it as a digital commons.

So, are we stuck? No!

There are many alternatives to contribute to Gephi, in ways that make the best of your abilities AND with tangible feedbacks beyond the existence of Gephi itself.

This blog post will be expanded as I get your feedback: do you see new ways to support Gephi? Would you like to be cited as a contact point for any of those?

Are you a company or for-profit organization?

1. Fund Gephi, despite the hurdles

At the moment, there is no legal entity that is set to accept funding for Gephi, though it is bound to come one day. However, events sponsored by Gephi could still receive funding, through the university that will host the event or a similar channel?

What to expect from it?

The 2nd edition of the Gephi week (August 2022) has been extremely productive. It delivered bug fixes, new plugins, new directions for development but most of all it generated a renewed energy to participate and contribute. By funding the next edition, you contribute in a very concrete manner to making Gephi more stable in the long term.

Are you an academic?

2. Make use of your unique power: citations!

As a librarian, professor, student… a very impactful action in support of Gephi is to cite it in the bibliography of the documents your produce – in articles of course but in every publication really, including applications to projects and reports. These are the two papers referencing the tool you love:

> Bastian, M., Heymann, S., & Jacomy, M. (2009, March). Gephi: an open source software for exploring and manipulating networks. In Proceedings of the international AAAI conference on web and social media (Vol. 3, No. 1, pp. 361-362). link

> Jacomy, M., Venturini, T., Heymann, S., & Bastian, M. (2014). ForceAtlas2, a continuous graph layout algorithm for handy network visualization designed for the Gephi software. PloS one, 9(6), e98679. link

What to expect from it? Gephi has an excellent academic standing, with the original contribution cited more than 10,000 times and Gephi being mentioned in over 39,000 academic publications. Explicitly referencing Gephi in your publications contributes to making Gephi visible by making its impact measurable: it enhances its legitimacy and fosters adoption. And for you? Gephi having an established presence and growing reputation will make it easier to convince reviewer #2 that Gephi was indeed the right choice for this network analysis 😉

3. What about organizing an academic conference?

I think that Gephi has actually never been the central topic of an academic conference 🤔. Would you like to be the first? This could be about Gephi itself, or Gephi in relation with your scientific specialty (network analysis, social networks, organizational mapping, biological networks, computer science, forensics, etc.). Gephi is part of a broader ecosystem of software for the visual exploration of networks: Cytoscape, NodeXL, Graphext… come to mind. Organizing a conference around these would make total sense!

4. Grant writing!

At the suggestion of a Gephi user and academic: it would actually make sense to apply for funding to any local / international research funding agency, where Gephi would be listed as an essential resource in need of financing. Either directly or through the dedication of a research engineer / research designer / data scientist position working on Gephi, within the project team… these are just initial thoughts.

I personnally would love the idea. I could also connect you to academics who would be outstanding contributors to such a grant writing project in France or the European Union. Do get in touch! (my contacts are at the bottom of this post).

Do you ever write tutorials, how-tos, blog posts?

5. Write a simple intro about your experience using Gephi, help others discover it

A classic writer’s block about Gephi is that “I am not expert enough” to write about it. You are probably much more expert than you think (see next paragraph), but in any case you can explain and document the use case that you worked on with Gephi.

This is a very, very useful contribution to Gephi. It makes it discoverable, easier to understand and it showcases what it can do. Again, a common conception is that what we do is never “original enough” to be worth writing about. Absolutely not: each dataset or research question has interesting specificities. Help fellow users understand what you did and how you did it! And if the case is confidential, don’t let it stop you! Transform and abstract your case and showcase the principles you followed.

6. Shoot videos or shorts, any kind of social media postings are useful, too

I mentioned written pieces because that’s in my comfort zone. But videos, short or long, or posts on your favorite social media would be perfectly useful!

Examples

These are quite “high effort” examples, just to inspire you about the variety of formats. Do start with something smaller in scope!

What to expect from it?

You gain the warm glow of knowing that you helped users discover what is possible with Gephi. Not interested in warm feelings? Then do it for the SEO, as Gephi is at the cross-road of network analysis, data science and data visualization: all SEO boxes checked at once.

Are you a beginner or moderately experienced with Gephi?

7. Help translate Gephi in your language!

Gephi is available in 22 languages, which is a good start but we can do better to bring the software to many other linguistic communities! Also, not all of the current 22 languages are translated at 100%. What you can do is participate in the translation! It all happens online, here.

Even if the interface looks intimidating at first, do register and get a start! And as always, don’t hesitate to request help on the Gephi Facebook group 🙂

8. Chat and contribute to the Gephi group on Facebook!

Yes, Facebook is really not anyone’s cup of tea. Discord, LinkedIn, Slack, a WordPress forum… all these would be preferable in some way and yet ten times less used than the group on Facebook. So we stay there for the moment.

The Gephi Facebook group has close to 10,000 members and is a very welcoming and friendly community. Join, post and read! Stuck in any way? Want to showcase a result? Definitely the place to post about it. And if you see anyone requesting assistance, which happens several times per week actually, have a look and it might well be something you have the answer to! Don’t be shy to offer your assistance, again my feeling is that we all tend to underestimate how helpful even a small piece of advice or assistance can be.

What to expect from it?

By giving back to the community, you are helping somebody who is a beginner just like you were some time ago. You help the community grow. Contributing to the Gephi Facebook group will also push you up on the learning curve by exposing you to a variety of cases, questions and solutions that you did not encounter in your usual flow of work with Gephi. A kind of learning platform!

Are you quite experienced with Gephi?

9. Join the Slack group for Gephi!

This Slack group exists in some form for many years and is used by the core developers of Gephi. I think it became more widely used at the occasion of the Gephi Week for 2022.

It is different from the Facebook group in the sense that it is a channel with a lower frequency of postings, with bursts of discussions around organizing and developing Gephi, rather than users helping other users. So it is quite exciting because you can see “Gephi in the making” but to remain productive, it should remain concentrated on that – steering and pushing Gephi forward, not really discussing how to use filters 😉

If you feel that you could contribute to this kind of discussions, do join here. You are not absolutely certain? Do join and be a listener for the first weeks, and you’ll see whether you want to be part of the discussions or not.

What to expect from it?

Well, that is super interesting to get close to the core of the Gephi app and community! This is the place where you could learn about the things brewing for the next months, and suggest contributions you can make: in skills, time, money, credit, etc.

I would like to emphasize that on this channel the most important are contributions (things you can do), not suggestions (things others should do…). The entire group of Gephi core contributors are pretty overwhelmed already, let’s give them some help, not a wishlist! 🙂

Are you a consultant / free-lancer / slasher?

10. Organize trainings and workshops!

It is not always super clear that Gephi as a topic and as an asset is for everyone – it doesn’t have to be contained to the gephi.org website or in the Gephi software. You can develop a free or commercial and / or for-profit activity about Gephi. One obvious activity would be training sessions or workshops about Gephi, or any consulting activity in a given sector, leveraging Gephi. Maybe that when this gets clarified, we’ll see a broader offer for trainings in Gephi?

What to expect from it?

Designing a training or workshop about Gephi is always a great occasion to re-learn what had become habitual. Besides the revenues you will generate from it, it will also establish your credentials in the domain.

Are you an indie developer, a startup or a larger company with resources for R&D?

11. Develop the ecosystem around Gephi!

Gephi provides hooks of an outstanding quality, that make it super convenient to develop your projects with a strong base:

  • the Gephi Toolkit is a standalone Java library that provides all the goodness of Gephi in of your projects, out of the box, with plenty of documentation
  • the gexf network format, which the Gephi team developed, provides a rich description of your networks – attributes, visual features and dynamic dimension as needed
  • the Gephi graphstore is the low level, standalone graph engine that powers Gephi and you could use it in your own projects too!
  • Gephi lite, a web-based version of Gephi for interactive visualizations in the browser – read about it in the Gephi blog.

What to expect from it?

Using these Gephi assets in your projects will save you time, not reinventing the wheel of a network app that includes the graph itself but also the algorithms, layouts, filters, management of attributes, I/O machinery etc. that you will also need pretty quickly. By doing so, you serve Gephi as you will naturally get involved in pushing Gephi and its various assets forward.

Are you a developer with significant experience?

It is on purpose that I kept this item for the end of the list. Indeed, we often assume that if we can’t code, we can’t contribute to Gephi. The 11 ways to contribute to Gephi listed just before have changed your outlook, I hope. Gephi really needs these 11 first types of contributions!

As a senior developer (or better said: not a full beginner in Java), you can also contribute to Gephi in several ways:

12. Java developer: shine!

Everybody has their own learning path, here is one:

  • one way to get acquainted with Gephi is to play with the Gephi Toolkit, which is the Gephi headless library for Java. It will give you a sense of how the API is structured, with a strong modular architecture and some not-so-common design patterns (not familiar with SPIs? You will be served! 😀).
  • then you might be interested in developping a plugin, which is another steep learning curve but very rewarding because, upon publication, your plugin becomes available to the entire Gephi user base (you can also choose to keep it private, of course).
  • in the course of using the Gephi toolkit or developing a plugin, you might open issues on Github. And depending on your expertise and grit, you will also look at the source code of Gephi and find things to solve. This is very welcome, of course.

13. Developer of desktop apps / Rich Client Applications

Gephi is built on top of the Apache NetBeans Platform, which is the Rich Client Application of the NetBeans IDE. If you have a strong interest in NetBeans / RCA / desktop applications / or the intrincaties of targetting a desktop app specifically for Windows of MacOS, you could make contributions of critical importance.

14. OpenGL for Java

I might be sloppy here as I have close to zero knowledge of the domain, but the visualization engine of Gephi is using OpenGL and that is of course quite a tricky aspect. I don’t have the details but Gephi is in the middle of a major upgrade of the underlying technologies for this OpenGL stuff, so if you or your organization is knowledgeable about this subject, you could also make essential contributions.

What to expect from it?

Gephi is led by developers who are first-class in their trade. Did you know that Gephi won a Duke Award back in the days? Contributing to this open source project would be a great learning experience for everyone involved and would speed up the delivery of key features. Gephi is also an open and free software: if you personally care about contributing to a FOSS, Gephi is a perfect choice ❤️.

In the end

If you’d like to contribute to Gephi in any of the ways listed above, a great place to initiate a discussion would be the Gephi Facebook group. I’d also love to get in touch! Just to discuss, give suggestions and point to the right person or resource. Don’t hesitate! I am Clement Levallois and my email is clement.levallois at gephi dot org.

Intro to the Gephi codebase

How is Gephi made? Peek under the hood with Mathieu Bastian in this one-hour video.

It is primarily intended for developers who wish to get oriented with Gephi’s codebase, for instance to make a pull request or a plug-in. Mathieu gives a practical introduction to Gephi’s modular architecture, how its internal API system works, how the main modules are structured, and the build and release process.

This lecture was initially given to the participants of the Gephi Week 2022 in Paris (but we have cut the Q&A parts to not waste your time). It’s now on our YouTube channel. Subscribe!

The slides of the presentation are available down below.

Gephi 0.10 released

Gephi 0.10.0 is here! Download it from http://gephi.org (only patch versions auto-update, it’s intentional). This time around we focused on a few long-awaited features, while keeping our pace on code and sustainability improvements. This release improves the usability and reliability. Here are 5 highlights:

1. Quick search

Searching the graph was previously only possible within the Data Laboratory. There is now a global quick search feature that allows to find nodes and edges in the graph and highlight them. Each result can be acted upon with the same right-click operations found in the Data Laboratory. Quick search is brand new and we’re interested in your feedback as we plan to extend it in future releases.

2. Dark mode

We’ve introduced a new dark look-and-feel in a previous version but a number of components weren’t adjusted accordingly. We have fixed all of these issues and the dark mode is now fully usable.

New dark mode in Gephi

3. Support for Apple Silicon

Gephi now supports the Apple Silicon architecture. As a result, both x64 and aarch64 bundles now exist for Mac OS. The performance improvements for M1/M2 processors is substantial as Gephi can now run natively on this architecture. It loads much faster and complex operations such as layouts run smoother.

4. Preview Improvements

We shipped two major improvements to the Preview module: arrows on curved edges and node border matching the Overview style.

Directed curved edges now have arrows as well. Previously only straight edges had arrows.

Node borders style now match the one seen on Overview: darker node color and size proportional to the node’s size. The border color and size remains entirely configurable.

5. Project and Workspace Management

We reorganised how projects work in Gephi to make it easier to use and pave the way for future features.

Gephi now keeps track of all the projects you’ve worked on in a project list. It’s also now easier to give projects and workspaces names so you can organise your work better. Finally, it’s now possible to duplicate any workspace with all of its settings.

New workspace management

List of improvements

You can check our changelog in the release page:
https://github.com/gephi/gephi/releases/tag/v0.10.0

More about this release

This release is a follow-up to the code sustainability retreat 2022. You can read our report in our last blog post. Not all the features we discussed and worked on are included in this release but it certainly served as an accelerator. We also welcomed contributions from new developers with this release, which is great to see.

Check our road map as of Summer 2021 to have a better idea of where we are going. With this release, we continued to focus on core improvements that pave the way for future big features such as the undo/redo. Specifically, the core improvements to Project Management bring us much closer to it.

Mac OS Users

Note that some users have been experiencing hangs with previous versions, at startup or when switching perspectives. We are aware of the issue and unfortunately there isn’t a complete fix or workaround available at this point. We’re still working on it and you can follow updates on this thread. With this release we hope to have mitigated the issue, while we work on a complete resolution.

As usual, please share your experience/feedback on our Facebook group or on Twitter.

Gephi Lite

Authors: Mathieu Jacomy, Alexis Jacomy, Paul Girard, and Benoît Simard

It is a spin-off

For a long time, one could think of the Gephi as both a piece of software and a project; the purpose of the project would be to develop and maintain the tool. But from the start, our project was about more than Gephi’s code: websites, tutorials, forums, plugins, events, social media, fundraising… We now take this further with an unprecedented decision (for us): the Gephi project will host 2 different tools.

Gephi Lite will be a web version of Gephi, with the same basic features, but reduced to a minimalistic package. It will remain similar to Gephi and be compatible with it, but will have less options. It will not be able to open big networks, but it will be simpler and more ergonomic.

It will not dilute our efforts to maintain and improve Gephi. If you think of the energy we can afford to dedicate to Gephi as a cake, you may think that we will now have to split the cake into 2 shares, one for Gephi and one for Gephi Lite. But in fact, we will have a bigger cake. Indeed, the development is taken in charge by a different team, namely Alexis Jacomy, Paul Girard and Benoît Simard from Ouestware.

Bootstrapping Gephi Lite during the Gephi Week

The Gephi community has known Ouestware for a long time thanks to their work on network visualization on the web, to which we must add Guillaume Plique from the Sciences Po médialab. Let us call them the JS community in this context. Over the years, these developers have been contributing to a long series of libraries, prototypes, and tools adjacent to Gephi. Here is a quick list of their collective contributions to network visualization:

  • Libraries: Graphology, to handle graphs; and SigmaJS, to render them on the web.
  • Prototypes: ManyLines, to share networks as explorable slides; MiniVan, to share networks online as browsable documents; and a top-secret project to make up networks quickly.
  • Tools: Retina, an online network visualizer with filtering and search; and Gephisto, a one-click network visualizer for teaching.

We have also given a joint talk about Gephi and JS at the FOSDEM. We mention all of this to highlight that there was a fertile ground for something new. The skills were there, but everyone had pushed their own projects and explored different directions. Could we coordinate our efforts in the future?

Long story short: we met at the Gephi Week, it happened, and the outcome is Gephi Lite. Here is an account of the project after the Gephi Week and a follow-up sprint at OuestWare.

A very early prototype of Gephi Lite: the graph rendering is already functional thanks to Graphology and Sigma.

What makes Gephi Gephi?

We explored that question because we had to answer this: what should Gephi Lite be like? Indeed, what makes Gephi Lite different from the tools above is that it tries to stick to the Gephi recipe. But what is that recipe?

We distilled Gephi to this feature set:

  • Load data
  • Render layouts
  • Compute metrics
  • Apply filters
  • Select data
  • Set the semiotics (appearance panel)
  • Save data
  • Export as images
  • Export on the web
  • Manual intervention (create and edit data, for ex. attributes)
  • Plugins (Note: we will leave this aside for Gephi Lite for now)

To which we add:

  • Gephi Lite must interoperate with Gephi
  • Reuse the Gephi look and feel when possible (consistency)

We used this list as a starting point to decide Gephi Lite’s scope.

Sketching the scope of Gephi Lite

About the name: what does “Lite” mean?

Lite means that Gephi Lite will always be at a higher level than Gephi desktop. Further from the metal, as we say. More blackboxed, with more layers of software. More usable, but at the core, less efficient. This is why it will have lower scaling capacities in terms of size of graph.

Lite also means that we aim at less complex usages than Gephi. This principle has to be taken as a general guideline and not a strict rule. Indeed Gephi Lite differs also by the fact that it is on the web. It is a drawback at times, but it also brings opportunities to do things differently and add new features. So Lite does not mean that Gephi Lite is Gephi with missing pieces. It has its own feature set..

We considered the name “Gephi Web” but we decided that making it clear that it would not be as scalable as Gephi would help manage people’s expectations. The discussion is not entirely closed, though.

Data-driven rendering

Here is where Gephi Lite will differ from Gephi. The semiotic work on the visualization (node color and size, edge thickness…) will always be tied to the data. That is why we call it “data-driven”.

In Gephi, you can do whatever you want. You can manually paint a bunch of nodes in red. You can paint some nodes with a gradient of colors representing their degree, and other nodes with a color representing a cluster they belong to. You can play with this feature. You can do art. You can do things so weird you could not even explain. It’s flexible and powerful, but it comes with complications. And notably, you cannot always have a caption, because Gephi cannot keep track of what the colors or sizes mean.

Gephi Lite has a limited set of features, and it sometimes creates opportunities. We decided to allow no manual coloring of the nodes and edges, and to use a rule-based mapping of colors and sizes. For example, you can only apply colors according to an attribute or a simple combination of attributes. Think of the rule as something like “Democrat blogs in blue and Republicans in red”, or something a bit more complicated but not too much. In Gephi Lite, the appearance of nodes and edges will be fully determined by such rules. As a benefit, it can keep track of what the colors mean, apply them dynamically, and build a caption. For most users, it will be simpler.

For the record, to make this system work, we settled on this set of features:

  • No manual coloring.
  • Add quali/quanti tags on node/edge attributes to help users make meaningful semiotic choices.
  • Nodes/edge appearance is dynamic: we watch attribute changes.
  • Appearance is determined by rules which are always applied, even if not in the filtered version. In other words, the modalities taken into account to set colors account for hidden nodes as well. It does not depend on how the network is currently filtered.
  • Missing values are systematically handled.
  • Gephi Lite will be able to draw a caption.
  • Gephi Lite will contribute and use the GEXF new v1.3 spec by prototyping it and contributing to its specifications.
  • Original GEXF viz attributes will be used as special “gexf_viz” prefixed data attribute when no caption is present (GEXF <= 1.2) to be able to reuse it at export and use those default in the default appearance state.

Appearance panel

Like in Gephi, a dedicated space in the user interface will allow setting the semiotics of the map. In Gephi, it is the appearance panel. A similar space will exist in Gephi (whether that’s a panel or something else).

As we have just seen, the semiotics are rule-based and dynamic. In addition to this, we decided the following:

  • Appearance gathers all visual variables to draw nodes, edges and their labels (size, color).
  • Nodes and edges labels sizing will be dealt with in the appearance bloc.
  • Considered feature: applying different rules to different parts of the graph (see “partitions” later).
  • Appropriately handle missing values, anomalous values (ex: a string among numbers), unexpected values (ex: negative weight), and errors.
  • Always ask the user how to render undefined values. Undefined values could be the cases above or valid values that have not been set for different reasons. Those can typically be dealt with using a default color and size.

Something we have been discussing but we have not solved yet: where is the caption? We could generate a caption on-demand, but since the appearance is fully dynamic, we could as well have a caption accessible at all times. Is the caption part of the appearance panel? If not, is it redundant? We will be iterating over this question.

The appearance panel in our earliest work-in-progress.

Filtering

The filters UI in Gephi is both too complex for the scope of Gephi Lite, and inconsistent with web UX design. WE have an opportunity to do better, albeit simpler. We chose a new abstraction, that is less flexible but much simpler to manipulate:

  • Filters are a stack (and not a tree like in Gephi)
  • Each filter is applied on the graph resulting from the previous filter (they cascade)
  • The filters can be on nodes or edges
  • A filter can be related to an attribute, a custom script (written or pasted by the user), or a topological filter (ex: the main component filter).

We have to experiment with the design of filtering, but let us acknowledge that filtering has to be simple for the user. Our priority is to keep our user experience straightforward.

Statistics

Gephi Lite will feature statistics (computable metrics), although with less choice as Gephi. Those statistics are those included in Graphology, and if we add new ones they will also be included in Graphology. We want to make it possible to choose the name of the attribute where the output is generated (with a warning if it already exists).

Layout

Similarly to statistics, we will use the Graphology layout algorithms and possibly extend them.

Not only related to the layout, but let us share with you a complicated question that can give you a practical idea of the design challenges we face. In Gephi, the node size is relative to the layout. They use the same coordinate system. By contrast, in other contexts like with Sigma, the node size may vary independently. The scaling of the layout is, after all, arbitrary. But because Gephi Lite is a companion to Gephi, we want to enforce consistency between them. Therefore the node size should behave similarly to Gephi. It turns out that this behavior conflicts with the current architecture of Sigma, due how the renderer layer behaves. We see no other solution than to introduce a breaking change in Sigma (the v3 is therefore in preparation).

Buckets

The simplification of the filters and appearance systems gets in the way of some popular scenarios that we want to make possible in Gephi Lite. We are therefore adding a new concept to support these advanced uses, in a way that would be transparent to beginners. We call this feature buckets.

A bucket is a set of nodes and edges. A subgraph, technically. But you may think of it as a partition of your network, or a layer, or a selection. It’s just a way to handle a subset of your network in a few places where we think it is necessary.

The users who do not understand this concept can ignore it completely. It is not required to know what a bucket is in most situations. However, you may need it if you feel limited by the way filters and appearance settings work. For example if you have a two-mode network and you want to set the size of the nodes according to their degree, but with a different scale for each type of node, because one type consists of a few nodes with many links (they would be too big) and the other of many nodes with a few links (they would be too small). If you meet this kind of problem, then using buckets is the way to go.

We are aware that this feature makes the memory structure of Gephi Lite a bit more complicated to write, but we consider that it is worth the effort.

UX organization

We identified a few problems. For instance:

  • The appearance panel will be heavier than in Gephi
  • It is just too heavy to display all panels all the time
  • We cannot have tabs because the browser already has tabs
  • We do not want to split the app into pages (screens) for similar reasons

The solution we found (currently) entails:

  • A compact sidebar on the left with shortcuts to different panels: metrics, layout, appearance and filter.
  • When clicking on a shortcut in the compact sidebar, the corresponding panel opens in an additional sidebar next to the compact sidebar (the panel unfolds in a collapsible column).
  • A column on the right with graph context (visible nodes and edges) and contextual information and actions (for instance, what is selected etc.)
The organization of the sidebars as it currently exists in our prototype.

Our approach is to design by drafting (no mockups) but leaving aside all graphic design choices for the moment. Those will be designed later on in “live wireframes” (or as we call it, “ugly soulless prototypes”).

We have three personas in mind when making our design decisions:

  • The cartographer
  • The data scientist
  • The collaborator: someone who wants to share the exploration of a network

Cloud file management

Because we are on the web, it can be really useful to save the project’s file on the cloud. To achieve that we identified the following needs:

  • To sign-in
  • To list and/or search the files that are compatible with Gephi Lite
  • To load a file
  • To save a file

The first implementation that we want to provide is Github Gist.  Gephi has a plugin to publish a graph on the web that generates a GEXF file and saves it in Github as a Gist (we will post about that at a later point). Github Gist allows CORS (a major constraint of this approach), so an internet application can load a gist file like Retina does. 

How we see the lifecycle of a file in Gephi Lite:

  1. Use Gephi
  2. Export on the web
  3. Use Gephi Lite
  4. Import the GEXF into Gephi

The last part (importing a remote GEXF file in Gephi) doesn’t exist yet, but it’s easy to develop as a plugin. Using Github Gist gives us also the opportunity to see revisions of a file (history management, rollback…). This system is compatible with other providers that we could add in the future like Nextcloud, Google Drive, Dropbox, etc.

MVP

Our design intentions, as stated in this post, can be seen as a long-term road map for the project. Our short-term goal is the MVP, the “minimum viable product”. The MVP is the smallest version of Gephi Lite that can be useful, the point before which it makes no sense to release the tool. Therefore, developing the features of the MVP are the priority. The rest is “nice to have” because it requires the MVP to work. But deciding what belongs to the MVP is not just a matter of technical constraints, it is also a subjective call about what “necessary” and “useful” mean in the context of network analysis.

No final choice has been made for the moment, and we need a better view of the implementation complexity of the various components we have to do. But some things are already clear to us.

We do want the following features in the MVP:

  • Load and save a GEXF file, local or GIST
  • Visualize (zoom, pan the view, search)
  • Appearance (node color and size)
  • Filter (at least one)
  • Statistics (at least one)
  • Layout (Force Atlas 2)

We can wait later for:

  • Buckets
  • Custom scripts
  • Data edition

Roadmap

The next work iteration on Gephi Lite should happen in early 2023. There will be no prototype release before then. We will communicate on our advances at that point. See you there!

– Mathieu, Alexis, Paul and Benoît

Gephi Week 2022: debriefing

From 29 August to 2 September 2022, about 20 people met in Paris and online to make the Gephi codebase more sustainable, discuss the project, experiment with potential features, improve the design, and get closer to the 1.0 version. It was a follow-up to the 2021 code sustainability retreat, and its theme was community detection. In this post we present what we have done.

The event was sponsored by the SoBigData++ project, hosted by the Sciences Po médialab, and live-streamed by Nicolas Bouchaib from First Link. Tommaso Venturini, Axel Meunier and Simon Bourdieu-Apartis carried the burden of organization. We warmly thank all of them for having made this event possible!

Work done

We have covered a broad spectrum of topics. Find the list below. Just keep in mind that not every project could be finalized during the week. About a half of the contributions will need some time to be released to the users. The forthcoming 0.10.0 version will include the rest, and is to be expected for the end of the year (2022).

These features and experimentations will be developed in upcoming blog posts:

  • Gephi Lite, an upcoming web version of Gephi. Alexis Jacomy has been paving the road map and leading the discussion about its features.
  • Revamping the icons in Gephi. Côme Brocas reworked the icons system and Mathieu Bastian reworked the implementation. This will also contribute to the upcoming dark mode!
  • New web export based on OuestWare’s Retina, with a plugin developed by Clément Levallois and Alexis Jacomy.
  • New Neo4J plugin, developed by an expert of that technology, Benoît Simard.
  • Rethinking how we visualize community detection in Gephi, and notably when it comes to the ambiguity about the groups with which each node can be associated with. Tommaso Elli, Andrea Benedetti, Mathieu Jacomy and Guillaume Plique reflected on visualizing the process of the algorithm. Benjamin Ooghe-Tabanou, Étienne Côme and Guillaume reflected on metrics and visualizations to assess the ambiguity itself.
  • Video presenting the codebase, by Mathieu Bastian. To be released soon!

These features are developed below in this post:

  • Allowing the export of node coordinates as columns in the data, an often demanded feature added by Sukankana Chakraborty.
  • Making the edge types editable in the data laboratory, which matters to multigraphs, by Matthieu Totet.
  • Exporting the same node borders as in the overview, by Roberto Luna-Garcia.
  • Exporting with a transparent background, by Roberto Luna-Garcia.
  • Adding arrows to curved edges when you export an image. Mathieu Jacomy tackled this seemingly simple issue, but it was more complicated than it looked.
  • Revamping the online documentation for developers notably, by Mathieu Bastian and Matthieu Totet.

Takeaways

A few general points before diving into the details.

Gephi is expanding to the web. We will develop this in an upcoming post, but in short, we are committed to stabilize a web version of Gephi, with a reduced scope but a more modern UX, called Gephi Lite. The team at OuestWare (Alexis Jacomy, Benoît Simard and Paul Girard) has taken the lead of this branch of our project. It will be based on Graphology and SigmaJS, and benefit from the invaluable help of Guillaume Plique.

Gephi is popular, and many people are willing to help the project. This second edition attracted more participants than the last. More varied people, too: designers, researchers, data analysts, content creators, OSINT practitioners, and developers. Those categories are not mutually exclusive.

It is hard to recruit Java developers. One of the reasons seems to be that Java Desktop and Swing are not sexy, but more importantly, we are not that well connected to the Java dev world. We find our contributors either through plugins, or in the overlap of data science and dev: people who use Gephi and happen to also know how to dev. We will keep communicating about our need to stabilize a community of developers, and we believe that a lively non-dev community around Gephi (users, content creators, designers…) contributes indirectly to a more lively dev community.

We still need to stabilize the codebase. We are not ready yet to move to finalizing a version 1.0, at least because we still need to rework the visualization engine to get rid of unmaintained dependencies. This will require a separate effort later on this year.

The Gephi Week was very beneficial to the project. Although we struggle to be attractive to Java developers, the Gephi Week was an occasion for everyone to improve their knowledge about the codebase. Some contributors like myself were rusty, and it was for us an opportunity to exercise our coding muscles again, under the excellent coaching of Mathieu Bastian, who also recorded a guided tour of the codebase. Newcomers could also learn the basics, and the codebase received more scrutiny. Little by little, we build the ability to help and support each other, and improve our autonomy. And beyond the central concern about the sustainability of the codebase, the project immensely improved in many unexpected directions, such as rethinking the design of popular features like community detection, revamping big parts of the visual identity (icons), and building a web sibling to the Java version, Gephi Lite. Even beyond these developments, the coding retreat spawned satellite events like a meeting with the local OSINT community (many Gephi users!), live-streaming with YouTubers, and discussing with renowned researchers. Around the coding retreat, something like a mini-festival is growing by itself.

We remain committed to keeping this event yearly, and we expect it to grow again next year.

Wrap-up videos

As our wrap-up was live streamed, we had the opportunity to share that moment with you. The stream has been cleaned up and sliced. We published it on our YouTube channel as a playlist (see below). The playlist, about 100 minutes-long, is in the order it was recorded. For a more thematic approach, each video will be featured separately as we explain what we have done during the Gephi Week, starting in the next section.

Playlist of the wrap-up on YouTube. 100 minutes.

More about what we have done

Allowing the export of node coordinates

An often demanded feature added by Sukankana “Schuh” Chakraborty. The (x,y) coordinates of nodes are native to Gephi. They are not like any other attribute insofar as they are used to draw the layout. As an unfortunate consequence, they used to be omitted during the export of data. Which is a problem, notably if you want to draw the nodes in another environment like Tableau. Schuh addressed this issue and added the option.

Screenshot of the settings panel
Schuh (Sukankana Chakraborty) explains her work on making the node coordinate exportable.

Making the type of edges editable

In multigraphs, each edge has a given “type”, also sometimes called “kind”. Those differentiate the represented relations, for example mother, sister, niece… Like for Schuh’s issue just before, the edge type was a special attribute, and we could not change it in the data laboratory. As Mathieu Bastian explains below, Matthieu Totet addressed the issue (he could not be present during the wrap-up).

Mathieu Bastian explains his work with Matthieu Totet on making edge kind editable for multigraphs in Gephi.

Exporting the same node borders as in the overview

You may have noticed that the nodes have a different look in the Overview and in the Preview. The Preview (the image exporter) can generally do more than the Overview, but one feature was missing: having node borders colored with a darker version of the node color. Roberto Luna-Garcia added this option to the settings.

Roberto Luna-Garcia showcases his work on adding node borders in the export.

Exporting a PDF with transparent background

Roberto also addressed the need to export network map with a transparent background:

Roberto Luna-Garcia showcases his work on making the background transparent when you export a Gephi visualization.

Adding arrows to curved edges

When Mathieu Jacomy picked this seemingly simple issue, he thought it would take a few hours. Alas, deep down the rabbit hole, a much more fearsome beast awaited. Bezier curves had to be replaced with circle arcs, which came with their own share of implementation weirdness, as each renderer speaks three different languages: SVG, PDF, and Java2D.

Mathieu Jacomy shows his work on adding arrows to curved edges during the Gephi Week.

Revamping the online documentation

How to write accessible documentation for developers? Matthieu Totet and Mathieu Bastian drew inspiration from the OpenRefine community, and reworked the system around Gephi, with a good share of automation.

Mathieu Bastian explains his role in the Gephi Week and showcases his work with Matthieu Totet on improving the online Gephi documentation.

Photos

Most of the week consisted of this collective workshopping that one would totally expect. Andrea, Guillaume, Étienne, Benjamin, Mathieu B, Matthieu T and Nicolas.
It’s not just coding, it’s also thinking without coding. Guillaume and Benjamin enjoy the vibe while Mathieu J contemplates despair.
As expected, one could see networks. Here Guillaume is tinkering with semantic zooming.
Clément skimming through the book recommended by Mathieu B to understand the codebase better: The Definitive Guide to NetBeans Platform 7, by Heiko Böck.
Côme at work redesigning icons that are too specific to be present in existing libraries.
Nicolas hosting a stream with Viviane (Scilabus on YouTube) and Mathieu J.
Nicolas installing the streaming setup for the wrap-up session.
It was exhausting but very enjoyable. Mathieu B, Matthieu T, Nicolas, Clément and Roberto.

This event is supported by the European Union – Horizon 2020 Program under the scheme “INFRAIA-01-2018-2019 – Integrating Activities for Advanced Communities”, Grant Agreement n.871042, “SoBigData++: European Integrated Infrastructure for Social Mining and Big Data Analytics” (http://www.sobigdata.eu).

Call for participants: Gephi code sustainability retreat 2022

We are organizing a second code sustainability retreat (check the first one), and we are looking for Java developers willing to contribute to Gephi’s core codebase over the next few years. It will be one of the two tracks of a broader event, the Gephi Week, the other one being dedicated to the question of visualizing community structure in networks (we will make a dedicated post for that).

Our goal: Make Gephi’s codebase sustainable, and beyond this, recruit a team of developers into the project.

When: 29 August to 2 September (one week, Monday to Friday)

How long: 4 to 5 days. Let’s see how travel goes for everyone.

Where: In Paris, France.

How many participants: We aim at about 5 Java developers, not counting the Gephi core team (~3 people).

Funding: We pay for travel and accommodation thanks to the sponsoring of the SoBigData++ project. We will also offer a small compensation for your time and effort (~100€/day).

What we will do during the retreat: Our lead developer will share knowledge about the codebase. We will get an overview of the state of Gephi, set up a more technical road map (identify the main challenges, decide of the best course of action) and code part of it – in short, we will push the cart further. Furthermore, we will get to know each other better and have some good time together.

HOW TO APPLY
Send an email to the organiser
[email protected]

What’s next: We will probably meet you online for a quick talk and check that we are on the same page. If too many people apply, we will make a choice and inform you of the result. We will deal with travel and accommodation, and then meet you in Paris!

Feel free to ask if you have any question (to the email above, in comments, or via Twitter to @Gephi).

To know more about this, you can check the report to the Gephi code sustainability retreat 2021.


This event is supported by the European Union – Horizon 2020 Program under the scheme “INFRAIA-01-2018-2019 – Integrating Activities for Advanced Communities”, Grant Agreement n.871042, “SoBigData++: European Integrated Infrastructure for Social Mining and Big Data Analytics” (http://www.sobigdata.eu).

Transition to semantic versioning

You may have noticed two things.

First, we released several versions recently. Gephi 0.9.2 was released in September 2017. Then the version 0.9.3 in March 2022, with a 4+ years hiatus. Then 0.9.4 three weeks ago, in April 2022. Then 0.9.5 a week ago, in May. What is going on?

Second, the splash screen. Version 0.9.1 and 0.9.2 were like this:

Then version 0.9.3 changed color, to mark the end of the hiatus. It was somehow a big change.

…but since version 0.9.4 it just features the version number 0.9 (without the last bit):

What is going on?

We are transitioning to semantic versioning

Semantic versioning is a certain logic to attribute version numbers. It uses three numbers:

  1. The major version number. It is incremented when the new version breaks compatibility. It matters to the user because they may not want to upgrade, or not yet, because it may break for them.
  2. The minor version number. It is incremented when features are added, but in a compatible way. The user generally wants to upgrade, but may not like the changes, so we need a way to refer to that specific version.
  3. The patch number. It is incremented when it is just bug fixes. The user always wants to upgrade.

So far, Gephi was not versioned that way. In part because numbers have a cultural meaning. For example, 0.9 feels like we are getting close to version 1.0, and in many ways we are getting closer, but at the same time this does not have to do with the fact that we have release about 10 major versions. If it takes us 15 steps, then so be it. The next minor version will be 0.10 – which is not like version 0.1! Weird, but version numbers do not work like decimal numbers.

Semantic versioning is a reasonable and safe way to version, and we are getting there, but not in one go. We will only fully do that from version 1.0.0, which requires meeting a number of goals on our road map. Nevertheless, we need to be able to push bug fixes to everyone, and for that, the best is to use the patch number. Which is why we had two more versions in just a month. But it remains less dramatic than the move from 0.9.2 to 0.9.3, which is why we removed the mention of the patch number from the splash screen. Like for semantic versioning, new patch versions should not feel like new versions to the user. And importantly, patch versions are pushed to all users through the automatic update mechanism. So to recap, it works like this:

As final word, you may wonder: why not have the post-hiatus version numbered 0.10.0 instead of 0.9.3? You’d be totally right! It should have been. We did not realize it soon enough, unlike the most savvy members of our community. Oops! But we’re doing it now. Better late than never 🙂