For over 25 years, I’ve been making software fail. It’s not that I am a QA person, though I have often (as a side function) led QA efforts. And I don’t mean that I’ve been building failed software. I simply mean that I seem to discover, or cause the discovery of, more than my fair share of bugs.
Many (not all!) of these bugs clearly happen because I push software beyond the bounds of its expected use. So the software crashes, hangs or fails to return the result “one” would expect. Sometimes it’s a problem with the implementation. But other times the softwarebehaves as it designed and specified to. But the functional spec, or even the marketing spec behind the software is inadequate.
Am I any really more demanding than the average user who spends an equal amount of time using software? I can’t say for sure. However, I am a power user. I have, since my ph.d. days, often used software in unusual ways, and pushed it beyond its limits. At Sussex University and Birmingham, I had the benefit of mentors to fix and extend Poplog Po-11 libraries I was using — and even to build entirely new ones for me.
So, I’m quite confident that some of the problems I encounter are relatively idiosyncratic. However, whether I tend to discover bugs more than average is ultimately an empirical question that would require research and would be difficult to frame and to answer. But it is an interesting question, indeed.
For over 25 years, I have often kept track ( in files — one or more per program) of the most annoying issues. That makes it easier to investigate and report the issues. And for me to learn from them — because often what seems like a bug is simply my misunderstanding. Or I discover a satisfactory work-around , so I record it for future reference. (I do recommend the practice of recording this kind of information. Sometimes, I will even deliberately practice these work-arounds because I don’t want to have to look them up every time.)
So, I could probably document a number of instances of rare issues I’ve found. I decided to write this particular blog post because I’ve triggered a succession of unusual problems lately. I will only briefly refer to one of them here. Only one because I don’t want my readers to assume I am pointing a finger at the developers of the software I’m using. And who has the time to go over or read previous issues?
I will however mention that I have been plagued by the very annoying “MacOS File Save Dialog box is incredibly slow” issue ever since October of last year. Many have reported this issue over several years. It seems to have multiple causes. I have tried all the reasonable solutions that I’ve thought and read about. The Apple Genius bar tried, but gave up. They told me to start a new user account. Having been migrating my OS X account since 2002, I can imagine that some file corruption issues would arise even if I was a regular user. So this might not seem like a great example of the tendency I am talking about. However, because I am a power user, I have extremely extensive configurations of apps that probably could not easily be ported to a different account. Alas, I may have to find out if I am right about that… The other issues I’m currently facing are more obvious examples of stretching the limits of software. In all cases, the software is excellent and I would still recommend it.
Drawing again from my rhetorical umbilical cord, The Eternal Golden Braid, this leads me to the eponymy of this post. Might the tendency to discover bugs in software by accident (as opposed to via QA work) be used as a measure of divergent thinking (creativity)? Well, there’s a question that could one for at least a master’s thesis, and possibly a Ph.D.
I imagine that I am not the first person who fends off technical exasperation by imagining that he or she must be special to have so many annoying problems with software.