October 28, 2012
Has this happened recently to you or someone you love?
“I was using this software/web service today and all of a sudden it crashed/reset/did something unexpected. I had to re-type everything, and I didn’t even have it written down or printed out. Man I hate company. They should really get their act together.”
Here’s the thing. We, as software developers, try hard to make our software as bug-free as we possibly can. It doesn’t matter: a few of the suckers will always make their way into production code. Even if it were possible to test every single line of code in a non-trivial system against every possible input (it isn’t), heterogeneous operating environments, shifting technology stacks, integration with external systems and components, network latency, and random acts of configuration madness™ will always conspire against perfection.
In other words, every piece of software you are using right now is buggy.
A lot of people understand that; they’ve accepted it. They have become passive victims to our industry’s inability to achieve perfection.
They do not submit bug reports.
I have witnessed the most heinous acts of software cruelty perpetrated against nice, normal people just like you and me who have walked away shaking their heads and just feeling frustrated and sad. If there was one message I could send to all of these victims it would be this:
“If the software does something you do not agree with, report the bug.”
It often doesn’t occur to people to do this. They think the developer doesn’t care about their problem. Worse, sometimes they think they themselves are at fault! As software developers we use the bug designation “by design.” In other words, the software is working as we expect it to, but for whatever reason that didn’t work out for the user. Well, guess what? Sometimes, there is a bug in the design. So:
“If the software does something you do not agree with, report the bug.”
Apple has an ancient bug tracking system colloquially called Radar, actually named Apple Bug Reporter. A bug I submitted in June against Apple Mail has an ID of almost 12 million, and the reported bugs are numbered consecutively, allegedly starting at ID 1 from sometime in the late Jurrasic, probably. This bug, and every other bug I’ve ever submitted to Apple, have been marked as duplicates. Apple has so many detailed bug reports in its database that it is almost impossible to stumble over something new and novel and this is great. Apple is aware of and able to prioritize almost every conceivable defect or perceived defect in their software. The culture in the Apple developer community is that you’re not entitled to complain about a bug in one of Apple’s products unless you’ve already filed a Radar, duplicate or not.
Figure 1: Radar or GTFO
Photo of Michael Jurewitz, former Apple Developer Tools Evangelist, taken by George Dick. “Radar or GTFO” addition by Steve Streza. Image taken from a Black Pixel blog entry by Daniel Pasco. These guys know a thing or two about fixing bugs.
It is telling that so many of these issues are still unresolved. Again, with any non-trivial system, fixing every single reported issue isn’t possible because some solutions would cause other problems, or would require fundamental design changes that would negatively impact the product as a whole. Or would take the product in a direction other than the one the developer envisions. Or will soon be obviated by a planned update to the system that replaces or upgrades that part of the functionality. But just hearing what customers find flawed with the system is invaluable.
“If the software does something you do not agree with, report the bug.”
Do you have a bug to report in TimeTiger? Do you have a feature suggestion or just feel that something could work smoother, faster, prettier? We might not fix it right away, but I guarantee that we appreciate your input.
“If the software does something you do not agree with, report the bug.”