25.2 Requirements to the Algorithm Animator
In this section we discuss the capabilities the ideal algorithm animator should possess. Marc Brown [Bro88] makes a distinction between the view designer and the algorithmathematician. The view designer understands the programming environment and knows how to implement new views. The algorithmathematician is a theorist with a mathematical background who understands algorithms. In Brown's system the algorithmathematician takes the works of the view designer and synchronizes it with the algorithm by annotating the algorithm with interesting events that trigger an animation action in the graphical representation.
While developing Animated Algorithms we found that almost every group of associated algorithms (e.g., algorithms which find the convex hull of a set of points) requires a different view. It also became obvious that to specify a meaningful view of an algorithm, the view designer needs to have a thorough understanding of the algorithm. The people developing the animations were algorithm experts and therefore fitted into Brown's category of algorithmathematician. But contrary to Brown's functional job division, every algorithmathematician developed his own views from scratch. Based on this experience we request that the two functions of algorithmathematician and view designer be unified in one person. To produce educationally appealing animations, the combination of both roles delivers optimal results: the algorithmathematician's own visualization of a process provides the insight necessary to make the animation a valuable teaching tool.
Contrarily to systems like Balsa where animations are built with predefined views that can be extended by a procedural programming language, we prefer a scripting language-based approach as provided by the HyperCard/HyperTalk environment where animation primitives like objects for sorting can be controlled by the scripting language. The scripting language gives the algorithmathematicians the flexibility to implement their own views and does away with the need for specialized view designers.