One of the things an author doesn’t have to worry about, once his/her book has been published, is that the plot will squirm out of the book’s grip and transform from a tense thriller to a story for the under fives, or that the heroic but broken hardboiled detective with a failed marriage and a drink problem will run away and found a sanctuary for destitute cats.
For a software developer things aren’t quite so nailed down. Software can fall over in a multitude of ways, at any time after release. This can be due to a previously undiscovered fault in the logic, or the code, or a change in the environment it is run in, or because the person using it didn’t hold their mouth just right or the wind changed. Software is only bug free until someone finds a bug. At that point, and with some priority, it should enter the process of being fixed, retested, and re-distributed. This happened to me fairly early after the release of version 1.0 of Become: Debt Free. I got a support e-mail (To the support address listed on the iTunes site, which takes you to the support area of the website that you are required to have in order to publish an App via the iTunes store), from a lady in Canada saying that the app had locked up on her. I wrote back in courteous and sympathetic tones that I had re-tested the app, couldn’t replicate her problem, and made some suggestions as to things she might try. I was bothered though, so I tested the app again, trying more and more out of logical sequence data entry, and out of bounds data until, about three hours later, I managed to get it to lock up. It turned out that if you created a new card without filling in any data, then returned and edited just one particular field, then came out of editing, you could engender a division by zero and lock up. This was not by any means an irrational thing to do, to go through and create blank entries for your cards, returning later to fill in data as you come across it, it had just never occurred to me that someone might do it so I never tested using it that way. I also found out that if you tried to get back into the app two or three times you could, and if you then either edited that field after another, or deleted the record and started again it would work fine and all your other data remained intact so the problem wasn’t a showstopper. I e-mailed the lady, apologised again, told her of the work around and promised that the bug would be fixed forthwith and her App updated as soon as the App store approved the upgraded release. She wrote back saying that she had already discovered the work around and had pressed on using the App. Apart from my slackness in not testing every possible pathway, this is pretty much the way software development should work, problem reported, worked around until fixed, period of quiet until next time.
After a long silence, I have this week received my first two reviews, one for each App. The free App got four stars, and a helpful suggestion that I might want to add passworded access. The paid-for App got a single star, a heading “Waste” and a review of “Freezes”. This was a review against version 1.1, the version in which I fixed the lock up reported above, so is either mis-categorised or I have another possible bug. Now don’t get me wrong, my customer is entitled to any opinion he cares to form about the software he bought from me so I have no gripes there. What I do have is an information vacuum, and a bad review on the iTunes store. I can’t, of course, identify or respond to the reviewer, or post a rebuttal so I am stuck with a single star review.
Had my customer e-mailed for support with some detail like how he got the App to freeze, what he was doing at the time, or even posted the crash report his iTunes host collects when he synchs his iPod/iPhone to Apple who will pass it anonymously to me I could investigate and if necessary correct any fault found. As it is I have no crash reports from either App (They share much of the same code) in some six weeks of sales and use. I know quite a number of copies of the free App are in regular use as I get feedback from iAds as to the number of iAds requests they are sending out. Apart from the lady in Canada, I have had no support e-mails.
So … when does a bug become a bug?