SlideShare a Scribd company logo
Autograph: an evolving lightweight graph tool
Joan Vilaltella
Universitat Polit`ecnica de Catalunya
Barcelona, March 18th 2015
Joint work with Miquel `Angel Fiol
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Educational software that can be used for graphs: GeoGebra,
Cabri...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Educational software that can be used for graphs: GeoGebra,
Cabri...
Specifically graph-theoretical software: Grinvin, GraphThing,
Pigale...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Educational software that can be used for graphs: GeoGebra,
Cabri...
Specifically graph-theoretical software: Grinvin, GraphThing,
Pigale...
Graph visualization tools/libraries: Graphviz, matplotlib...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Educational software that can be used for graphs: GeoGebra,
Cabri...
Specifically graph-theoretical software: Grinvin, GraphThing,
Pigale...
Graph visualization tools/libraries: Graphviz, matplotlib...
Diagram editors: yEd, Dia, Inkscape...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Motivation
Graph software libraries: NetworkX (Python), Lemon (C),
JUNG (Java), python-pygraph...
Scientific software with graph theory functions: Sage, GAP,
Magma, Maple...
Educational software that can be used for graphs: GeoGebra,
Cabri...
Specifically graph-theoretical software: Grinvin, GraphThing,
Pigale...
Graph visualization tools/libraries: Graphviz, matplotlib...
Diagram editors: yEd, Dia, Inkscape...
Why another graph tool?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
NetworkX is awesome, but it is a software library, not an
editing application.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
NetworkX is awesome, but it is a software library, not an
editing application.
yEd is really nice, but just a diagram editor, with no graph
theory functions.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
NetworkX is awesome, but it is a software library, not an
editing application.
yEd is really nice, but just a diagram editor, with no graph
theory functions.
Sage is awesome, but the included graph editor is very simple.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
NetworkX is awesome, but it is a software library, not an
editing application.
yEd is really nice, but just a diagram editor, with no graph
theory functions.
Sage is awesome, but the included graph editor is very simple.
Other examples have their own drawbacks...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Frustration
Sometimes you just want to draw a graph and obtain the
value of a simple graph property.
NetworkX is awesome, but it is a software library, not an
editing application.
yEd is really nice, but just a diagram editor, with no graph
theory functions.
Sage is awesome, but the included graph editor is very simple.
Other examples have their own drawbacks...
...and graph theory or visualization awesomeness may lead to
graph drawing frustration.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Geometric transformations: translate, rotate, mirror and scale.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Geometric transformations: translate, rotate, mirror and scale.
Real-time updating of basic graph properties (order, size,
connectivity...) with every modification.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Geometric transformations: translate, rotate, mirror and scale.
Real-time updating of basic graph properties (order, size,
connectivity...) with every modification.
Basic graph operations: disjoint union, complement graph,
line graph, isomorphism checking.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Geometric transformations: translate, rotate, mirror and scale.
Real-time updating of basic graph properties (order, size,
connectivity...) with every modification.
Basic graph operations: disjoint union, complement graph,
line graph, isomorphism checking.
More advanced graph operations: algebraic properties, notable
invariants (at least for small graphs if calculations are hard).
Joan Vilaltella Autograph: an evolving lightweight graph tool
Wish list
Easy editing: create and delete nodes and edges, split and
contract edges, move nodes (with edges moving on their own).
Undo/redo: retract and retrieve many operations, up to a
reasonable number (you don’t really need to take back a
thousand operations).
Geometric transformations: translate, rotate, mirror and scale.
Real-time updating of basic graph properties (order, size,
connectivity...) with every modification.
Basic graph operations: disjoint union, complement graph,
line graph, isomorphism checking.
More advanced graph operations: algebraic properties, notable
invariants (at least for small graphs if calculations are hard).
Topological drawing: Euclidean plane, torus, Klein bottle,
projective plane.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Screenshot 1
Joan Vilaltella Autograph: an evolving lightweight graph tool
Screenshot 2
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Is there an efficient practical algorithm for property Y ?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Is there an efficient practical algorithm for property Y ?
How can the already working code be simplified?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Is there an efficient practical algorithm for property Y ?
How can the already working code be simplified?
Is the proposed application layout adequate or convenient?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Is there an efficient practical algorithm for property Y ?
How can the already working code be simplified?
Is the proposed application layout adequate or convenient?
...?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Questions for the work in progress
What is missing?
Could feature X be added to the application?
Is there an efficient practical algorithm for property Y ?
How can the already working code be simplified?
Is the proposed application layout adequate or convenient?
...?
You may view this work as just a proposal and an invitation
for alternative developments. What is your wish list?
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Multiple edition areas, possibly using tabs as in web browsers.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Multiple edition areas, possibly using tabs as in web browsers.
Database to store interesting graphs and speed up some
calculations.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Multiple edition areas, possibly using tabs as in web browsers.
Database to store interesting graphs and speed up some
calculations.
Support for loops, multiple edges and directed edges.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Multiple edition areas, possibly using tabs as in web browsers.
Database to store interesting graphs and speed up some
calculations.
Support for loops, multiple edges and directed edges.
Graphs in 3D.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Possible future improvements
Sage interoperability (partial success).
Compatibility with the main graph formats: TGF, graph6,
sparse6, GraphML...
Replace Tkinter interface by a more modern one (pygame?,
pyglet?, ...?).
Replace Python language by C language, and use the Lemon
library, for speed.
Multiple edition areas, possibly using tabs as in web browsers.
Database to store interesting graphs and speed up some
calculations.
Support for loops, multiple edges and directed edges.
Graphs in 3D.
Suggestions are welcome.
Joan Vilaltella Autograph: an evolving lightweight graph tool
Thank you
Thanks for your attention.
If you are interested in the Autograph application, you may visit:
http://www.ecograph.org/
There you can:
Simply download the latest version of the application to use it.
Or look at the (still untidy) source code, under GPL-type
license.
e-mail: joanvilaltella@gmail.com
Joan Vilaltella Autograph: an evolving lightweight graph tool

