The GUI is just an addition to the actual toolbox functions. Although some users may exclusively use the GUI, it is important to separate GUI and functions.
To some extent it is a matter of taste which interface a user prefers, command line or GUI. If it comes to the internal design of the toolbox, it is not a matter of taste any more, but a strict requirement to fully separate function and (graphical) interface.
To give just a few important reasons for separating (graphical) interface and function:
Taking together the reasons for separating (graphical) interface and function as layed out above leads to a set of rules for interface design:
To be continued…