Program visualization holds great potential for conveying information about the state and behavior of a running program. However, barriers exist to the realization of this potential, and the limited knowledge about the factors that affect program visualization makes the identification of these barriers difficult. We present arguments that the economy of information and tasks related to the visualization environment has a significant impact on the user's performance in solving algorithmic problems. We apply this knowledge to develop an approach for creating application-specific visualizations solely through interactions with program visualizations and textual views of the computation, thus promoting economy of interaction. The approach consists of a multiple technical contributions that are surveyed in the paper.