Back in June 2008, I released a new version of my Mandelbrot Screensaver to my website.
Since that time, the screensaver has acquired many tens of thousands of downloads, two thank you messages and one bug report.
Until the bug report arrived, I had assumed that of the many people who had downloaded the installer, there had to be at least a few hundred who were regularly enjoying the fractal goodness of a high resolution Mandelbrot on their screens.
Until the bug report arrived.
It turns out there was a significant crashing bug in my code, one that affected anyone running at certain widescreen resolutions, including 1366x768 but not 1920x1080.
Before Jonathan kindly reported the bug to me on October 15th this year, I was unaware of the problem - unaware of any number of potential users who had a negative experience because they downloaded the screensaver and had it crash on first use.
There are two significant lessons to be learnt here.
The first lesson, relevant to every developer, is to always test the assumptions you carry when you write code - any code. Keep in mind that the validity of your assumption might change over time, so think about the impact on your code carefully. If you don’t test your assumptions, you might end up in an embarrassing situation like mine.
The second lesson is broader, relevant to every user: If you have a problem with a piece of software, take the time to report the problem back to the author/vendor. Software authors are people too - fallible and human - and your bug report might just be the first time they’ve heard of the issue. Not only will you be doing the author a favour by reporting the problem, you might be saving a whole bunch of other users from experiencing the same pain.