Is anyone out there old enough to remember the fantastic Discworld Computer Games based on the late Terry Pratchett’s novel series? A brilliant and hilarious creation that allowed you to take your character, the embarrassingly useless wizard, Rincewind through the fictional city of Ank-morpork and solve a series of challenges using various items of your inventory. Trying to use items in places they didn’t work would result in your character saying flatly…. “That doesn’t work…” which.. just like the wizard is completely useless information. It didn’t allow you to understand what you were supposed to do instead.
Bugs in software happen all the time. It’s pretty much impossible to write 100% bug-free code in complex programs as people will do things the code writer never envisioned. Sometimes the bug will be a crash and sometimes it’s just the software not doing what you expect. As more and more of our life becomes digital, even if you aren’t writing your own code it’s really important to understand how to properly report what’s not working. Just saying ‘That doesn’t work’ doesn’t help the code writers fix your problem.
A guide to helping programmers fix your problems:
- Be specific, say exactly what the problem is… i.e
“the software just crashes” – useless information
“There’s a problem with adjusting these parameters with this object type” – good information
- Write down the steps you did to cause the problem
“I opened up ‘window A’ and pressed ‘button B’ and then tried to move this and the program hung for about 30 seconds and then crashed to desktop” – really useful information!
- Is it repeatable? Can you do it again and cause the same problem, if not then this is a complex problem and will be hard to reproduce.
- Does it happen on another machine?
- Supply an file or image showing the problem exactly if it’s possible.
- Record a video showing the problem if there’s a long process
- If the problem is with a script in 3dsmax you’ll get a pop-up saying something like “Unknown Property in Undefined” this tells me the writer what type of error there is but it doesn’t tell me where the error is, instead have a look in the maxscript listener, there will be an error report which will tell the writer which line the error was on as well as what any variables were assigned to. Using the debug report I’ve been able to fix plenty of scripts without even trying the reproduction steps.
- Triage the problem, is it a show-stopper that you need to explain that, if there’s an easy work-around then that’ll be a lower priority to get fixed.
I’ll write more on how as a code write to take this information and actually use it in the next part of this post.