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.
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.
VISTAS UI Ideas
- 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.
- Add “Help” section with integrated quick start guide
- Revamp the Tool Bar. Re-evaluate overall layout, icon choices and functionalities present.
- 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.
This week marked my last week as an intern at Wizards of the Coast.
Knowing the end was near, I got a bit manic about wrapping up my work and ended up staying late almost every day this week. I managed to tune up quite a bit of test automation and finally resolved a persistent issue with data file imports that had been plaguing me.
I released a new version of a C# tool which assists in debugging a particular database issue that was previously onerous to troubleshoot. This tool has already proven quite popular within my department, and is my parting legacy.
I also wrote up a “QA Intern New Hire Resource Guide”, which was basically a knowledge dump of all the best links to helpful resources & tools I’d found, both inter-company and from the web at large. Hopefully this will help out the next batch of interns to work at Wizards.
My team held a little farewell party for me:
I count myself blessed that it didn’t say “Get Out Justin”.
It was a bit sad to pack up my office, but I am grateful that I was able to network with so many fantastic people in my time there, and I can check “Work at Wizards” off of my bucket list.
My internship at Wizards is winding down, with just one more week to go. Hard to believe the summer has flown by so fast!
This week, I worked with Hazera (fellow performance engineer) to create some new baseline analytics for our load testing. The baseline is basically a load scenario which represents a typical day of virtual traffic for all of our web applications, which gives us a constant to run comparison runs against. I found myself grateful that I’d just taken a Statistics class, as that is what a lot of this boils down to.
I also did some troubleshooting for a web test plugin we use in our automation which extracts strings from our test email inbox. It wasn’t cleaning up after itself property, causing the inbox to periodically fill up. I ended up doing a little IMAP programming in C#, and I ended up additionally creating a load test plugin to clear the mailbox as needed. I was surprised at how easy the built-in C# classes make this.
One of the applications I’ve been helping do the performance testing on is called Planeswalker Points, and they had a major new feature release launch this week which went very smoothly. I couldn’t be prouder of the team!
This week marked my supervisor’s birthday. He is a big fan of Batman, so we literally covered his cube in Batman decorations and brought in a heap of desserts.
Next week, I’ll be going through my exit paperwork & interview, and doing my best to dump all that I’ve learned into documentation to help the next batch of interns along.
Wrote a Clite parser– in Prolog!