Hacker News new | ask | show | jobs
by jmiskovic 2531 days ago
Lately I've started using DrawExpress mobile app. It fits your description. A bit finicky, but I've adapted to its quirks. Swiping keyboard on phones is a quick way to enter a bit of text on node, and it fits well with gesture-based interface. The only problem, I find myself spending too much time manually arranging node positions.

Regarding structure, I agree with you that directed graph is most powerful. But for visualization and editing I would propose shaping graph into a tree. This reshaping can be done many ways, it's like a query into a DB. Here's a quick mockup made in yEd: https://i.imgur.com/LGTNbuz.png

While directed graph is necessary for internal data representation, tree structure is a perfect fit for many specific cases: categorization; argumentation (like this HN thread); tagging/grouping; lisp s-expressions. Trees capture those things beautifully, while enabling easy navigation with arrow keys or finger swipe.

Reshaping into tree allows for some neat layouts. For example, by scaling geometry down with each child, your whole graph can fit inside predictable area, without any node overlapping. See more here: http://treevis.net/

One could add a reactive capabilities to each graph node. The node would respond to different triggers by changing it's attributes, or relations to other nodes. The graph/tree can be built step by step via triggering specific node responses (add child, delete node, connect/disconnect). Responses could also change node attributes, to bring interactivity and ability to simulate mental models.

This is what I'm working on in spare time, but these days the bread-bringing job drains my energy away :( \

Great thread, BTW.