In other words:
- concept mapping
- knowledge vizualization
- interconnected note-taking
Wikipedia says:
How to mindmap:
Existing free projects:
kdissert -- for KDE
FreeMind -- Java
GnuConcept -- PyGtk
NoteCase (outliner, hierarchical text notes organizer)
vym -- uses Qt
Psycho -- Mono, Cairo, Gtk#
Proprietary software:
http://headrush.typepad.com/creating_passionate_users/2005/04/why_i_want_a_ta.html
Inspiration 8, the most popular mind-mapping tool in American schools. (Example mindmap)
I just had to include a screenshot, because Inspiration's UI is amazing. I think it would be a good example to follow. - GabrielHurley
There is also overlap with "desktop wiki"-style programs:
Gnome needs tools like this. However, let's not limit ourselves to existing ideas of how such tools should work:
- existing tools rely on the user to position boxes: how about a tool that can do the positioning itself?
- existing tools rely on the user to link boxes: how aobut a tool that can infer the relationships between things?
- existing tools rely on notes being kept within the mind map: how about a tool that can be used to catalogue and collect existing documents, bookmarks, contacts?
Framework Proposals
Could a short term goal be to extend an existing application with some Gnome platform magic like EDS integration and some Cairo wonders at the user interface? There seem to be an interest among Freemind users at least - me included.
- Do you have any ideas about how to use information from EDS?
I wrote python bindings to EDS. These are now (GNOME 2.22) available in python-gnome-desktop -- JohnStowers
Yes. There is an effort for trying to get a Swig interface to EDS. The current work just do this for Ruby, but with some struggeling this could be expanded to also support Java. Then it should be possible to get Freemind to talk with EDS.
- That describes *how* we might information from EDS, but not what we would use it for. Besides, I think the best bet is for the DBus port of EDS to get merged.
- Possible usage of EDS:
Create tasks directly from the MindMapping tool. Personally when I work with MindMapping tool it often includes writing down some task which today gets tagged in Freemind with icons, but a more elegant solution would be to create tasks in EDS
- Create Memos. With the new memo support in Evolution a possible usage would be to create memo directly in EDS or export the whole mindmap as text based memo.
- Link mindmap nodes with persons/contacts. For instance when making a task one could also set a responsible person (like task delegation in Outlook)
birger's ideas:
- A high level library to abstract mind mapping/topic mapping from the persistant storage issues.
- based on TMAPI? (TM++, topiengine and others may be worth a look)
- work with internal format. perhaps embedded sql base as tmapi does.
- gvfs binding for the above library enabling nautilus to navigate a mind/topic map as a file structure. Internal objects are represented as files, external objects as soft links.
- Other apps can still see ~/Desktop as a file system that changes as you move nodes around.
- The framework should have support for ACL's within the map. The owner of a map can decide how and where others can contribute. E.g. a publicly-writable 'brainstorm' branch and only some participants can move nodes from brainstorm into the other branches.
Starting with some existing complete TMAPI-compatible framework and just using the parts of the API needed for simple mindmaps would be the way to go IMO. Get a well-structured app up and running, and then start extending it to become a full topic map editor. But one that can be as simple as Labyrinth by default.
Collaboration would have to be thought of and planned for, but implementation would need a standardized api for collaboration and I have not seen such a beast yet. The api should be able to cooperate with empathy/telepathy and MS OCS as a minimum. The OpenOffice developers should come aboard on the collaboration issue as well.
Feature Requests
- Plugins enabling import and export from/to XTM/ 13250/FreeMind/MindManager/whatever
- easy keyboard shortcuts (possibility to switch between layouts?)
- context menus where users can switch on/off menu entries through properties. These properties are stored in documents and templates so menus can be complex only in maps that need them.
- Full 3D mode.
- A 'Desktop' mindmap to replace the ordinary gnome/nautilus desktop.
- Menu shortcuts in other gnome apps to send data to the desktop.
- Think of basket / onenote functionality in a mindmapper running as your backdrop.
Open Clipart Gallery integration