Undo, please

User's perspective on software quality
Post Reply [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
bentwonk
Posts:7
Joined:11 Mar 2011 00:29
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Undo, please

Post by bentwonk » 29 Aug 2011 12:01

Showing gephi to some new users one thing they were soon looking for was an 'undo' button. What better way for people to learn that experimenting? However without undo the user can be servery punished for this. Plus we all make mistakes from time to time. Any editor that is beyond trivial needs an undo, for we are mere mortals.

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Undo, please

Post by mbastian » 29 Aug 2011 16:19

I agree undo is very important but unfortunately it's also very difficult to implement and could cause serious performance issues. An undo system introduces the abstraction of an action and all modules needs to use it to be consistent, which is quite hard in a modular architecture like Gephi. To do it right all modules would have to modify the way they do things and declare their action to a central undo system and provide a way to revert their action. The issue is that it's not possible to revert all actions when you manipulate a graph structure. If I delete nodes or change the color and I want to undo these actions, significant amount of memory needs to be used to store states. For instance having undo for the layout means ou have to store the positions of all nodes. So eventually I'm afraid we won't be able to do undo on all actions which would make the system awkward to use. It's not an impossible task though but we need to do it right. We need a good API and action implementation, as lightweight as possible for modules. We also need an implementation that can control the amount of memory it uses and possibly use the disk to serialize objects. Maybe it could be a proposal for next's year GSoC?

bentwonk
Posts:7
Joined:11 Mar 2011 00:29
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Undo, please

Post by bentwonk » 29 Aug 2011 22:29

Would it be possible to have a rolling auto-save in the background? I know its not a true undo, but it could allow the user to jump back a few steps without needing to be integrated into every module.

CaseSensitive
Posts:2
Joined:04 Nov 2014 11:03
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Undo, please

Post by CaseSensitive » 05 Nov 2014 14:21

Are there any updates on this topic? Is the suggestion made by Bentwonk viable? The lack of a similar function is a great inconvenience, and not only to new users.

Kéfren Cezar
Posts:2
Joined:11 Nov 2014 00:30
Location:Brazil
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Undo, please

Post by Kéfren Cezar » 04 Dec 2014 13:08

Excellent idea, however is a lot of work to implement the logic of undo. My supervisor of my scientific initiative, it is common User is complicated for her most of the time, it was pretty hard to convince her to drop other tools for graphs and start using gephi. We set up the development environment here in my lab machine, I am implementing a way to export large-scale graphs in vectorized images. When finished I try to make this logic unwinding.

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable