Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Beauty is in the Eye of the Beholder

A presentation I gave during a Dagstuhl seminar on latently typed languages in 2006

  • Login to see the comments

  • Be the first to like this

Beauty is in the Eye of the Beholder

  1. 1. Beauty is in the eye of the beholder Michele Lanza - University of Lugano
  2. 2. <ul><li>Prologue: Ceci n’est pas une pipe </li></ul>ArgoUML, 220.000 Java LOC
  3. 3. <ul><li>Software Visualization </li></ul>the use of the crafts of typography, graphic design, animation, and cinematography with modern human- computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software
  4. 4. Visual Programming? UML? The description of a thing should not be more complex than the thing itself
  5. 5. Static Visualization ArgoUML, System Complexity View
  6. 6. Dynamic Visualization CodeCrawler, instance collaboration view
  7. 7. Back 2 Reality Is Programming [advanced] text editing?
  8. 8. <ul><li>The Adoption Problem </li></ul><ul><ul><li>Current IDEs do not support visualizations, or they do so only to a very limited extent. </li></ul></ul><ul><ul><li>Why? </li></ul></ul>
  9. 9. Example I - Dr. Scheme visualization of code
  10. 10. Example II - Eclipse Creole plugin
  11. 11. The Cognitive Overload Problem correlating evolution & bugs of mozilla
  12. 12. The Conceptual Gap <ul><ul><li>Software is intangible, </li></ul></ul><ul><ul><li>having no physical shape or size. [Thomas Ball] </li></ul></ul>
  13. 13. <ul><li>Visualizations always sit across a cognitive divide because they are </li></ul><ul><li>isolated </li></ul><ul><li>unintuitive </li></ul><ul><li>overloaded </li></ul><ul><li>arbitrary </li></ul><ul><li>...mostly useless </li></ul>The Cognitive Gap
  14. 14. Visualization about Software Fractal Figures
  15. 15. Visualization of Software The Class Blueprint
  16. 16. Useful?
  17. 17. Human vs. Machine The two gaps are related the programming language you use influences your thinking Languages come with too much overhead and thus they obscure the actual thing: modeling problems modeling solutions communicating this to the computer
  18. 18. Metaphors When you provide visualizations about software the only way to overcome the cognitive gap is to use metaphors This only works if there is a wide adoption [such as design patterns]
  19. 19. convoluted languages [like java, C++, etc.] widen the conceptual gap Reflections
  20. 20. <ul><li>Epilogue: No Silver Bullet </li></ul>Visualization is only a means, not the end
  21. 21. Future work close the cognitive gap close the conceptual gap convince people work hard count on the next generation
  22. 22. <ul><li>credits: </li></ul><ul><li>myself, M. D`Ambros, M. Lungu, C. Wysseier </li></ul><ul><li>[code visualizers] </li></ul><ul><li>L. Feininger </li></ul><ul><li>[painter] </li></ul><ul><li>povray artists </li></ul>Style without content is meaningless content without style goes unnoticed