More Related Content

PDF
XML Bible
PPTX
20110830 Introducing the Social Media Research Foundation
PPTX
Dev8d 2011-gephi
PDF
Home Safety Checklist
PPTX
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
PDF
Network x python_meetup_2015-08-27
PDF
Graph Drawing and Applications for Software and Knowledge Engineers Kozo Sugi...
PDF
GraphTech Ecosystem - part 3: Graph Visualization
XML Bible
20110830 Introducing the Social Media Research Foundation
Dev8d 2011-gephi
Home Safety Checklist
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
Network x python_meetup_2015-08-27
Graph Drawing and Applications for Software and Knowledge Engineers Kozo Sugi...
GraphTech Ecosystem - part 3: Graph Visualization

Similar to Autograph: an evolving lightweight graph tool (20)

PDF
Introduction to the graph technologies landscape
PDF
Introduction to the graph technologies landscape
PDF
Ijciet 10 01_183
PPT
Information technology Researhc Tools in IT
PDF
2009-C&T-NodeXL and social queries - a social media network analysis toolkit
PDF
Graph Drawing and Applications for Software and Knowledge Engineers Kozo Sugi...
PDF
Graph-Tool in Practice
PDF
Graph Realities
PDF
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
PPTX
A comparative study of social network analysis tools
PPTX
Networkx & Gephi Tutorial #Pydata NYC
PPT
IT_Tools_in_Research.ppt
PDF
Graph visualization options and latest developments
PPTX
Discrete mathematics presentation related to application
PPTX
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
PDF
SP1: Exploratory Network Analysis with Gephi
PDF
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
PDF
Know your dependencies
PDF
JavaScript InfoVis Toolkit Overview
PDF
Gephi icwsm-tutorial
Introduction to the graph technologies landscape
Introduction to the graph technologies landscape
Ijciet 10 01_183
Information technology Researhc Tools in IT
2009-C&T-NodeXL and social queries - a social media network analysis toolkit
Graph Drawing and Applications for Software and Knowledge Engineers Kozo Sugi...
Graph-Tool in Practice
Graph Realities
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
A comparative study of social network analysis tools
Networkx & Gephi Tutorial #Pydata NYC
IT_Tools_in_Research.ppt
Graph visualization options and latest developments
Discrete mathematics presentation related to application
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
SP1: Exploratory Network Analysis with Gephi
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
Know your dependencies
JavaScript InfoVis Toolkit Overview
Gephi icwsm-tutorial
Ad

More from Graph-TA (20)

