Week 2 – The Spy++ Who Loved Me

This week, I learned about a fantastic tool integrated into Visual Studio called Spy++.  Many people are (painfully?) familiar with this tool, but it is new to me.  Spy++ allows you to target a UI component in a GUI application, and it will then show you a stack trace of that component.  It has already helped me a ton in figuring out how the VISTAS UI code works, as I can identify specifically what class each UI component represents and jump right to the code which generates it.  

Spy++ UI Trace

Just a taste of Spy++.

I also sat down with the application and had another brainstorm session on desired features that are within the scope of this project, which I’ll enumerate here.


Short term:

  • Fix the “Add” buttons on the Data & Visualizations tabs. Right-clicking is not intuitive to a new user. This could be simple as a small “+” or “Add” button next to
  • Project Visualizations/Project Data.
  • Add ability to delete items from Data & Visualizations tabs. Currently, removing a scene requires rebooting VISTAS.
  • Cleanup of VISTAS .ico file — remove white pixels from edge of image to beautify
  • Change default icon in titlebar of main window frame to be the VISTAS icon
  • Tooltips/mouse hover context information need to be added across the board.

Medium term:

  • Add “Help” section with integrated quick start guide
  • Revamp the Tool Bar. Re-evaluate overall layout, icon choices and functionalities present.

Longer Term:

  • Revamp the Menu Bar. Right now there is a bare minimum of functionality here, and several existing buttons don’t work.
  • “About” as its own item, and not nested under File — to be discussed.
  • Functionality to Save & Open projects needs to be implemented.  Nik has assigned himself to this.
  • Functionality to close the current project/create a new project needs to be implemented.
  • Adding/removing Viewers could perhaps be done in a more intuitive way.
  • Bundle a small sample data set with VISTAS so that a new user can experiment with the program without committing to downloading a large data set & going through all the steps of setting up the visualization. Ideally this would come in the form of a sample project include with VISTAS, so the ability to Save & Open projects needs to be implemented first.
  • Ability to take a screenshot of the viewer window, either via right-click or perhaps a button in the toolbar. Ability to copy screengrabs to clipboard for easy insertion into documents/emails/whatever.
  • Optional camera controls on the viewer window might be nice. At least a zoom control– Shift+mouse zooming is not always intuitive nor precise for fine camera movements.
  • Ability to click on colors in Legend and change them.

— whew!  I better get to work.

About the Author: Justin
A 34 year old Software Engineer in Seattle, WA with a love for coding, music, video games, and the great outdoors.
Author Website: http://www.justinmangue.com

Leave a Reply

Your email address will not be published. Required fields are marked *