I have put together a list of features sorely missing from most mind-mapping programs. We use mind maps in education: Students, Clients, Colleagues.
The article @ http://coretopics.wordpress.com/2012/12/06/mindmapping-software-usage-wishlist/
was written so that documentation of feature requests could evolve as we try newer versions and visualizing feature requests are easier using html pages than plain text paragraphs.
Still I will add details from the article here. The list consists of
1. Execute scripts on selecting nodes in Presentation views
A feature like this can be used to do things like generate a log of topics discussed with your client during your appointment with them. A process you offer as a service to clients can be made into a mind map. During customer appointments, if Mindmaps support scripting like they appear in apps like Omnigraffle, one could easily create documentation as they traverse the mindmap with the customer. With version control, using major and minor versions, and descriptive messages, each customer can be maintained as a mindmap where each major revision 1.00, 2.00 is a customer appointment in office and each minor version like 1.01 or 2.12 would be emails the customer sent you about clarificiations about some aspect of the process between the appointments in office or additions to the mindmap you made and need to discuss with the client during the next appointment.
If scripts could enable or disable nodes, it should be conditional based on whether the environmental variables are set to say something like "Student" or "Colleagues" so then we can implement a sort of access modifier for some information on the mind map that will not show up in presentation when the environment variable is set to "Student".
Run script on open or on close could allow the user automatically save a new version everytime a mind map is open or used & exited. Or if the software developer were to implement a toggle state for the nodes in a mind map, a startup script could be used to reset the toggle state of nodes to "all deselected".
2. Mouse Clicks
Since selecting a node is left click and context sensitive menu is right click, middle click should execute the script attached to the node.
Environment variables could be used in a variety of ways. If I could set up an ENV_variable called ClientName, and could use it as the description of a branch in the current version or set up a variable that when set to "Colleagues" would enable all nodes in the mind map, say nodes on advanced and basic topics like during a presentation of the mind-map infront of my colleagues. When set to "Clients", node attributes and scripting will decide which nodes will be shown during presentation mode infront of clients. So the same mind-map can be used for 2 different presentations without duplicating the mind-map.
4. Node features
If nodes could have attributes that do not show up in presentations, it would become possible to do things like when you set the environment variable to "Colleagues", all nodes with attributes set to "Colleagues" would be enabled/disabled.
A toggle state for each node so that it is possible when discussing a mind map to mark that some findings described on a mind map are valid for that current session. Say I am talking to someone explaining their risk of having lung cancer, and I wished to do data collection in parallel, Wished there was a way when I clicked on the riskfactor entries on the mind map, they would toggle between and on and off state. Then upon clicking the parent node would log the enabled nodes into a text file.
5. Insert background images upon which mind-map nodes can be overlayed.
If there was an option to positon a background image behind the nodes of the mind map, we could have organized parents and children to regions of an image, something which boundary feature cannot do at present.
Say a certain procedure gets done in 2 different locations, if there was a way to insert an image showing a floor map of the building, could have grouped nodes belonging to each of those locations overlayed upon those images.
6. Insert a background Note
To display dynamic text would have been a boon for presenters to display text defined in attributes of a node during presentation. Say when explaining a "process" involving buying items, if there was a dynamic text area on-screen to show the price of each node as they get selected.
Besides such a note could be used to organize the canvas into sections with text descriptions and nodes of the mind-map could be overlayed upon them.
Hope to see these features in newer versions of FreeMind soon.