PDF
Computing on Event-sourced Graphs
PDF
Using Evolutionary Computing for Feature-driven Graph generation
PDF
Reactive Databases for Big Data applications
PDF
The scarcity of crossing dependencies: a direct outcome of a specific constra...
PDF
Holistic Benchmarking of Big Linked Data: HOBBIT
PDF
Identifiability in Dynamic Casual Networks
PDF
Polyglot Graph Databases using OCL as pivot
PDF
Benchmarking Versioning for Big Linked Data
PDF
Synthetic Data Generation using exponential random Graph modeling
PDF
Use of Graphs for Cloud Service Selection in Multi-Cloud Environments
PDF
Graphalytics: A big data benchmark for graph-processing platforms
PDF
Modelling the Clustering Coefficient of a Random graph
PPTX
RDF Graph Data Management in Oracle Database and NoSQL Platforms
PPTX
GRAPHITE — An Extensible Graph Traversal Framework for RDBMS
PPTX
On the Discovery of Novel Drug-Target Interactions from Dense SubGraphs
PDF
Graphalytics: A big data benchmark for graph processing platforms
PPTX
Understanding Graph Structure in Knowledge Bases
PDF
Finding patterns of chronic disease and medication prescriptions from a large...
PDF
Recent Updates on IBM System G — GraphBIG and Temporal Data
PDF
Analysing the degree distribution of real graphs by means of several probabil...
Computing on Event-sourced Graphs
Using Evolutionary Computing for Feature-driven Graph generation
Reactive Databases for Big Data applications
The scarcity of crossing dependencies: a direct outcome of a specific constra...
Holistic Benchmarking of Big Linked Data: HOBBIT
Identifiability in Dynamic Casual Networks
Polyglot Graph Databases using OCL as pivot
Benchmarking Versioning for Big Linked Data
Synthetic Data Generation using exponential random Graph modeling
Use of Graphs for Cloud Service Selection in Multi-Cloud Environments
Graphalytics: A big data benchmark for graph-processing platforms
Modelling the Clustering Coefficient of a Random graph
RDF Graph Data Management in Oracle Database and NoSQL Platforms
GRAPHITE — An Extensible Graph Traversal Framework for RDBMS
On the Discovery of Novel Drug-Target Interactions from Dense SubGraphs
Graphalytics: A big data benchmark for graph processing platforms
Understanding Graph Structure in Knowledge Bases
Finding patterns of chronic disease and medication prescriptions from a large...
Recent Updates on IBM System G — GraphBIG and Temporal Data
Analysing the degree distribution of real graphs by means of several probabil...
Ad

