Wednesday, May 5, 2010

Firefox Double Crashing

Dear firefox feedback,

Firefox is a very predictable product. If something causes it to crash, that same thing will cause it to crash again. Please forgive me for not sounding sophisticated here, but I don't have the statistics that your techie people have access to. This is because firefox is a computer program. It responds in a predictable fashion to the data that is fed into it.

The crash recovery option is designed to store, apparently in cached form rather than reloading them, all of the pages that were being viewed at the time of a crash. In 99.99% of situations, this means that when firefox is restarted, it simply crashes again. I reported this as a bug and was shut down:

https://bugzilla.mozilla.org/show_bug.cgi?id=506883

Apparently, having a product that crashes a second time after every crash is not a bug but a feature.

So, at the very least, I would like to have an option to turn this "feature" off. I know from searching support that I can go to some internal settings page to fix the problem - and I have. But for everyone else out there who is a loyal firefox user and might not know about this fix, I am asking you and the other tech people to do two things:

1. Come up with a crash recovery procedure that works in a meaningful way.
2. Include an option in preferences that can be checked to disable this feature.

On the first point,

I suggest storing any form data and URLs and simply saving them to a text file in the event of crash. Naturally you can exclude credit card and password info. Then, on recovery, firefox should simply display these contents in a form that makes them easy to copy and paste.

Especially in crashes, your current standard is really unrealistic. Paul Oshannessy said "I'll say that the common case, people just want Firefox to start back up and figure it out on its own. They don't want to be shown this potentially confusing page after Firefox crashes - they want it to 'just work'."

But it doesn't "just work". Common sense indicates that it won't. Programs can't just start back up after crashes with no data loss, because as soon as the program executes that same line of code a second time, the same result occurs! In the case of web content, crashes are the result of errors in the generation of webpage scripts or firefox's interpretation of the contents of those scripts. If firefox doesn't ask the servers that generated the pages to re-generate them, it will simply run the same scripts on those pages that caused the original crash, and because firefox is such a nice and stable product, it will crash again! But even re-generating pages will still cause a lot of crashes, almost as many as loading the cashed pages. What you find, and this is very much CS315, is that each time you strip away a layer of data, that is step back from the most recent page, the fewer crashes there are, until you find the only way to really prevent any crash is to not reload the offending page at all.

That gets back to the comment of the poor user that Paul shut down: Why not let the user choose which tabs to restore on the first restart?

On the second point,

I suggest you make it so that whatever Crash Recovery "solution" you end up implementing, you make it easy to turn off so that grouchy people like me can avoid going batshit insane. Make this an advanced option. That way average users who have no functional literacy won't go bumbling into that option, accidentally turn it off, and subsequently leave nasty messages demanding to know why their firefox doesn't double crash anymore.

Also, I would suggest that you take the time to figure out whose idea this was, because you might want to take future ideas by this same person with a grain of salt. As a general rule, clever marketing comes after the product - it should never motivate the creation of the product itself, unless you intend to defraud consumers.

Thank you. I feel better now.

No comments: