Bug Reporting in a Snap – SnapBugZ

I recently did a Lightning (5 mins) talk at iOSDevUK in beautiful Aberystwyth, Wales. Having had a surprising amount of very kind, and positive, feedback I’ve decided to re-wrap the talk as a Blog post, and bundle a demo app along the way: enjoy.

As developers we all put a considerable amount of time and effort into finding bugs.
We write Unit Tests (perhaps too few of us, or too few tests, me included), we do Integration and UI testing (I’m all in on that one) and we compile and run our apps hundreds of time a day.
When we’re happy we release, in a limited way, and get others to try to find those inevitable remaining bugs with Beta Testing.
And those Beta Testers are, on the whole, engaged in the development process, and provide excellent feedback, we love you all.
And this is all great stuff, but, sadly, never exhaustive.
So, we ‘bite the bullet’ and release our hard work into the wild, and hope that any remaining bugs will, firstly, be non-critical, and secondly, will be reported back to us in a kind and timely fashion. But sadly, feedback from ‘real world users’ is a massively under-utilised resource. So, why is that?
Let’s look at the use-case.

Use Case 1 - User Reports Bug

Pretty simple use-case: we have our user, and they Report a Bug. We’re done, let’s all go to the pub.
“Stand-fast that man!” It’s not a simple as that.
In fact what we have is more like this:

Use Case 2 - User Finds Bug then Reports Bug.

The User actually FINDS the bug, so we just need to transition them to the Report use-case and we’re done, right?
While that is, indeed right, that is the tricky part. How does the user know HOW to report the bug. There is no standard way to do it.
So we end up with a use-case that looks more like this:

Use Case 3 - User Finds Bug, but cannot report it. There is a wall in the way.

Some apps have a link in Settings, or on there About page. Most don’t even have that, they expect users to go to their website, ferret around to find the correct support email and guess what to do next: who has time for that? All you are going to get are the most highly motivated, i.e. most annoyed, of users going to all that trouble.
Frankly, that simply is not good enough, and thus, we don’t get any bug reports. YOYO!

There is another way.
Some users, admittedly too few (currently) will take a ScreenShot to show the problem, then go about finding how to report it.
And BAM! That’s where you have them!
By ‘intercepting’ the ScreenShot, and wrapping a pre-formatted support eMail around it, 99% of the work is done for them.
When we added this feature to WarningZ, we saw a massive increase in, no only the number, but also the quality, of use bug reports.
Here is a short video to show it in action:

And here is a link to the code of the demo app. SnapBugZ Demo App