2

In my application (a browser), there are two types of crashes which can occur:

  • Python exceptions, i.e. I can handle the crash just when it happens and display a crash dialog immediately.
  • Segfaults of the underlying library - there the application will immediately close, with the user either seeing nothing, or their OS' crash dialog ("qutebrowser.exe has stopped working..."). Then I'll show the crash dialog on the next start.

The dialog currently looks like this:

crash dialog

I expect my user to be rather technical, but I realize it's a potentially stressful situation, and sometimes the user will just want to get back to the state they were, as fast as possible.

This lead to me getting many crash reports I couldn't get any useful information from - the user just clicked "report" and then "restore tabs", without reading what the crash log said and that they should provide more information.

In retroperspective I can't really blame them, with the wall of text I'm throwing at them ;)

Before I fix this I wanted to get some feedback about how I'd improve this.

A quick mockup of what it maybe should look like:

crash dialog mockup

1

Don't rely on the user; collect the information you want yourself.

What you have presented here makes it clear that you know that the application crashed; you also know some state information about the conditions when the crash occurred (the open tabs). You should change your code to collect any other state information you are interested in. You surely have the ability to answer "What were you doing when the crash happened?" better than the user--so why ask the user?

Having implemented this, all you would need to do is ask the user to approve sending an anonymous crash report. Better yet, you could allow them to opt in to send this information when they install the program; then you could just send a report without prompting the user at all.

4
  • I'm already collecting the information I can, e.g. open pages with an exception. However, in some cases (especially the segfaults), it would be very helpful to get more information. – The Compiler Oct 21 '14 at 6:55
  • @TheCompiler, can you please explain what the information is that you think you can't capture? You should be able to make your software log all the operations the user is performing and even things like the values in key variables of interest. – user31143 Oct 21 '14 at 7:55
  • This assumes that the user wants to send information about the browser and the computer. I don't think that all users are willing share that information... – Henrik Ekblom Oct 21 '14 at 9:12
  • @HenrikEkblom, of course not all users are willing to share it. However, neither will all users conscientiously fill out a crash report--as the poster has already discovered. I would be quite surprised if this method did not produce better information. – user31143 Oct 21 '14 at 9:15
0

It's possible that your well-intentioned warning to 'remove sensitive info' might introduce uncertainty, even among fairly technical users.

  • What sensitive information?
  • Why was my sensitive information included by default?
  • How do I know for sure that I didn't accidentally miss data that I should've removed?
  • What are my risks should I accidentally miss a piece of sensitive information?
  • If I felt comfortable including sensitive information, would it be necessary to resolve a bug? Or would that involve me taking a risk that wouldn't be terribly meaningful to the person trying to resolve the problem?

Can you simplify entry of 'what were you doing?' based on common tasks, previous bug reports, or common bugs in similar browsers?

I agree with Dan1111 that automated tracking would be ideal. However, if that can't be done, providing a list of common activities with a dropdown or checkboxes would help jog their memory and speed up the process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.