MindManager’s dedicated set of progress symbols provides a versatile tool for measuring how a task is proceeding. The default quartile progress levels (0, 25%, 50%, 75% and 100%) can be supplemented by including additional markers for 10%, 35%, 65% and 90% either in the Map Index or in the context menu for a specific task. Alternatively, they can be edited to limit choices, for example, to only three (0, 50%, 100%) or two (0 and 100%) options, or even just one (100%).
It’s not just tasks which require a status update. Inventories, retail orders, questionnaires and even shopping lists are examples where you might want to the ability to mark whether something is present, has been ordered, supplied or answered. Usually in these cases you simply want to tick a box, or leave it unticked, so the ability to reduce progress levels to a couple of options means that the progress symbols can be easily adapted for this task.
However, there are stylistic and practical limitations which may make these symbols unsuitable in some circumstances:
- The progress icons look like, well, progress icons, which may not be desired if you want a list to look literally like a checklist.
- Reducing the number progress options simplifies their use in checklists, but this reduction affects the availability of these options across the whole map.
- MindManager automatically assumes that any topic which has any task information (except priority) is itself a task. This includes the progress icons, and can impact the behaviour of topics and their parents in maps to which Task Roll-up has been applied.
The last point is potentially the most serious issue, but it needs a bit of illustration.
I’ve set up a simple hypothetical map of the tasks involved in holding a party, as shown below. The tasks are rolled up so the central topic shows the overall level of progress and the planned date of completion. One of the tasks is Go shopping, and I’ve added a basic shopping list to this task:
I’ve set a date for this task, which is fine, but when I add progress icons to the items on the list the date is overridden, and in fact disappears entirely. This is because MindManager now regards the items on the list as undated tasks, so consequently the parent is undated:
The Alpha alternative
There does not seem to be any way around this behaviour. I decided to explore alternative approaches, especially ones that would also address the first two points. The best option I could find is set up an alternative set of icons to be used specifically in checklists with, say, only two options, ticked and unticked. There are a number of candidates, but the best seem to the be the empty box and ticked box options that can be found in the different-coloured alphabetical icon sets in the MM Alpha folder under Icons in the Library tab.
Of these the most “realistic” are those found in the white alpha set. I set up a new icon group in the Map Index called Purchased and added just the empty box (to represent negative or incomplete items) and the ticked box from this set:
I then added the unticked icon to all the items on the list; note that at this stage these icons, ticked or unticked, do not affect the progress status of the Go shopping task:
As there are only two options in the Purchased group, if you click on the empty box icon an individual item it will change to a ticked box, and vice versa.
What if you do want to roll up the status of items on the list to the parent task? I’m assuming that in most cases people would like to show the Go shopping task as completed only when all the items on the list have been purchased (I’ll discuss other potential scenarios later).
There are several approaches, but the easiest is to compare the number of purchased items on the list with the total number of items – obviously, only when the former equals the latter will the overall Go shopping task be completed. This is actually slightly more complicated than it should be; despite being able to show the the count of sub-topics, MM does not show this count in a way that can be accessed or referenced easily within a topic.
There are two ways to overcome this. If you have the MAP add-in you can use either its the Sub-Topics (Children) or Sub-Topics (Descendants) Extended Properties to provide the sub-topic count. Alternatively, you can use MM’s own facilities to create a standard Topic Property to act as a “counter” for each item on the list which can then be counted on the parent topic. In this example I have created such a property – I’ve called it “List” – with the number format and a value of 1.
This property and value were then copied to all the items on the shopping list. You can also create a dummy topic with both a blank tick box and the List topic property and value, then save it as a map part which you can paste into the list when required.
The next step is to create the process to provide the capacity to count the number of items which have been purchased, ie, those which have a tick. In this example I selected the first item and created a numeric Topic Property call “Yes”. Then I created the a Yes SmartRule in which the trigger is the ticked box icon. This has two effects; the main one is to add the number 1 to the Yes Topic Property (I’ve also incorporated a second effect which is to add a green fill colour, but this is optional):
I’ve assumed that not all items have been purchased so the shopping list now looks like this:
You now need to add a some formulas and a SmartRule to the parent topic. The formulas are straight-forward and you could actually combine them in one, but to show the steps involved I’ve created three. There are also some advantages to splitting up the formulas, as it makes them easier to follow and correct if you get the formula syntax wrong.
The first formula simply counts the number of sub-topics (in this case, descendants rather than children of the parent topic) with a number in the list property, which should be the total number of items. Meanwhile, the second formula counts only those sub-topics with a ticked box:
The third formula establishes whether the two counts are equal and relies on an MM formula comparison operator (note the double equal sign). If the condition is true, ie, the List count equals the Yes count – ie, all items in the list have been purchased, this will return a 1 in the List Complete Topic property created by the formula. In all other circumstances it will return 0:
[List Complete]=[Yes Tot]==[List Tot]
The final bit of the puzzle is adding a SmartRule which will apply the 100% – finished Progress icon to the parent topic if the List Complete topic property is equal to 1. I’ve also added the Kanban Done tag as a second effect; the default Highlight Completed Tasks SmartRule will apply the automatically apply a green topic fill colour.
Changing the threshold
This technique can be adapted to work with other completion thresholds using MM’s formula comparison operators. For example, if the parent task can be regarded as complete when 70% or more of the items on the list are purchased (or completed), the final formula would like like this:
[List Complete]=[Yes Tot]>=([List Tot]*.7)
Conversely, you could set a minimum threshold, for example to flag that the list needs attending to if it is less than 50% complete:
[Attention]=[Yes Tot]<([List Tot]*.5)
These thresholds can be combined with aspects of the parent task such as due date. Bear in mind however that if the default MindManager Highlight At-Risk and Highlight Past-Due Tasks rules are in place and ranked higher in the SmartRules list these will override any SmartRules you add based on thresholds in terms of applying effects such as topic fill colour.