Banner Zenit, Scientific & ICT Services



Ordinary editors and word processors are designed to create and edit text in a linear way. Although you can add headings and other formatting devices, the text essentially starts at the top and finishes at the bottom and you may have to scroll though dozens to screens or pages to read it. That is fine for reading, but for thinking about the text, a different format can be helpful. Microsoft Word offers an outline view, but this is barely adequate for most purposes. I have played with mind mapping software and used the mind mapping template in Visio and although the tools are useful for thinking about a subject, the result cannot be easily converted into the linear format required for documents. So it was with pleasure that I found a neat piece of software called TreePad. This allows one to create and edit text in a tree representation, allowing the whole content of a document to be summarized in one line (the root node) or expanded in any number of levels in a very flexible way. The resulting file is a simple ASCII file, unfortunately not XML format, but easy enough to manipulate programmatically to suit a wide variety of purposes. Indeed, a number of utilities are already available to create XML files, export to Excel, or create a set of HTML pages.

My particular requirement was the ability to create a test script for a project that I am currently working on. One often sees test scripts presented in a linear format in a Word or Excel table, but how can the script be written in the first place or checked; a long list of instructions does not provide sufficient context to understand what is being tested and why and gives no confidence that everything has been tested. Writing the script in a hierarchical way makes the whole exercise much easier and gives much more confidence that everything has been covered.

Two additional tools are needed to help make sense of a tree structure when it is converted into a linear presentation. The first is the ability to name each node in such a way that it can be sorted correctly. The second is a function to 'calculate' the tree. Two types of calculation can be performed. The first is summing the leaves of the tree correctly to give a total sum for the root node. An example of this is the Windows Explorer program when it calculates the size of the directly based on the sizes of the individual files. The second type is what I call the Pass/Fail indicator: here if a single leaf has a fail result, then the whole tree must report a fail result. But it is then simple to navigate the tree to locate the failed leaf. I found that the creating of the algorithms for these calculations was the most complex programming task I have attempted; but then I never learned these at college since I did not take a computer science degree.

The basic TreePad version is free, and is offered to sell the more interesting latest version of the program that can handle rich text format, graphics and HTML content. Another piece of software called The Brain is also interesting, but this, I feel, is more a triumph of design over function as it is not simple to get hold of the data for one's own purposes.

Once you have tried a tree editor, a flat editor will always seem ... well, flat!

Richard Blazek

© 2005-6