The Community for Technology Leaders
RSS Icon
Issue No.06 - November/December (2009 vol.15)
pp: 1097-1104
Michael Ogawa , University of California, Davis
Kwan-Liu Ma , University of California, Davis
In May of 2008, we published online a series of software visualization videos using a method called code_swarm. Shortly thereafter, we made the code open source and its popularity took off. This paper is a study of our code swarm application, comprising its design, results and public response. We share our design methodology, including why we chose the organic information visualization technique, how we designed for both developers and a casual audience, and what lessons we learned from our experiment. We validate the results produced by code_swarm through a qualitative analysis and by gathering online user comments. Furthermore, we successfully released the code as open source, and the software community used it to visualize their own projects and shared their results as well. In the end, we believe code_swarm has positive implications for the future of organic information design and open source information visualization practice.
Software visualization, organic information visualization, software development history and evolution.
Michael Ogawa, Kwan-Liu Ma, "code_swarm: A Design Study in Organic Software Visualization", IEEE Transactions on Visualization & Computer Graphics, vol.15, no. 6, pp. 1097-1104, November/December 2009, doi:10.1109/TVCG.2009.123
[1] D. Beyer, and A. Noack., Clustering software artifacts based on frequent common changes. In International Workshop on Program Comprehension, pages 259–268. IEEE, 2005.
[2] C. Collberg, S. Kobourov, J. Nagra, J. Pitts, and K. Wampler, A system for graph-based visualization of the evolution of software. In SOFTVIS, pages 77–86. ACM, 2003.
[3] M. D'Ambros, M. Lanza, and M. Lungu., The evolution radar: visualizing integrated logical coupling information. In Mining Software Repositories, pages 26–32. ACM, 2006.
[4] S. Diehl., Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer-Verlag New York, Inc., 2007.
[5] S. G. Eick, T. L. Graves, A. F. Karr, A. Mockus, and P. Schuster., Visualizing software changes. Transactions on Software Engineering, 28 (4): 396– 412, 2002.
[6] S. G. Eick, J. L. Steffen, and E. E. Sumner, Jr. Seesoft-a tool for visualizing line oriented software statistics. Transactions on Software Engineering, 18 (11): 957–968, 1992.
[7] J. Froehlich and P. Dourish., Unifying artifacts and activities in a visual tool for distributed software development teams. In ICSE, pages 387–396. IEEE, 2004.
[8] B. J. Fry., Organic information design. Master's thesis, School of Architecture and Planning, Massachusetts Institute of Technology, 2000.
[9] E. Gilbert and K. Karahalios., CodeSaw: A social visualization of distributed software development. INTERACT: Human-Computer Interaction, pages 303–316, 2007.
[10] J. Harris and S. Kamvar, We feel fine.
[11] R. Hodgin, Flight404.
[12] B. Kerr, L.-T. Cheng, and T. Sweeney, Growing bloom: design of a visualization of project evolution. In CHI extended abstracts, pages 93–98. ACM, 2006.
[13] G. Lommerse, F. Nossin, L. Voinea, and A. Telea, The visual code navigator: An interactive toolset for source code investigation. In Symposium on Information Visualization, pages 24–31. IEEE, 2005.
[14] G. Marshall, Personal blog.
[15] A. V. Moere, Time-varying data visualization using information flocking boids. In Symposium on Information Visualization, pages 97–104. IEEE, 2004.
[16] M. Ogawa code_swarm: An experiment in organic software visualization. ogawa/codeswarm.
[17] M. Ogawa and K.-L. Ma, StarGate: A unified, interactive visualization of software projects. In Pacific Visualization Symposium, pages 191–198. IEEE, 2008.
[18] M. Pohl and S. Diehl., What dynamic network metrics can tell us about developer roles. In CHASE, pages 81–84. ACM, 2008.
[19] Z. Pousman, J. Stasko, and M. Mateas, Casual information visualization: Depictions of data in everyday life. Transactions on Visualization and Computer Graphics, 13 (6): 1145–1152, 2007.
[20] J. Repenning., Contribution patterns in open source. Blog entry.
[21] C. W. Reynolds, Flocks, herds and schools: A distributed behavioral model. In SIGGRAPH, pages 25–34. ACM, 1987.
[22] E. Simonsen glTail and glTrail.
[23] M.-A. D. Storey, D. Čubranić, and D. M. German, On the use of visualization to support awareness of human activities in software development: a survey and a framework. In SOFTVIS, pages 193–202. ACM, 2005.
[24] J. Tarbell Gallery of computation.
[25] F. B. Viégas, M. Wattenberg, and K. Dave., Studying cooperation and conflict between authors with history flow visualizations. In CHI, pages 575–582. ACM, 2004.
[26] L. Voinea, J. Lukkien, and A. Telea., Visual assessment of software evolution. Sci. Comput. Program., 65 (3): 222–248, 2007.
[27] L. Voinea and A. Telea, CVSgrab: Mining the history of large software projects. In EuroVis, pages 187–194, 2006.
[28] L. Voinea, A. Telea, and J. J. van Wijk, CVSscan: visualization of code evolution. In SOFTVIS, pages 47–56. ACM, 2005.
[29] C. Ware, Information Visualization: Perception for Design. Morgan Kaufmann Publishers Inc., 2004.
[30] M. Wattenberg, Baby names, visualization, and social data analysis. In Symposium on Information Visualization, page 1. IEEE, 2005.
[31] M. Wattenberg and F. B. Viégas, The word tree, an interactive visual concordance. Transactions on Visualization and Computer Graphics, 14 (6): 1221–1228, 2008.
[32] P. Weißgerber, M. Pohl, and M. Burch, Visual data mining in software archives to detect how developers work together. In Mining Software Repositories, pages 9–16. IEEE, 2007.
30 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool