Typically it's the small things that will end up annoying users; and it's those same small things that can impress users.
It's strange the way we judge programs — you may spend months building a huge back-end system only to have the interface tidbits you dedicated far less time to taking the lustre off an otherwise good piece of software. Typically, it's the small things that will end up annoying users; and it's those same small things that can impress users. Apple makes a whole operating system that surprises you with the little tricks and ingenious ways that the interface can help you be more productive.
So there I was, wonderfully chatting away to colleagues one day on a beta build of Adium, a gaim-based IM program for OS X, when the unexpected happened — the beta crashed.
"Who could have possibly predicted that?" one part of me cried.
"It's a beta you fool," replied another.
It was true, I was paying for being greedy for all those whizz-bang features I couldn't wait for. So I was about to do what most people do in that situation: dutifully dismiss the crash report dialog therefore ensuing the final product would be substandard (and would give me something to deplore when it reoccurred). Then I saw it:
What a wonderful crash dialog, the staple green bird that is the logo of Adium, is now crashing and burning in the backdrop.
"Wonderful!" I thought.
Clearly the developers of Adium enjoy what they are doing and do not mind having a little bit of fun along the way. This dialog instilled a feeling of confidence in the program, despite the clear fact that it has crashed, because if the developers enjoy what they are doing, then they are passionate about it and that means good work is going to happen.
This small attention to detail amused me and I forgot my frustration at the crash, I thought it was worth it to see the flaming bird.
Of course, then I did my beta testing duty and dismissed the dialog, restarted the program and apologised to the people I was in conversation with because I was using a "crappy beta program".
Do you actually use crash dialogs to submit or gain information? Has a stack dump ever helped you out with a debug process? Either way, we would love to hear from you about it.