Autograph: an evolving lightweight graph tool

  • 1. Autograph: an evolving lightweight graph tool Joan Vilaltella Universitat Polit`ecnica de Catalunya Barcelona, March 18th 2015 Joint work with Miquel `Angel Fiol Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 2. Motivation Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 3. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 4. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 5. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Educational software that can be used for graphs: GeoGebra, Cabri... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 6. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Educational software that can be used for graphs: GeoGebra, Cabri... Specifically graph-theoretical software: Grinvin, GraphThing, Pigale... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 7. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Educational software that can be used for graphs: GeoGebra, Cabri... Specifically graph-theoretical software: Grinvin, GraphThing, Pigale... Graph visualization tools/libraries: Graphviz, matplotlib... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 8. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Educational software that can be used for graphs: GeoGebra, Cabri... Specifically graph-theoretical software: Grinvin, GraphThing, Pigale... Graph visualization tools/libraries: Graphviz, matplotlib... Diagram editors: yEd, Dia, Inkscape... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 9. Motivation Graph software libraries: NetworkX (Python), Lemon (C), JUNG (Java), python-pygraph... Scientific software with graph theory functions: Sage, GAP, Magma, Maple... Educational software that can be used for graphs: GeoGebra, Cabri... Specifically graph-theoretical software: Grinvin, GraphThing, Pigale... Graph visualization tools/libraries: Graphviz, matplotlib... Diagram editors: yEd, Dia, Inkscape... Why another graph tool? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 10. Frustration Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 11. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 12. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. NetworkX is awesome, but it is a software library, not an editing application. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 13. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. NetworkX is awesome, but it is a software library, not an editing application. yEd is really nice, but just a diagram editor, with no graph theory functions. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 14. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. NetworkX is awesome, but it is a software library, not an editing application. yEd is really nice, but just a diagram editor, with no graph theory functions. Sage is awesome, but the included graph editor is very simple. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 15. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. NetworkX is awesome, but it is a software library, not an editing application. yEd is really nice, but just a diagram editor, with no graph theory functions. Sage is awesome, but the included graph editor is very simple. Other examples have their own drawbacks... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 16. Frustration Sometimes you just want to draw a graph and obtain the value of a simple graph property. NetworkX is awesome, but it is a software library, not an editing application. yEd is really nice, but just a diagram editor, with no graph theory functions. Sage is awesome, but the included graph editor is very simple. Other examples have their own drawbacks... ...and graph theory or visualization awesomeness may lead to graph drawing frustration. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 17. Wish list Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 18. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 19. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 20. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Geometric transformations: translate, rotate, mirror and scale. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 21. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Geometric transformations: translate, rotate, mirror and scale. Real-time updating of basic graph properties (order, size, connectivity...) with every modification. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 22. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Geometric transformations: translate, rotate, mirror and scale. Real-time updating of basic graph properties (order, size, connectivity...) with every modification. Basic graph operations: disjoint union, complement graph, line graph, isomorphism checking. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 23. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Geometric transformations: translate, rotate, mirror and scale. Real-time updating of basic graph properties (order, size, connectivity...) with every modification. Basic graph operations: disjoint union, complement graph, line graph, isomorphism checking. More advanced graph operations: algebraic properties, notable invariants (at least for small graphs if calculations are hard). Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 24. Wish list Easy editing: create and delete nodes and edges, split and contract edges, move nodes (with edges moving on their own). Undo/redo: retract and retrieve many operations, up to a reasonable number (you don’t really need to take back a thousand operations). Geometric transformations: translate, rotate, mirror and scale. Real-time updating of basic graph properties (order, size, connectivity...) with every modification. Basic graph operations: disjoint union, complement graph, line graph, isomorphism checking. More advanced graph operations: algebraic properties, notable invariants (at least for small graphs if calculations are hard). Topological drawing: Euclidean plane, torus, Klein bottle, projective plane. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 25. Screenshot 1 Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 26. Screenshot 2 Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 27. Questions for the work in progress Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 28. Questions for the work in progress What is missing? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 29. Questions for the work in progress What is missing? Could feature X be added to the application? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 30. Questions for the work in progress What is missing? Could feature X be added to the application? Is there an efficient practical algorithm for property Y ? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 31. Questions for the work in progress What is missing? Could feature X be added to the application? Is there an efficient practical algorithm for property Y ? How can the already working code be simplified? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 32. Questions for the work in progress What is missing? Could feature X be added to the application? Is there an efficient practical algorithm for property Y ? How can the already working code be simplified? Is the proposed application layout adequate or convenient? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 33. Questions for the work in progress What is missing? Could feature X be added to the application? Is there an efficient practical algorithm for property Y ? How can the already working code be simplified? Is the proposed application layout adequate or convenient? ...? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 34. Questions for the work in progress What is missing? Could feature X be added to the application? Is there an efficient practical algorithm for property Y ? How can the already working code be simplified? Is the proposed application layout adequate or convenient? ...? You may view this work as just a proposal and an invitation for alternative developments. What is your wish list? Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 35. Possible future improvements Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 36. Possible future improvements Sage interoperability (partial success). Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 37. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 38. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 39. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 40. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Multiple edition areas, possibly using tabs as in web browsers. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 41. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Multiple edition areas, possibly using tabs as in web browsers. Database to store interesting graphs and speed up some calculations. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 42. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Multiple edition areas, possibly using tabs as in web browsers. Database to store interesting graphs and speed up some calculations. Support for loops, multiple edges and directed edges. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 43. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Multiple edition areas, possibly using tabs as in web browsers. Database to store interesting graphs and speed up some calculations. Support for loops, multiple edges and directed edges. Graphs in 3D. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 44. Possible future improvements Sage interoperability (partial success). Compatibility with the main graph formats: TGF, graph6, sparse6, GraphML... Replace Tkinter interface by a more modern one (pygame?, pyglet?, ...?). Replace Python language by C language, and use the Lemon library, for speed. Multiple edition areas, possibly using tabs as in web browsers. Database to store interesting graphs and speed up some calculations. Support for loops, multiple edges and directed edges. Graphs in 3D. Suggestions are welcome. Joan Vilaltella Autograph: an evolving lightweight graph tool
  • 45. Thank you Thanks for your attention. If you are interested in the Autograph application, you may visit: http://www.ecograph.org/ There you can: Simply download the latest version of the application to use it. Or look at the (still untidy) source code, under GPL-type license. e-mail: joanvilaltella@gmail.com Joan Vilaltella Autograph: an evolving lightweight graph tool