Another nice feature would be a search function.
If you know the name of one of the node titles, entering it should take you to it's location in the graph.
This would help out in navigating those > 100 node cases.
This is a great idea for a start. Better, assuming nodes contained text and the limit was considerably > 32k, would be a fully featured search engine with stemming, synonym etc and proximity (within paragraphs, adjacent paragraph... since that has semantic relevance), text segments like... semantic searching? and clusters search results.
Some sort of search capability seems like a very important feature.
At least, the ability to set a node as a "key node" with feature to select from list of key nodes.
A thought map shouldn't have a top node really, but key nodes definately are necessary to allow for a safe place to return to when the path forward or backward becomes confused when browsing...
Also, even though a node might not have text at all (just a thumbnail image perhaps?), it would still be nice to be able to search for nodes based on content of hints...
But you are right, a search feature for TouchGraph (implemented correctly) isn't a small task.
Oddly enough, I had modified TouchGraph a while back to add the simple search functionality the original poster had mentioned. It allowed the user to search by the node title, and it would hide the current graph and redisplay a new graph centred on the search selection if found. It also had a "Next" button that would scroll to the next match if there was one.
It only found direct matches, but I've been toying with the idea of modifying it for my client to accept partial matches and ranking the matches by relevance.
I hadn't considered anything nearly so complicated as semantic searching as mentioned above. That would be really cool.
... Because this would be Essential functionality for many applications. For instance, imagine a relationship database where you only want to see 2-chains distance from the center. Search for a node... and then imagine drag+drop onto the selected node to establish an edge between them! Super cool.
Also, in a community respect (since I'm a community organizer), you could do cool things like...
* search for all nodes (people,organizations,donors, whatever) with similar interests.
* compare needs/asset lists...
Imagine being able to say, "show me all the folks within three chains of me OR who live in the same town who's 'I'd like to learn..." list scores high compared with me "I can teach/have these skills" list.
But step one, to me, is taking in GXL, and being able to save in that format. See "Future developments" for a post on that.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.