Slashdot Mirror


How Do You Get Better Bug Reports From Users?

itwbennett writes "You can try to train them, you can try to streamline or automate the process, you can demand that all bug reports go through a middleman (i.e., a QA tester) or you can throw up your hands and accept that users will forever submit bug reports that in no way help you solve the problem. Like the stages of grief, you've probably tried or experienced all of these at some point. But have you found any approach that really works for getting useful bug reports from your users?"

205 comments

  1. Follow up by Anonymous Coward · · Score: 1

    Your users aren't code masters and never will be.

    1. Re:Follow up by telchine · · Score: 4, Funny

      It's not working can you fix it. kthxby

    2. Re:Follow up by FireFury03 · · Score: 4, Funny

      Your users aren't code masters and never will be.

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again". You don't have to be a "code master" to figure out that reporting a bug and not actually tell me _what_ broke, what the error was or let me log into a system that is currently exhibiting the problem so I can look myself is not going to be condusive to me fixing things.

      And this stuff happens again and again with the same customers... "one of our users is having a problem accessing some websites, please can you fix it?" - ok, so I have to go back and ask "which user" and "which websites", if I'm lucky the customer will give me this information, if I'm unlucky I get "I didn't ask". A week later I'll get an almost identical problem report from the same person about a different (but extremely similar) problem, and again none of the information I ask for _every_ time is included.

      Also the great one that comes up occasionally is "this has been broken for a month and you haven't fixed it yet!".. well, if you'd actually told me that there was a problem I might've known to look into it, but since this is the first I've heard of it...

    3. Re:Follow up by Motard · · Score: 5, Funny

      You can reproduce the issue by getting their keystroke history. File an FOIA request with the NSA.

    4. Re:Follow up by Anonymous Coward · · Score: 4, Insightful

      Your users aren't code masters and never will be.

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again". You don't have to be a "code master" to figure out that reporting a bug and not actually tell me _what_ broke, what the error was or let me log into a system that is currently exhibiting the problem so I can look myself is not going to be condusive to me fixing things.

      And this stuff happens again and again with the same customers... "one of our users is having a problem accessing some websites, please can you fix it?" - ok, so I have to go back and ask "which user" and "which websites", if I'm lucky the customer will give me this information, if I'm unlucky I get "I didn't ask". A week later I'll get an almost identical problem report from the same person about a different (but extremely similar) problem, and again none of the information I ask for _every_ time is included.

      Also the great one that comes up occasionally is "this has been broken for a month and you haven't fixed it yet!".. well, if you'd actually told me that there was a problem I might've known to look into it, but since this is the first I've heard of it...

      Right. Because users are filing bug reports. They're calling for customer service/support. You get good bug reports by having good people answer the phone. I'll accept, "something broke," from a user. However, I find it inexcusable that a Helpdesk rep sends me a bug report that says the same thing or, worse, asks me to call the user for details. That being said, if you can't rely on Helpdesk or the user, then your software should be able to rollup everything you need to resolve the issue.

    5. Re:Follow up by Shadow99_1 · · Score: 1

      Requiring a user, after the fact, to recall an error message is futile. They simple have seen to many varied ones and their brain goes 'oh an error message' not 'oh a 504 error' or 'oh a invalid data type error'. This is when we have to write error handling code to be able to provide a text message, email, or simply a text file that records the details around a crash so you get the robustness you need to fix these types of errors without relying on iffy recall of users.

      As an network admin, and closer to your 2nd paragraph, I would spend considerable time filtering fire wall logs for different criteria trying to see things like what sites are most blocked over a week to try to catch these sorts of things without having to have details from users. As strange as it sounds I would hear about connectivity issues often third hand (when they are all in the same building and I had an open door policy). So if I was not actively hunting for these things I knew I'd be having the CEO call me into his office (he never just dropped in to mine) and explain why he keeps hearing people are having issues with 'x' and if I didn't have an answer I'd have to hear him yell at me 'until I did'. I simply could not rely on users to tell me when they had issues or even correctly explain what those issues were.

      --
      we are all invisible unless we choose otherwise
    6. Re:Follow up by ccguy · · Score: 5, Insightful

      Requiring a user, after the fact, to recall an error message is futile. They simple have seen to many varied ones and their brain goes 'oh an error message' not 'oh a 504 error' or 'oh a invalid data type error'.

      Believe it or not a user that doesn't remember the error message is not the worst kind of user.

      I have some users that love translating text errors into numeric error themselves. Any time a page doesn't load, it's a 404. So that's what they report. "I'm trying to connect to thisdomaindoesntexist.com and I'm getting a 404."

    7. Re:Follow up by wisnoskij · · Score: 3, Informative

      That is nothing. I love it when users are overly specific, because they are always specifically wrong.

      In user speak "My Password won't work." is code for everything, including an unplugged computer.

      --
      Troll is not a replacement for I disagree.
    8. Re:Follow up by SQLGuru · · Score: 3, Interesting

      I had just sent the below list of things required in a bug report to a group of users/testers this morning......

      In general, the following items should be included when possible:
      â Reproduction steps
      â Expected behavior
      â Observed behavior
      â If available, any related steps or values that worked (for example when a bug âoesometimesâ happens, itâ(TM)s useful to know when it works and when it doesnâ(TM)t)

      Then, the trick is to reject or de-prioritize any bug that doesn't conform to the above. Train the users that if they provide accurate information, they get quicker response. It works for Pavlov.

    9. Re:Follow up by xaxa · · Score: 1

      My manager had an email forwarded to her from a user's manager last week.

      At the bottom was a bug report from 2009, a response from me saying I'd fixed the problem and the new version would be deployed overnight, and then a yearly update on the problem sent between the user and their manager -- nothing involving IT at all.

      It turns out I did fix a problem, which matched the description from the bug report. I didn't fix the user's problem.

      The user also had another 10 problems written down, and were waiting until the 2009 problem was fixed before reporting them.

      I thought this showed remarkable patience.

    10. Re:Follow up by Fitch · · Score: 1

      The narrative outlined by FireFury is excatly why when I'm financially able to "semi-retire", it will be the last time I touch or talk about a computer for pay.

      A scarce few have the ability to engage their reasoning modules, and the rest simply feel that once they tell you "it's broke" they are no longer responsible for participating in the problem solving process. I've always said that these types would be the first to starve to death in a zombie apocalypse.

      Bring on the zombies...

    11. Re:Follow up by unrtst · · Score: 1

      Came here to say more-or-less the same thing as the combined parent and GP.

      1. front line support (helpdesk, tier 1 support, whatever) must know how to take a decent problem report and walk the user through getting more information when needed. Support them with very good docs on how to submit a problem report, and thank and reward them when they do well.

      2. any open tickets you get that are void of useful information, just close them. Follow up requests for more information are just going to tie up everyones time. They're more likely to open a new ticket next time than give you useful info on the one they have open. Make the closing comment one that requests detailed info, tailored for the product in question if possible... I'd be a bit more specific than parents list, but that's the basic gist of it.

      3. actively work anything that is a quality request. This is the positive reinforcement level.

      4. #2 bares repeating. Do not let incomplete requests just hang around on hold pending info in your queue. *maybe* transfer back to tier 1 or some other front line support queue if you've got it, but you're still probably just as well off if you close it.

      I do occassionally look into unworkable tickets, but only if they hint at something that might be very bad. Then I just guess at the issue and try to reproduce myself. Sometimes that works, but that's really what tier 1 should be doing. If you're tier 1, then start doing your job (which is, admittedly, a never ending stream of tedious work, but it needs done).

      FWIW, the system I use has a separate "closed" and "closed, unresolved". It's nice to be able to see a percentage of requests that are unworkable. It's also critical if you want to improve, because you have to be able to measure something if you want to know if it's getting better. The above stuff made it better (YMMV).

    12. Re:Follow up by gstrickler · · Score: 3, Interesting

      Maybe, the user didn't want to confuse you by sending in multiple problem reports at once. Or maybe the user's manager thought that would overload IT, or make it appear they were just complaining too much. :)

      I had users who just ignored, or worked around errors, errors that had never been reported. Some were user errors (resolved by both program changes to prevent those errors and user training), some were UI errors that didn't impact the results, and some were program errors with actual consequences or impact on the data or utility of the software. I found out about these errors by watching the users, or as a side issue when they were having some other problem that they did report. I explained that reporting all errors ASAP gives the developers a broader view of the potential problem, and allows all errors to be fixed faster and more completely. I trained them to report every problem, no matter how small, and made a point of addressing those errors as quickly as practical to reinforce the behavior of reporting them. And, of course, I explained that unreported errors were very unlikely to be fixed, ever.

      --
      make imaginary.friends COUNT=100 VISIBLE=false
    13. Re:Follow up by multimediavt · · Score: 1

      Your users aren't code masters and never will be.

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again". You don't have to be a "code master" to figure out that reporting a bug and not actually tell me _what_ broke, what the error was or let me log into a system that is currently exhibiting the problem so I can look myself is not going to be condusive to me fixing things.

      And this stuff happens again and again with the same customers... "one of our users is having a problem accessing some websites, please can you fix it?" - ok, so I have to go back and ask "which user" and "which websites", if I'm lucky the customer will give me this information, if I'm unlucky I get "I didn't ask". A week later I'll get an almost identical problem report from the same person about a different (but extremely similar) problem, and again none of the information I ask for _every_ time is included.

      Also the great one that comes up occasionally is "this has been broken for a month and you haven't fixed it yet!".. well, if you'd actually told me that there was a problem I might've known to look into it, but since this is the first I've heard of it...

      Not sure why this was rated Funny when it is actually quite insightful. Why, because the above points out the obvious issue here with the approach and that is that a one way street doesn't exist and never will. The users will NEVER have the expertise to tell you what went wrong, and unless you understand how they abstract things in their minds (which takes time with each user) you will not understand what they are talking about and will have to inquire.

      Bug fixing is a two way street. The user tells me something is broken and like any good investigator I must then begin asking questions to gather more detailed information about the problem in order to identify the cause and subsequently the solution. The users aren't stupid, per se, they just don't speak the same language and look at a problem the same way a coder/developer does. Why is this so unexpected and a cause for any frustration at all? It's a reality that won't change unless we end up in a world of coders/developers.

    14. Re:Follow up by ttucker · · Score: 1

      Better logfiles are your only defense.

    15. Re:Follow up by xelah · · Score: 1

      I suspect a lot of that, especially when users flat out lie, comes from users feeling they'll get a better and higher priority response if they start by trying as hard as possible to make it sound like a problem you're responsible for rather than they are. I guess it just feels more legitimate to call and say 'your server isn't working' instead of 'I've broken my computer, please fix it for me again'.

    16. Re:Follow up by westlake · · Score: 1

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again".

      It seems to me that your program should be logging and reporting its own errors --- or that you should be shipping a separate user-friendly diagnostic program to collect and report errors documented by the OS.

    17. Re:Follow up by datavirtue · · Score: 1

      Sounds like you might be part of the issue if you have the same users not supplying you with the needed information over and over again. Have you tried communicating what it is you need from them with the obvious disclaimer that you can't identify and fix the problems without that information?

      --
      I object to power without constructive purpose. --Spock
    18. Re:Follow up by xelah · · Score: 1

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again". You don't have to be a "code master" to figure out that reporting a bug and not actually tell me _what_ broke, what the error was or let me log into a system that is currently exhibiting the problem so I can look myself is not going to be condusive to me fixing things.

      I think users don't always realize that a fault is not just obvious by inspecting your software. They don't realize you have identify possible places in hundreds of thousands of lines of code, that you need to step through what happened or that you need to be able to repeat it in order to gather more information and know when you've fixed. Without any experience of code or debugging, reasoning about what is and isn't important just isn't something the user will have done. Worse, it's easy for users to think you're putting up bureaucratic barriers to escape extra work - which creating long mandatory forms with lots of required information will only make worse - or that you don't trust them.

      It's the enormous gulf of understanding about the other sides experience of a bug report that's the problem, not stupidity (though there's plenty of that around, too).

    19. Re:Follow up by ShanghaiBill · · Score: 1

      Requiring a user, after the fact, to recall an error message is futile.

      Simple solution: Instead of just presenting an error message, popup a dialog that displays the error message, along with a button that says "Report this Error". When the user clicks it, your program then generates an email with the error message, a stack trace, and other relevant contextual information. You can also include a text box for the customer to type what they were doing at the time.

      For internal company applications, I don't even ask for confirmation. Reporting the bug is the only option.

      When we first implement automatic bug reporting, the reports went up twenty-fold. I turns out that 95% of the time, people were just ignoring or working around the bugs. But with the additional info, we were able stomp these bugs quickly, and get the reports back down to a reasonable level.

    20. Re:Follow up by pr0fessor · · Score: 1

      If you can't answer at least the first four of the five Ws I send them back. Funny, I used to do a 45 minute power point presentation for new employees about how to report an issue using the five Ws. I'm not sure anyone every does it anymore were I work.

    21. Re:Follow up by Dr_Barnowl · · Score: 1

      We had a user-friendly diagnostic program once. I had to add a "save to file" routine, because we ran into a user who couldn't understand the sentence "cut and paste the text into an email" ... even if you got on the phone to her and talked her through it... "Ctrl-A... Ctrl-C..."

      The more foolproof you make things... the more the universe comes up with a better fool...

    22. Re:Follow up by FireFury03 · · Score: 1

      Requiring a user, after the fact, to recall an error message is futile.

      I don't want them to recall it after the fact, I want them to note it down at the time they got the error. It'd take 5 seconds to copy and paste it into an email.

      They simple have seen to many varied ones and their brain goes 'oh an error message' not 'oh a 504 error'

      This is obvious from the way I get "my emails keep getting bounced" complaints, so I ask them to forward the bounce and frequently just copy and paste error message back into my reply. When the error is something as obvious as "the recipient does not exist" or "the recipient's mailbox is full", what else are you going to do but reply with "it's bouncing your mail because "?

      This is when we have to write error handling code to be able to provide a text message, email, or simply a text file that records the details around a crash so you get the robustness you need to fix these types of errors without relying on iffy recall of users.

      Most of the software I write isn't user-facing, but it interfaces with user-facing software. So a lot of the error messages are generated by third party software and my software never sees them, but they are as a result of the interactions (and possibly bugs) with my software. So since I didn't write the thing thats generating the error, I have no chance to make it record lots of detail and automatically send it to me.

      Of course, increasingly we're seeing people using Apple software, which has a habit of not giving you any detail in the error messages *at all*, so even when you get a problem you can reproduce, it still turns out to be hell to figure out whats actually happening (tcpdumping the network traffic is a common way to figure it out). And many iOS and Android applications don't even give you an error message at all, they just plain don't work.

    23. Re:Follow up by FireFury03 · · Score: 1

      Why is this so unexpected and a cause for any frustration at all? It's a reality that won't change unless we end up in a world of coders/developers.

      I dunno, I just find it unexpected that when there is a message on the screen describing what's wrong in plain english, instead of people reading that message they email me to say "it isn't working" whereupon I have to find the entry in the log with that error message and copy and paste it into a reply.

      And I get that people aren't going to understand complex error messages, but why do they think I'm going to be able to investigate a problem with absolutely zero information to go on. The aforementioned "one of our users is having a problem accessing a website" query is very frequent - why would anyone expect I would be able to figure out whats going on when I don't know which user, or which website, or what error message (if any) they are getting? We're talking sites that have several hundred users saturating a 100Mbps internet connection with web traffic, I can't trawl through a web proxy log (which often come to gigabytes per day) on the offchance I spot something "not right" - I need to have some vague idea what to look for.

    24. Re:Follow up by FireFury03 · · Score: 1

      It doesn't involve users to be code masters, it just involves them engaging their brain a bit. I frequently get bug reports along the lines of "something broke last week, came up with some error (I don't remember what), but I rebooted it and its fine for now; please fix it so it doesn't happen again".

      It seems to me that your program should be logging and reporting its own errors

      The software generating the errors is usually some third party thing that is interacting with our software badly, so we don't actually have control of the error-generating side most of the time.

    25. Re:Follow up by FireFury03 · · Score: 1

      Sounds like you might be part of the issue if you have the same users not supplying you with the needed information over and over again. Have you tried communicating what it is you need from them with the obvious disclaimer that you can't identify and fix the problems without that information?

      Yes, they just don't learn. This is defnitely a "user doesn't engage brain" problem - no amount of training is going to work if they don't even think something through at all.

    26. Re:Follow up by FireFury03 · · Score: 1

      I think users don't always realize that a fault is not just obvious by inspecting your software. They don't realize you have identify possible places in hundreds of thousands of lines of code, that you need to step through what happened or that you need to be able to repeat it in order to gather more information and know when you've fixed. Without any experience of code or debugging, reasoning about what is and isn't important just isn't something the user will have done. Worse, it's easy for users to think you're putting up bureaucratic barriers to escape extra work - which creating long mandatory forms with lots of required information will only make worse - or that you don't trust them.

      It's the enormous gulf of understanding about the other sides experience of a bug report that's the problem, not stupidity (though there's plenty of that around, too).

      I just don't get that. Everyone has to do problem solving as part of their job, everyone knows you need information to solve problems.

      If I tell a graphic designer "that's wrong" when I look at their work, they're going to want to know _what_ specifically I think is wrong, same with a sparky, plumber, teacher, etc. Just saying "thats wrong, fix it" is never going to work in any profession, so why do they somehow thing it suddenly will for software? I'm not saying they need to understand how to dig out a debugger and get a stack trace, etc. but when there's an error message on the screen I don't understand how anyone can think its unimportant to include that information when reporting the problem.

    27. Re:Follow up by arglebargle_xiv · · Score: 1

      In user speak "My Password won't work." is code for everything, including an unplugged computer.

      In user speak "Your program crashed" is code for any error message displayed by the app, e.g. "I tried to open blah.txt, but your program crashed". After asking for more details the response is invariably "It crashes with an error message", + 5MB BMP screenshot attachment showing a one-line error message "The file blah.txt doesn't exist". Probably 90% of all reports we get of "your program crashed" are the user doing something stupid, ignoring the error status that's reported, and filing a bug for "your program crashed".

    28. Re:Follow up by arglebargle_xiv · · Score: 1

      I suspect a lot of that, especially when users flat out lie, comes from users feeling they'll get a better and higher priority response if they start by trying as hard as possible to make it sound like a problem you're responsible for rather than they are.

      If you think it's bad in software, try working in medicine. Nine times out of ten "the baby's head is poking out" really means "the contractions are an hour apart, I want my maternataxi ride to the hospital!".

    29. Re:Follow up by Duggeek · · Score: 1

      I have some users that love translating text errors into numeric error themselves. Any time a page doesn't load, it's a 404. So that's what they report. "I'm trying to connect to thisdomaindoesntexist.com and I'm getting a 404."

      Hell, we could recount "worst user" stories all day long. This does point to a typical social phenomenon; perceived competence.

      The user in question probably just wants to be seen as more-competent, so they remember a time when they spoke to someone knowledgeable. It may have been the Geek Squad guy or a Desktop Support person, it doesn't really matter. Back then, they were told that the "page not available" paragraph that appears when they expected to see ReadNewsAllDay.com was sometimes called a "404", because that's what machines called the error. (not that the HTTP error table is all that accurate in the first place)

      That impression, when you combine it with the syndrome of brow-beater IT personnel, makes for a false association. The user then thinks, "So an error in my browser is called a '404' by the pros. I don't want to be talked-down to, so I'm going to use it the next time I call them and they might relate to me like I'm a human!"

      Brilliant, right?

      So, who carries the blame?
      I say it's a systemic problem, not a causational relationship.

      Blame the user? It's not his fault, nobody explained the actual significance of '404' to him, they just gave him a connection to it. Blame the sales geek? Not really his fault either, because his job is to make the technology more 'shiny' and less 'scary' --just doing his job. Blame the browser source? How can we? They caved to pressures from thousands of users to make errors "more understandable" and so the numbers were replaced with friendly paragraphs of hit-and-miss suggestions. Blame the brow-beating IT professionals? Can you really blame those guys after dealing with all of those ignorant, demanding and thankless users? Blame the makers of HTTP? Y'know... maybe we can!

      What can we take away from this?

      Here's one thing; technology has its deepest roots in obscure, cryptic and sometimes senseless nomenclature. The numbers, codes, acronyms and techniques being used were once so mystifying to the average person, it was almost like magic to them. As technology keeps evolving, it also keeps becoming more accessible to Joe Q User. However, some of the older technology has nigh-immortal longevity and persists it's often non-sensical origins of coded gobbletygook, (e.g., http) and--like an ancient language--requires an interpreter.

      The challenge then presents itself; being an interpreter without the implication that you are imparting actual, workable knowledge. Good luck.

      --
      This post © Copyrite Duggeek, all rights reversed.
  2. Simpsons Approach by Anonymous Coward · · Score: 0

    Can't somebody else do that?

    1. Re:Simpsons Approach by wonkey_monkey · · Score: 1

      Tibor will know what to do.

      --
      systemd is Roko's Basilisk.
  3. Make them feel connected. by MindStalker · · Score: 3, Insightful

    I think bug reporting was one of the things that the early Mozilla project did right. If anything give your users tools to track down the source of the bugs themselves. Your few power users who are developers, if you give them tools to view the stack trace or other such things often will, and they might be able to do much of the work for you.

    1. Re:Make them feel connected. by miketheanimal · · Score: 2

      Our power users are people who are good at selling you stuff you don't actually want. None of them are developers.

    2. Re:Make them feel connected. by DNS-and-BIND · · Score: 3, Insightful
      How is a USER supposed to track down a bug? They're users.

      Sounds to me like the developers just didn't like dealing with bugs and wanted the users to do it all and present them with a gift-wrapped solution.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    3. Re:Make them feel connected. by Dupple · · Score: 4, Informative

      How is a USER supposed to track down a bug?

      In the same way a beta tester does (among other things). Every time I do 'X' then 'Z' will happen instead of 'Y'. Please fix.

      Recreating a repeatable problem is a pretty good start. In my experience the hardest part seems to be getting the average user to explain what the problem in a way that can be understood that is beyond 'it just doesn't work'

      --
      Watch those corners
    4. Re:Make them feel connected. by Anonymous Coward · · Score: 0

      Yes please :)

    5. Re:Make them feel connected. by khallow · · Score: 1

      How is a USER supposed to track down a bug? They're users.

      They're users because they're using the program in question. They run into the use cases that trigger the bug.

      And an open bug reporting system means that users can get educated on what sort of bug reporting actually helps developers.

    6. Re:Make them feel connected. by Anonymous Coward · · Score: 1

      The user may be more of an expert with the system than you, the designer, are. They may also be more motivated to fix the error. They are also not necessarily any less intelligent because they reside in a different department or have a different career (a common assumption).

      True, they may not be programmers. But they just might be; or they might be enough of a power user they can do all the work for you.

    7. Re:Make them feel connected. by Anonymous Coward · · Score: 1

      So teach them that they have to sell the bug to get it fixed.

    8. Re:Make them feel connected. by __aaltlg1547 · · Score: 2

      One of the commonest problems is that the error occurs in a way that's not repeatable from the user's point of view. For example, he's editing a file and the software does something weird. Was it that I pressed the A key after I pressed the ESC key? Was it because I pressed the space bar while moving the mouse? Was it because the program's window was maximized in the right display instead of the left display? Was it because the program auto-saved while I was editing and part of my file had swapped out? Was it because there was a glitch in the interaction between the program I'm running and a license key verification subsystem? Or was it something so completely below what I as a user can see that I have no hope of giving you useful information?

      The best you can do to find out what the user was doing is write a log file and have an error reporting function that automatically sends the log file. Also, you can include every system request and every subroutine call. It might also be helpful to have the program take a screen shot and include that in the error report. Might be illegal though without the user's permission, and some failure are too hard to have the program do any of that stuff automatically. But then you can have another process monitor the main application and do the automatic reporting actions. If the main program terminates abnormally, you get an automagic bug report.

    9. Re:Make them feel connected. by Kjella · · Score: 1

      There's an 80/20 ratio here, if you fix the 80% that fail the same every time then you wouldn't solve everything but you'd solve a lot. And sometimes the exact set of conditions is obvious after a few tries (Example: A chess program I use, if you have hit "analyze" but is still reviewing the options and haven't started it, get challenged to a match (usually a rematch) and hit cancel in the analysis dialog, the client crashes. First time I thought random crash, second time waaaait didn't it crash before on something just like this, third time it was "I think it'll crash if I hit Cancel now" and I was right). Other things are just random like "the game crashes at random intervals", you can't catch them all that way but some or most is better than none.

      --
      Live today, because you never know what tomorrow brings
    10. Re:Make them feel connected. by Impy+the+Impiuos+Imp · · Score: 1

      You've already left 90% of humanity in the dust.

      Better to teach programmers to make the effort to write test fixtures to exercise the hell out of things.

      Why, for the past six months, does YouTube and everything else using that video player system (flash?) crash when doing a jump, about 1 out of 10 times? A simple fixture clicking different spots randomly every 5 to 1/10th second should make finding problems easy. When it can survive overnight, then you can relax a little.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    11. Re:Make them feel connected. by Anonymous Coward · · Score: 0

      Every time I do 'X' then 'Z' will happen instead of 'Y'. Please fix.

      This would be a nearly perfect bug report, assuming the program in question is assumed.

      This way you can diagnose if the problem is that they expect 'Y' when they should expect 'Z', or if 'Z' is happening because of a problem with 'X'. Either way, you need to fix something so that it is either clear that 'Z' is what they should expect (UI issue) or get 'Y' to happen as it should (backend issue).

    12. Re:Make them feel connected. by Anonymous Coward · · Score: 0

      Very true and correct. Also, try to explain to users when talking to them to just "report the facts mame." Try to have them leave out emotions and all of their
      personal frustrations, opinions, and idle chat that people like to add to a conversation that distracts everyone from the issue.

      Try to have them repeat the exact words. And most importantly, SPEAK TO THEM!!! DO NOT USE ONLINE FORMS!!! There is nothing more insulting
      then telling someone that their problem isn't worth your time to speak to them, just fill out a form and we'll decide how to handle your problem.

    13. Re:Make them feel connected. by Anonymous Coward · · Score: 1

      So the next bug report will look like this:

      Great new bug discovered! The application crashed today! I'm sure you'll have much fun fixing this!

    14. Re:Make them feel connected. by Jawnn · · Score: 1

      How is a USER supposed to track down a bug? They're users.

      Sounds to me like the developers just didn't like dealing with bugs and wanted the users to do it all and present them with a gift-wrapped solution.

      Bullshit.
      Asking for the most basic of useful information, as in "steps to duplicate" is not "gift wrapping". Bugs that appear at the user's hands are, almost always, bugs that developers and alpha testers did not see. It is reasonable, then, to expect the user to do what they can to document the steps that gave rise to the unexpected behavior. It is absolutely not reasonable to expect the developers to cast about blindly, guessing at how the user might have behaved.

    15. Re:Make them feel connected. by RoknrolZombie · · Score: 1

      You're assuming that the user cares enough to bother learning anything at all. In my experience as a support guy, it seems that about 99% of the people know the steps to do their job, and they don't rightly care about the software beyond it working properly. They would rather find an alternate tool (esp for stubborn bugs/issues) and move on, rather than learning to debug something that someone else has written.

      Don't get me wrong - I understand what you're saying, and in a perfect world where everyone was curious about "how things work" your suggestion would have a lot more merit, but where the world is at right now? No, you'll, just end up with 90% of your users wondering why their software wasn't written "correctly" to begin with.

    16. Re:Make them feel connected. by RoknrolZombie · · Score: 1

      How is a USER supposed to track down a bug? They're users.

      Sounds to me like the developers just didn't like dealing with bugs and wanted the users to do it all and present them with a gift-wrapped solution.

      Bullshit. Asking for the most basic of useful information, as in "steps to duplicate" is not "gift wrapping". Bugs that appear at the user's hands are, almost always, bugs that developers and alpha testers did not see. It is reasonable, then, to expect the user to do what they can to document the steps that gave rise to the unexpected behavior. It is absolutely not reasonable to expect the developers to cast about blindly, guessing at how the user might have behaved.

      It's only "reasonable" from the developers' side. From the user's side, they'll just wonder why the software wasn't debugged before they got their hands on it in the first place. While those of us that have worked in development understand that you simply can't account for each and every fucked up thing a user might do, the USER doesn't understand why it can't work like their car, or stove, or anything else that will work for years before it starts failing. They see the software as a "finished product", and to them that means one that's not broken. When it crashes, they consider it "broken".

      I agree that the world should be a different place, but that isn't going to make it so.

  4. No by miketheanimal · · Score: 1

    No. Well, not yet, but I don't expect that to change anytime soon.

    1. Re:No by Anonymous Coward · · Score: 0

      Period ( . )

      I think you want two of those. ;-)

    2. Re:No by vikingpower · · Score: 1

      You might be right ...

      --
      Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
  5. Force them to be better by Anonymous Coward · · Score: 2, Insightful

    We have a big internal web app, when it throws an error it will log that error as part of a graceful error handling process. (Page, scope vars, user info, time, etc) From there, the reporting system requires a unique bug tracking number (the error number logged above) and it checks for uniqueness and to see if it exists before it lets you open it. The only edge case it doesn't catch is when our tracking mechanism is also broken and these tend to be severe outages that are pretty easy to diagnose and reproduce. That is the only bug that can be reported with an email, all others are responded to with a "Please log in the application and we will route it appropriately"

    1. Re:Force them to be better by magic+maverick+ · · Score: 1

      Force them to be better. By beating the required information out of them. They'll soon learn to pay attention to what they did wrong, and to any error messages, if they consequences of not doing so are a thorough thrashing.

      Of course, in some nancy pancy places they frown on beating the users. In those cases, I guess you could try the carrot approach. Give them a chocolate coin for every useful detail in the error report.

      Have a clear list of what is required and what is helpful for any error report. Then, make it clearly visible and accessible (in the help of the application, in other documentation, etc.). Require users to complete a checklist before they can even submit a report via the bug report system. Refuse (or 'forget') all reports submitted via email, phone, or any other method that is not the bug reporting system.

      --
      HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
  6. No by vikingpower · · Score: 1

    Period ( . )

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
  7. Send a Screenshot by Saethan · · Score: 1

    Generally if we can ingrain that a screenshot and a username will be much more useful than any first-submission of a bug, we get things done faster. Most of the time we get the screenshot and find out PEBCAK...

    1. Re:Send a Screenshot by Cwix · · Score: 1

      That would be PEBKAC. Although I prefer PICNIC. Problem in chair, not in computer.

      --
      You are entitled to your own opinions, not your own facts.
    2. Re:Send a Screenshot by bickerdyke · · Score: 2

      Layer8-error

      ID-Ten-T error (ID10T) ...

      --
      bickerdyke
    3. Re:Send a Screenshot by Anonymous Coward · · Score: 0

      Generally if we can ingrain that a screenshot and a username will be much more useful than any first-submission of a bug, we get things done faster.

      You'd be amazed at how badly some people can screw up a screenshot, mainly by (A) cropping out the important parts or (B) scaling it down so that it's illegible.

    4. Re:Send a Screenshot by geminidomino · · Score: 1

      Or, my favorite,

      C) Pasting it into a MS word document

  8. Yes, i believe by Anonymous Coward · · Score: 0

    Developer and user relationship is one based on love, forget about streamlines and tickets open regarding the ticket tool itself, love is all a user needs.

  9. Depends on the user base by Enry · · Score: 3, Informative

    I've worked in support organizations for 15 years. In a commercial environment where you can afford the staff, having a tiered approach works best - you have a help desk to gather and refine the questions and answer the small stuff, then work your way up to the engineers that wrote the code. The tough part of that is having a skilled enough help desk to know when to skip the canned questions and just forward a request on once you have the right information.

    For organizations without those resources, you need to rely on the user base to be the help desk. Give them as much concise information as possible and frame the bug submission so that any and all needed data is in the report. Then it's up to the developer to give good information back to the user.

    As an example, I had a problem with my laptop's trackpad going wonky. Ubuntu made it really easy to compile information about my system and submit it as a bug report, then open it for me so I can add any additional text I wanted. The answer I got back asked me to try a different kernel, and included well-documented links and information on how to get and install it. Just saying something like "yeah, go grab something out of backports" doesn't help the user if they have no idea what you're talking about.

    1. Re:Depends on the user base by datavirtue · · Score: 1

      Dear User,

      Please access our source repository and compile the branch from last June. Remove the customer.dll assembly from the app/crm/customer/assemblies/ folder and upload it to the server in that same folder. That should fix your problem.

      Thank you for contacting the Help Desk.

      --
      I object to power without constructive purpose. --Spock
  10. Depends on your users by dkleinsc · · Score: 4, Insightful

    If your users are, say, someone who works in a different department of the same company as you do, then I've found that the best approach is to positively encourage them to send me reports. If I can't figure it out from the report, I'll even walk over and ask them to show me exactly what they did to cause the bug. When I do that, I give them some tips on how to write a report that explains that more clearly: "I logged into the website, clicked 'Foo', entered 'baz' into this box, then clicked 'Submit'. I got an error page instead of this other page I was expecting."

    If your users are mostly developers, then by all means give them easy access to stack traces, memory dumps, etc.

    If your users are mass-market end users, then include with your application a system that tracks user actions and sends it (along with a crash dump) to you at the user's request if there's a problem.

    If your users are calling in to your company to complain, plan on using some kind of desktop sharing software so that the user and you can see exactly what happened.

    If your users are dumber than a pack of hammers, then I have no answers for you.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
    1. Re:Depends on your users by Zero__Kelvin · · Score: 1

      " "I logged into the website, clicked 'Foo', entered 'baz' into this box, then clicked 'Submit'. I got an error page instead of this other page I was expecting."

      I see your problem already. You should have type "bar", not "baz"

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    2. Re:Depends on your users by Anonymous Coward · · Score: 0

      If your users are dumber than a pack of hammers

      Why waste branch-prediction cycles on that "if"? I have yet to deal with a user that ever evaluates to false on this one.

    3. Re:Depends on your users by Anonymous Coward · · Score: 0

      If your users are dumber than a pack of hammers

      Why waste branch-prediction cycles on that "if"? I have yet to deal with a user that ever evaluates to false on this one.

      If you treat your users like idiots, they will behave like idiots.

    4. Re:Depends on your users by Anonymous Coward · · Score: 0

      "If your users are mass-market end users, then include with your application a system that tracks user actions and sends it (along with a crash dump) to you at the user's request if there's a problem."

      Good advice. Our company outsourced this to the NSA already.

    5. Re:Depends on your users by notknown86 · · Score: 1

      You ignore the Bush paradox: if you elevate your idiots above their ken, they become more dangerous idiots.

    6. Re: Depends on your users by Anonymous Coward · · Score: 0

      How is this only +1? Where's the love, people?

  11. Huh? by Anonymous Coward · · Score: 0

    You hire someone for fucking quality control you cheap bastard. USERS ARE NOT THE ONES WHO SHOULD BE MAKING BUG REPORTS. The software industry has been lazy for the past 25 years. Fix your fucking code before you release it, not after.

    1. Re:Huh? by BreakBad · · Score: 0

      QC tells developers that their product sucks and then tells the boss their product sucks and why. Then the developer has to fix things in a timely manner like their getting paid or something....its horrifying. OTOH, user's just give vague feedback and allow the developer more opportunities to be condescending...much like it when IT snickers at you when you can't do something because you don't have the correct permissions/roles. This process also allows the developer opportunities to manufacture job security through poor design and/or setting self serving goals.

    2. Re:Huh? by RaceProUK · · Score: 1

      You must be incredibly lucky to have a test department with millions of machines with every conceivable variation in environment possible.

      --
      No colour or religion ever stopped the bullet from a gun
  12. Worse error messages by sheetzam · · Score: 5, Interesting

    When writing error messages, don't have it spit out something sensible. Have it spit out something completely crazy but memorable, which you can then grep the code for. Something along the lines of "The Cake has hit the Fan" or "The Chickens are eating Pie". This improves the odds the user will remember it and report it correctly, giving you some hope of finding where the bug is in the code.

    --
    "Actually, I enjoyed this in the same vague, horrible way I enjoyed the A-Team" P. Opus
    1. Re:Worse error messages by Rob+the+Bold · · Score: 3, Insightful

      When writing error messages, don't have it spit out something sensible. Have it spit out something completely crazy but memorable, which you can then grep the code for. Something along the lines of "The Cake has hit the Fan" or "The Chickens are eating Pie". This improves the odds the user will remember it and report it correctly, giving you some hope of finding where the bug is in the code.

      Or make it copy-and-pastable so no human memory is required. Or log it and make sending the log easy enough for your users. A nice user message followed by a more detailed procedure unwind or whatever applies in your application can be mighty useful.

      --
      I am not a crackpot.
    2. Re:Worse error messages by Anonymous Coward · · Score: 0

      "The Cake has hit the Fan"

      I think I remember that episode... Moe, Larry, and Curly delivered the wedding cake but couldn't figure out where to put it. Ah! Right here.

      Fortunately, there were tables full of pies that weren't affected. But some of the well-dressed guests, having been creamed by the cake, weren't happy...

    3. Re:Worse error messages by Anonymous Coward · · Score: 0

      Or make it copy-and-pastable so no human memory is required.

      That won't make users copy and paste it. They'll still swat it away and then call or email with a vague complaint.

    4. Re:Worse error messages by RaceProUK · · Score: 1

      Purple Monkey Dishwasher

      --
      No colour or religion ever stopped the bullet from a gun
    5. Re:Worse error messages by Anonymous Coward · · Score: 0

      No, if you're application is ever in that error state you should know about it, and know why it happened immediately - not when the user decides to report it.

    6. Re:Worse error messages by sqlrob · · Score: 1

      Yeah, the app should phone home when the bug report is "Loss of network crashes app"

      And people love it when things record everything that happens. Look at how many loved the One.

    7. Re:Worse error messages by scottbomb · · Score: 1

      Interesting idea, I like it. The problem I've seen with errors is that they are sensible to programmers but cryptic and meaningless to users. If you are writing errors, put them in plain English (or whatever language you're programming for).

    8. Re:Worse error messages by Anonymous Coward · · Score: 0

      Plain English doesn't work. I don't know why, but end users /never/ understand /anything/ that's written in plain English when it's on a computer screen. I think perhaps they assume it will be too technical and they don't bother. GP is correct. Make it something weird but memorable.

      In my company users also have a persecution complex, so when they see something they don't understand, they assume it's some insider joke that's meant to insult them. I didn't know about ID ten T forms until one of my co-workers asked me why I didn't just ask them to fill one out.

      I've found success by making faux Unix error codes like ESERVEROFF or ENOZIPCODE or ENOTLISTED. It was an act of desperation when I made the first one, but it worked much to my amazement. There's enough English there that they won't just balk at it, but it also looks technical enough that it's not some underhanded insult. It's simple enough for them to remember, and when they remember it and report it to me, they feel like they're smart and computer-savvy. It's a win-win.

    9. Re:Worse error messages by FatLittleMonkey · · Score: 1

      So when they call, you say, "Click on the 'Help' menu [explain where that is], 'Troubleshooting', 'Send message log to helpdesk'," so you can see for yourself what the message was and what program state triggered it.

      What, your product doesn't log that stuff? Yeah, this is totally the user's fault.

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
  13. Speak to the Submitter by Capt.Albatross · · Score: 3, Interesting

    The sooner, the better. You need an agile bug response process.

    1. Re:Speak to the Submitter by Anonymous Coward · · Score: 0

      It would be more effective to remove the user from the equation.

  14. Forms by Anonymous Coward · · Score: 1

    The easiest way to get goo bug reports is to have a good way to submit them. Have a form, have the form fields clearly labeled. Include documentation indicating what sort of information you need. Make it clear, short and simple. Have one person on the team whose job it is to follow up on bug reports, get more information and update the users on the progress of the bug. If users think a bug report is a black hole and nothing gets done they won't send good ones.

    1. Re:Forms by Somebody+Is+Using+My · · Score: 1

      Even with forms, don't bet on getting clear bug reports.

      Aside from all the other issues mentioned earlier, there is another reason users do not provide good bug reports: time. It takes time to write up a proper report, explaining all the details (what they were doing, what they expected the program to do, what it actually did), provide .LOG files, screenshots, annotations, etc.

      A form can remind them of what information they need to provide, but it won't make the actual data-collection any simpler. And users frequently already have enough on their plates without requiring them to take the time to write up all the necessary information. Add in to this their frustration that the program "doesn't work" and they have little incentive to put the effort into writing up a detailed synopsis of the problem. They just want to do their job, not have to deal with (what they consider) YOUR job.

      In short, don't expect the users to provide good reports for you. Better to build the necessary tools into your software so that it can collect most of the data you need automatically.

    2. Re:Forms by BVis · · Score: 2

      Not to mention the 'horse-to-water' problem with a formal ticketing system. If you have a phone, and they know your extension, they'll just call you directly instead of, you know, actually doing anything. And unless you've got C-level buy-in on the ticketing system, telling the user to go open a ticket is usually a Career Limiting Event.

      No, the way to enforce usage of a ticketing system is to not tell the users about any other way to contact you.

      --
      Never underestimate the power of stupid people in large groups.
    3. Re:Forms by Somebody+Is+Using+My · · Score: 1

      Just as importantly, make that ticketing system responsive to the users. Because otherwise they will ignore it and find other ways of contacting you.

      If a user creates a ticket explaining their problem and don't get a response at all - or only receive a generic "ticket #12743573 created" response - they will have absolutely no confidence that the problem is going to be noticed, much less resolved. Since their workflow probably depends on the problem being fixed, they will desperately seek out a human contact, be it some random tech they worked with in the past, the sales person who sold them the program, or the CEO of the company that developed the software. And they will keep pestering people until they get some indication that their problem is being worked on.

      On the other hand, if somebody replies quickly (within the hour) to their ticket, even if only to say "hey, we see you submitted a problem, we're looking into it", it will buy the developers days or even weeks before they hear from the user again because they now have confidence (perhaps misplaced, perhaps not) that their problem is not lost in some machine.

    4. Re:Forms by BVis · · Score: 1

      To get there, you need enough developers to keep up with the flow of tickets. And as we all know, hiring enough staff to reasonably handle the workload is a concept that is mostly foreign to most for-profit businesses.

      --
      Never underestimate the power of stupid people in large groups.
    5. Re:Forms by Anonymous Coward · · Score: 1

      But in that case those same companies can't complain when their users don't give them better bug reports.

      User doesn't want to submit bug reports because it takes too much time, even though some effort in the beginning will probably save them time in the long run
      Developers don't want to put support customer service because it costs too much, even though it will probably save them money - by keeping the customers happier and getting them better bug reports.

      Neither side is blameless, I guess, although - seeing as the users are usually paying the developers(either for a working product or for support) - the onus is more on the latter than the former.

  15. Bug template by Anonymous Coward · · Score: 4, Insightful

    In your bug tracking system, provide a bug template they need to fill in.

    Encountered situation:
    Expected situation:
    Error messages, if any:
    Steps to reproduce (please provide screenshots if appropriate):

    If the template is not fully filled out, simply throw it out with "insufficient information/cannot reproduce". Eventually your users will grow up.
    Also, there's nothing wrong with walking up to a user's desk (if physically possible!) and ask them to show you what they did.

    1. Re:Bug template by Anonymous Coward · · Score: 0

      If the template is not fully filled out, simply throw it out with "insufficient information/cannot reproduce".

      Yeah, or they stop using your program or stop reporting bugs. Either case, satisfaction of the software drops.

      Also, there's nothing wrong with walking up to a user's desk (if physically possible!) and ask them to show you what they did.

      That is good advice. But if you can't do that, you should be able to get the user to do this over the phone.

    2. Re:Bug template by Anonymous Coward · · Score: 0

      Encountered situation: The application didn't work.
      Expected situation: The application works.
      Error messages, if any: Not sure.
      Steps to reproduce (please provide screenshots if appropriate): No idea

      SCNR

    3. Re:Bug template by datavirtue · · Score: 1

      speak in human language.

      What happened:
      What did I expect to happen:
      Error messages, if any:

      If the template is not fully filled out, simply throw it out with "insufficient information/cannot reproduce" Eventually your users will grow up.

      You should be fired.

      --
      I object to power without constructive purpose. --Spock
  16. Use Forms by Anonymous Coward · · Score: 0

    This kind of idea of dedicated forms works fine and reduces the clutter:
    http://www.linksceem.eu/ls2/user-resources/user-support/access-issues-login.html

    (in fact, if you force users to pass through the process first time before entering the system,
    magically things work smooth)

    1. Re:Use Forms by v1 · · Score: 1

      agree with the forms. You can't expect good answers if they're not replying to good questions.

      the BARE minimum:

      1. what were you trying to do?
      2. what happened?
      3. what were you actually expecting?

      That's not necessarily a good list to give to a user, but this is what we tell our front line people to keep in mind when taking a call. There will be two basic limiting factors with online ticket forms. (1) people may not understand the questions and be intimidated enough to not be willing to use the system and (2) duplicate tickets. Make sure whatever you use can handle both issues.

      If people aren't using your forms and you've done due diligence with making them aware of them and the need, and they're not getting used, don't blame the users because it's probably something you're doing wrong.

      Probably the most frustrating experience for a user is to enter a ticket, and have it "closed" without their having believed it is fixed. Maybe it's fixed and they just didn't even look. Maybe it was changed to work properly and they don't know the new way to use it. Maybe they fixed the problem the customer described, but not what they MEANT. Maybe the fix didn't actually fix the problem at all, or didn't completely fix it and the customer's symptom remains. Maybe they've just been avoiding where the problem is for the last two weeks because they didn't realize it had been fixed on day 2.

      Feedback and communication make tickets work.

      - make sure you understand the problem. users often try to diagnose the problem and tell you what's wrong, instead of WHY they think it's wrong. here we say "don't check in diagnosis, check in SYMPTOMS." Users frequently mis-diagnose problems. "I can't send email" could stem from "I don't have internet". "My hard drive is dying" could stem from "my computer keeps suddenly shutting down". The entire process is completely dysfunctional if you don't understand their problem. Make sure your form gets symptoms, they're more important than problem descriptions.

      - followup is costly, but you NEED to do it. So many ticket systems skip this it's sad. NOTHING frustrates a user more than to have their ticket closed without their believing their problem is fixed. "xxx is fixed. if we don't hear back from you in 24 hrs we will close the ticket" isn't the best solution, but should be considered a bare minimum. If the customer replies back that they don't feel it's fixed, don't just dump it back into the tier 1 queue. Escalate it, increase user interaction, get more information, get feedback. DO NOT rely exclusively on the information in their "it's still broken" reply message. It's time to make a phonecall for more effective live two-way communication.

      - prioritize tickets. not just in order of submittal but in order of urgency. tickets that have been back-burnered for awhile should get a bump to their priority. More than one level's worth if needed. The person doing the bump should probably NOT be the one processing the tickets. It's been my experience that an objective fresh viewpoint is needed to make sure that unpleasant tickets don't languish on hold.

      One place I worked at recently, the users had almost totally lost confidence in the ticket system. It required me to have comprehensive personal followup on tickets for a solid year before people started trusting the system again. Techs in charge of the queue were summarily deleting vague or "cannot reproduce" tickets with not so much as a response. Tickets were also silently closed whenever a tech though they had fixed the issue. (several tickets had been freshly ressubmitted over a dozen times because the tech didn't understand the user's problem and thought he had fixed it and the user was just too dumb to realize it) Tickets that had several dups in the system from the same user or few users were deleted en mass just to clear the clutter. ("if it's still a problem I'm sure they'll submit another ticket shortly") It was terrible. They had conditioned users

      --
      I work for the Department of Redundancy Department.
    2. Re:Use Forms by mcmonkey · · Score: 2

      One place I worked at recently, the users had almost totally lost confidence in the ticket system. It required me to have comprehensive personal followup on tickets for a solid year before people started trusting the system again. Techs in charge of the queue were summarily deleting vague or "cannot reproduce" tickets with not so much as a response. Tickets were also silently closed whenever a tech though they had fixed the issue. (several tickets had been freshly ressubmitted over a dozen times because the tech didn't understand the user's problem and thought he had fixed it and the user was just too dumb to realize it) Tickets that had several dups in the system from the same user or few users were deleted en mass just to clear the clutter. ("if it's still a problem I'm sure they'll submit another ticket shortly") It was terrible. They had conditioned users to submit duplicates almost daily until they thought their problem had been fixed.

      Overall a great comment, but I'm puzzled by "the user was just too dumb to realize it." Chances are the user realizes exactly what is going on in that situation. Techs are closing tickets without resolving issues due to either laziness or metrics which grade them on closing tickets and not on resolving issues.

      With globalization and out-sourcing, walking over to the support team and standing over someone until your issue gets attention isn't an option. Then systems are put in place so submitting a ticket is the only avenue of communication for the user. When you make sure the only tool the user can access is a hammer, you can't complain when they treat everything like a nail.

      The rest of your comment addresses issues within the support team and ticketing system that lead to duplicate tickets, so perhaps you meant dumb as in insane as in repeating the same action (creating a ticket) and expecting a different outcome.

      To a large extent the issue of bug reports from users can be summed up as "garbage in, garbage out." You want more detail than "it doesn't work"? OK, then how much detail do you give users in your error messages? And I mean plain language messages end users can understand. Displaying the memory address of a misbehaving bit is very detailed, but not something you should expect the end user to remember or communicate.

      For getting better context for issues or steps for recreation, how good are your instructions? Can the user include in a bug report, "I was performing procedure A and get the error on step 27"? If not, then don't expect that level of detail from the user. For one, most people don't have an active (and accurate) buffer of the last 5 or 10 things they did. What were you doing 3 steps before the error? Well, I didn't know an error was coming, and so I didn't know the thing I did 3 steps before was going to be important, and so I have a general idea of what I was trying to do, but I don't have the exact steps documented.

      Also in many instances it is not practical for the user to try to recreate the issue. If it's an eCommerce system, I'm not going to repeatably submit an order trying to come up with a reproducible sequence to get an error and risk getting charged multiple times. There are many systems subject to regulatory and audit oversight where creating test records or dummy data is not acceptable. So, do give your users access to a non-production system where they can recreate their issue without affecting real data? If not, you're limiting their ability to provide that level of detail.

      I'm not saying the issues are all on the technical side. I've been on the support side and seen the "it's not working" reports where the user doesn't even specify which application isn't working (let alone which feature or option). But there is a lot the technical side can do to provide the users with the tools to submit useful bug reports.

  17. Just ignore them.... by Anonymous Coward · · Score: 0

    Direct all bug reports to /dev/null

  18. Not Up to Users by Anonymous Coward · · Score: 0

    It's the responsibility of the programers and developers to test their software, not pawn this responsibility off on the users. It's all about $.

    1. Re:Not Up to Users by Dunbal · · Score: 1

      Yup, maybe we should start paying for software with a small percentage of counterfeit money. You know. And ask them to file a report when that money doesn't "work". And maybe get around to fixing the problem. Eventually.

      --
      Seven puppies were harmed during the making of this post.
  19. The BUG! Button by AndyCanfield · · Score: 5, Interesting

    On every page of the site that I did for this company, in the upper right corner, there is a button labelled "BUG!". Click on it and a dialog box comes up that says simply "What's wrong with this page?" and has a big blank area to fill in. The dialog box has a "Submit" button.

    What is not visible is that the JavaScript code for the BUG! button is grabbing all the information it can from the browser itself - what the current URL is, all the global JavaScript variables, name of the current logged-in user, time and date, browser type, web page contents, etc. All grabbed automatically.

    And all stored in a special file on the server. The only thing the user has to tell me is what she doesn't like about that page.

    The BUG! button was invented - by me - as a reaction to Bugzilla, which seems to be designed to keep users from reporting problems. I can ignore pointless bug reports, but I want to hear everything.

    1. Re:The BUG! Button by Qzukk · · Score: 1

      Click on it and a dialog box comes up that says simply "What's wrong with this page?" and has a big blank area to fill in.

      "It's not working."

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    2. Re:The BUG! Button by StormReaver · · Score: 2

      Bug reporting has to be extremely easy for users, or they just won't do it. Bugzilla is an absolutely excellent, unsurpassed example of how to prevent users from reporting bugs in software. It is absolutely wretched and damn near unusable.

      Your idea is excellent: let users complain in their own words, but have the software transparently gather all the runtime information needed to reproduce and identify the problem. That should also work for desktop apps written in Java or C#, which is something I think I'll create for my own apps.

      Thanks for the suggestion.

    3. Re:The BUG! Button by eulernet · · Score: 1

      Nice idea !

      In my case, when the program catches an error, it displays a text input and a Send button.

      I expressedly ask the users to explain how they reached this message, and I encourage them to report bugs in order to improve the quality of the program.

      When they click Send, it sends a mail containing their message along with the (hidden) callstack and the error message.

      Most of the time, people are unable to explain how they encountered this error, but at least they always press Send !

    4. Re:The BUG! Button by Chris+Mattern · · Score: 1

      The only thing the user has to tell me is what she doesn't like about that page.

      And odds are that'll be, "It doesn't work."

    5. Re:The BUG! Button by Anonymous Coward · · Score: 0

      And as a small followup to this: once you're automatically sending up things like global JS variables, consider adding extra "logging" variables. Is it useful to have a little bit of "what has the user done in the past" sort of information? Then store that somewhere, and when a bug report happens, you're getting the information with the bug report too.

      That way, in addition to seeing "Oh, globalInformationThingie is zero, that's the problem", you might also have "lastGoodValueOfGlobalInformationThingie=99999999" and you can immediately say "hey.... looks like some kind of overflow it's an invalid zero now, but in the past it was a stupidly large value! Maybe I should check if there is some field where we're checking for a max length or size on that...".

      Similarly, you can store some log of what menus people have clicked on, so instead of just the current value of menu options, you have some "history" of how they got there.

      This may or may not be useful for your program/site, depending on what you are doing, but I've often found that once I see the current values, I know what _is_ wrong, and then my next question is "ok, what the heck did they do to make it get to that state, there isn't supposed to be a way to get that value into that variable...". So preemptively building in extra logging and tracking information can make it easy to answer these questions if the user just types in "I clicked some buttons and it broke!".

    6. Re:The BUG! Button by Anonymous Coward · · Score: 0

      I'm also an advocate for this approach (that is, providing as much context info behind the scenes as possible).

      So much so that I've been writing a service to allow anyone to do this with a few lines of code: http://bugreportjs.com

      James

    7. Re:The BUG! Button by Anonymous Coward · · Score: 0

      JIRA has a good issue collector. https://confluence.atlassian.com/display/JIRA/Using+the+Issue+Collector
      You go to the administration page of your project, create a new collector, it generates one line of javascript that you add to your application and you're done.

    8. Re:The BUG! Button by Duggeek · · Score: 1

      This, I like.

      --
      This post © Copyrite Duggeek, all rights reversed.
  20. You could try asking them by Anonymous Coward · · Score: 0

    I've filed many bugs against certain open source projects only for the developers to respond with "How am I supposed to fix this? Why aren't you telling me anything?". I'm not sure why they think the first submission will contain everything they need to replicate the bug, but that seems to be the expectation.

    1. Re:You could try asking them by Rob+the+Bold · · Score: 1

      I've filed many bugs against certain open source projects only for the developers to respond with "How am I supposed to fix this? Why aren't you telling me anything?". I'm not sure why they think the first submission will contain everything they need to replicate the bug, but that seems to be the expectation.

      That's a fair request. When the developer is secretly thinking of a bug report format and required additional information and users are required to guess what that is, they'll probably give up after one guess. After all, they didn't develop the product, so without telling them what's required to debug and how to report it, they'll probably never guess the secret. Refining the report with some back-and-forth would go a long way in cases where you're dealing with a user capable and willing to provide this extra info.

      Of course, there will be users who just can't help that much due to their own limitations or the time they have available to debug your product, so their reports will probably never be all that helpful except in a statistical sense. That's OK. Not everyone is a programmer or QA specialist or whatever. You're probably not qualified to listen to a piano recital and give the performer constructive criticism either, even if you knew it didn't sound as pleasing as you would've liked.

      --
      I am not a crackpot.
    2. Re:You could try asking them by hendrikboom · · Score: 1

      Which is why, whenever I file a bug report, I make a point of asking what information I should provide that might help diagnose a problem. In case the developer is as clueless about responding to users as the typical user is about responding to developers.

      -- hendrik

    3. Re:You could try asking them by hendrikboom · · Score: 1

      It may or may not be a fair request, but it's only useful if the developer tells the user what information he needs and how to go about getting it.

      -- hendrik

  21. Use the software yourself by bAdministrator · · Score: 1

    There are many bugs that would easily be detected by actually using the application on a daily basis.

    Users do not work for you. When they do post bug reports, it is most likely in frustration.

    1. Re:Use the software yourself by Rob+the+Bold · · Score: 2

      There are many bugs that would easily be detected by actually using the application on a daily basis.

      Users do not work for you. When they do post bug reports, it is most likely in frustration.

      Providing that the developers actually have the ability and resources to do that. Most (much?, some?) software isn't developed for use in the programmers' domain, and real-world deployments often have conditions that aren't fully replicated or anticipated even in even a good simulated environment. Your developers probably don't operate a retail POS or limestone quarry or credit card call center or whatever environment the product is used in.

      Not that this is an excuse not to do your best to test it out before handing off to the end user, it's just that the conditions that make the bugs appear are sometimes the very conditions you don't anticipate and can't or don't know to test.

      --
      I am not a crackpot.
    2. Re:Use the software yourself by bAdministrator · · Score: 1

      Programmers have to know the domain for which they are developing.
      You have to make using the software part of your time, just as code review shuffles through roles.

      For your example, if your software has so many unknown states when shipped, it's fair to say it's based on luck if it works right.

      You would actually need an environment where you could map out states, and simulate input devices.
      Software development is still young, and I don't think we know how to do it right yet.

    3. Re:Use the software yourself by RaceProUK · · Score: 1

      There are many bugs that would easily be detected by actually using the application on a daily basis.

      I don't know about you, but I don't have a pressing need to know what some ice-cream trucks in Switzerland are doing at a particular moment in time (The system I work on is fleet vehicle tracking and management). I have more important things to do, like watch TV or play games.

      --
      No colour or religion ever stopped the bullet from a gun
    4. Re:Use the software yourself by bAdministrator · · Score: 1

      Programmers are so binary. ;) Well, it depends on the program. The less the program does, the simpler it is, because it's closer to being mechanical (not dealing with complex state).

    5. Re:Use the software yourself by hendrikboom · · Score: 2

      Users will do things the devellopers never dreamed of, because no develpoer can have the level of ignorance of the software that the user has.

      -- hendrik

    6. Re:Use the software yourself by bAdministrator · · Score: 1

      I know what you mean, and this is only about context.

      What you may want to try is to use context tests.

      Example: You start the program, then go; I want to do this (think of some action); then you do that action. The key point being not to be allowed to think too much about what you do. It's not an "academic approach," but it's quite efficient, especially in games. However, the psychological factor is to avoid things that hurt the ego; this is especially true when developers are not able to distance themselves from their work; it's just a tool.

    7. Re:Use the software yourself by Duggeek · · Score: 1

      Users do not work for you. When they do post bug reports, it is most likely in frustration.

      I think the point is more: Why are your users not working for you?

      As for the bit about frustration, that's more of an overall issue. That's a bug in the human system; not the user, the whole organization.

      If users had an approachable, understandable and friendly way to report bugs, there wouldn't be such stress. The frustration comes from the expectation of how a bug report (or opening a ticket, or calling IT, etc) will play out. Often, for them, it's an exercise in futility and exasperation, dealing in a great many things that they don't understand and, more to the point, don't care to understand.

      If the process wasn't so confusing or demeaning, it wouldn't be considered as a "last resort" for so many users.

      --
      This post © Copyrite Duggeek, all rights reversed.
    8. Re:Use the software yourself by Duggeek · · Score: 1

      I think what you're trying to say is:

      Make something "idiot-proof" and the universe is certain to send along a better idiot. --Rich Cook (paraphrased)

      --
      This post © Copyrite Duggeek, all rights reversed.
  22. Fields with fixed format + lots of logging. by Anonymous Coward · · Score: 1

    Over years I've devised a system that works very well. I've used it mainly for web apps, but I'm sure it can be adopted. The key is:

    A) Limited number of predefined fields
    B) Extensive logging on backend.

    ad A) I like to use following fields information:
    - User you're logged in as (login/email)
    - Page that you've encountered error on (link).
    - Screenshot (of whole screen! - add an flash app to take screenshots if possible).
    - Operating system / Browser (sometimes needed, sometimes loggin on server is sufficient) best to have predefined list with radio buttons.
    - Bug description in following format
        After I did ......
        happened .....
        Instead I'd like for ..... to happen.

    ad B)
    - Logging every visit, every page view with:
        - Operating system, browser, browser dimensions.
    - New relic.
    - Airbrake.io (or alternative / equivalent for your language).

    With those two things you should be able to track most of feature requests (otherwise known as bugs).

  23. Show the reporters of bugs you care and appreciate by Rooked_One · · Score: 3, Insightful

    ... their efforts to reach out to. They are actively trying to help you make your program better. I am not a programmer, however growing up in the pre-nintendo tech days, I know what a bug looks like. I've reported many bugs, and the only response was from Charlie on the Natural Selection (Half-Life mod) team. As much help as he had been in the past when I lost my account info and helped me retrieve it when he was just a one man team, basically, the response back was lacking. I chalked it up to being busy.

    If you're telling me you have time to program, but can't take the time to read an email that's bullet-pointed with very specific details and at least respond like a grateful human, then I am just going to say you have way to many e-mails to respond to or you're lying. In the prior, get more help. In the latter, please seek help.

  24. follow-up by sharma.vasudev · · Score: 2

    No matter what process you employ it will fail, what you need is someone who is willing to follow-up with the users and step in their shoes, I have realize users are always willing to report a bug as long as it makes them feel important and FOLLOWUP.

  25. Screen Capture by radius1214 · · Score: 2

    I believe it was Google who at some point had an option to highlight the portion of the page that showed the problem, as well as submit a comment about it. Being able to see exactly what this user is talking about would help quite a bit when I go to fix a bug.

    --
    --"Forget the nectar of the Gods, just give me some Mountain Dew."
    1. Re:Screen Capture by jones_supa · · Score: 1

      Yes, I have seen this feature being used at least in YouTube feedback system.

  26. Multiple Methods by Murdoch5 · · Score: 1

    First stage is a php form I wrote which asks them very directed questions. They have to answer questions like "What was running on the computer when the bug occurred. Were you running the software in VM, Did you follow the setup directions properly, Did you download the newest version from the test server etc....

    Second stage is they let the form take logs from the computer, I automated the process so the form takes what it needs. They literally hit start and go have coffee or something well it works away. Once that is done I get an email with the form data and the logs.

    Third step is reproduction, I give the data to another user and asked them to reproduce the issue, if they can't then I visit the submitter if possible or ask for them to take a video of it occurring. If they can then I also grab the data and at that point I have what I need to fix the bug.

    Once bugs are fixed both testers have to try and reproduce the issue and so far it's been very very rare that they can. The user can only answer the questions you ask them and I hate when QA tester ask bad question and complain about useless answers. Ask the right questions and you'll get the right data. You also have make sure developers are building great logging systems. A logging system should be good enough that with out the tester inputting to the issue you can see all the data you need! If you can't then the logging system isn't designed well enough and needs to be redone.

    1. Re:Multiple Methods by FatLittleMonkey · · Score: 1

      Did you follow the setup directions properly, Did you download the newest version from the test server

      I hate when QA tester ask bad question and complain about useless answers.

      sigh

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
    2. Re:Multiple Methods by Murdoch5 · · Score: 1

      Should of proof read that a little better.

    3. Re:Multiple Methods by FatLittleMonkey · · Score: 1

      I wasn't responding to the dropped plural and incorrect capitalisation. I was responding to the irony in you complaining about bad questions and the achingly bad questions you posted as examples of what you ask.

      Asking the user, "Did you download the newest version from the test server", when you already auto-grab user information, which I would damn well hope includes build info.

      Or ever asking anyone "Did you follow the setup directions properly?" No, I sincerely believe I'm the problem, that's why I'm submitting this as a bug report.

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
    4. Re:Multiple Methods by Murdoch5 · · Score: 1

      Actually even if I grab the build information myself it sometimes makes the user stop and think about submitting the bug before they do. I've had many cases where instead of submitting a bug the tester will first download a new version of the app and then retest. It saves me a ton of time having to rule out old versions.

      Did you follow the setup correctly is important because although I'll have a copy of the configuration is does the same job as above, as in it makes the tester / user think about it before the bug gets submitted.

      Before when I didn't have questions like this in the form I use to get a lot of old version bugs submitted and a TON of incorrectly configured program bugs. The point of a good QA question is to make the user think about what he / she types and make them think about what they did before the bug occured. Well I still get a few incorrect version bugs and I still get a few incorrect setup bugs for the most part they are non existent.

      My system for getting good data back works for me and that is all I care about, if someone else has a better more efficient method then great.

  27. Encourage, Listen and Reward by Sla$hPot · · Score: 1

    Encourage and make it easy for users to send feedback.
    Listen to complains, no matter how rude.
    Reward the users by acknowledging their reports and by actually fixing the bugs or by adding requested features when it makes sense.

    1. Re:Encourage, Listen and Reward by Anonymous Coward · · Score: 0

      As someone who has spent many an hour of frustration on bug trackers, this would be my list:
      - Improve your own reading skills.
      - Stop being in denial about every sodding bug filed.
      - If a bug report reads ‘If you do X, Y happens’ don't close it with ‘no steps to reproduce’ without first trying to do X.
      - Don't prohibit people from filing bugs ‘because there are so many open bugs already’.
      - Actually try to use your own software to do serious work for once.
      - Don't be an ass.
      I've seen the problem from both sides of the fence (dev and user) and the problem almost never lies with the submitter of a bug.

  28. Have tried everything by Stormcrow309 · · Score: 2

    Hello everyone,

    I have tried a bunch of ways. Trained the 'expert' users in the area on how to put in a better ticket. Sent tickets back to them because of lack of information. Judicious of cattle prods and a tack hammer... However, users will use what method is easiest to them, which tends to be:

    1. Calling someone they know directly
    2. Emailing someone they know directly
    3. Emailing the ticket capture email address with 'Call me'
    4. Calling the service desk
    5. Screaming at someone from IS in the hallway
    6. Emailing the ticket capture email address with a long email chain which tangentally mentions the issue somewhere in the middle
    7. Complaining to coworkers
    8. not doing anything
    9. Log into the ticket system and put in 'call me'
    --

    In God we trust, all others require data.

    1. Re:Have tried everything by Duggeek · · Score: 1

      I have tried a bunch of ways. Trained the 'expert' users in the area on how to put in a better ticket.

      The fact that you need 'expert' users to effectively utilize the bug system says less about your users and more about your system.

      [...] users will use what method is easiest to them

      Indubitably, so why aren't your methods getting any easier? Ah! Maybe you haven't tried everything after all!

      • If they're calling someone they know, then why else do they have that number? (same goes for direct email)
      • Why is that capture address visible at all?
      • Uncivil behavior between employees is a matter for HR, don'cha think?
      • Email chains, tickets, log files... you're gonna have to sift through some crap at some point, right?
      • Who doesn't complain to coworkers?
      • Now, doing nothing is the worst offense, but only because the user feels like she has no viable options.
      • What sort of ticketing system allows "call me" as a sufficient description? If anything, that's a clear "cry for help" about your ticketing system.

      So, what you're saying is that the users don't make your job any easier, and in return, you're going to make your workflow less accessible and make their job even harder? I'm feeling sorry for someone in this story, and it isn't you.

      --
      This post © Copyrite Duggeek, all rights reversed.
  29. The NSA method works. by Thanshin · · Score: 5, Informative

    - Record all their actions on a self overwriting one hour long file.
    - Give them a "one button" way of reporting a bug. The button saves the user and the time, then waits for five minutes and then sends you the recorded actions file.

    It's simple to develop and gives you a lot of information. It might be illegal in some countries.

    1. Re:The NSA method works. by ericloewe · · Score: 1

      Not if you warn them and force them to click a button that reads "I accept". They won't read it anyway and blindly click it, so they won't complain too much.

      If someone asks, blame it on some distant entity, like Microsoft, Adobe, the NSA or whatever you think they'll fall for.

    2. Re:The NSA method works. by Anonymous Coward · · Score: 0

      That is almost what my software does, it is called an incident report and you can click it from the help menu.
      It will then show a window of everything that is added to the incident report .zip file (which the user can mail afterwards).
      It includes:
      - A screenshot of every window (even the ones which are not shown on the screen, OS X allows an application to make a screenshot of its own windows even in sandbox mode)
      - The log file, I duplicate stderr to a file which is accessible from the sandbox (console log is not accessible). The log file contains most of what I need to figure out in what state my application is in together with the preferences files.
      - The preferences file which basically contains all the static state of my application.
      - A file containing the version number of the application.
      - A file with a note written by the user.
      - The user can add files which were created by my application, since the files are really big (audio files) it only sends the header of the files.

  30. Having worked in application support for 5 years by Tomji · · Score: 1

    I got one trick for users that just cannot explain properly what their issue is. Nowadays everyone got phones that can record a video, make them record their screen (this skips the step of having them install a screen capture tool).

  31. Screen shots/sharing by Mhrmnhrm · · Score: 1

    If your organization is small enough, send screenshots together with the report, or if you have some kind of desktop sharing ability (remote assistance, Lync), take your dev through the process of how to trigger the bug. Just had an issue yesterday where they couldn't reproduce it, so we fired up a screen sharing process, they had me load up the Firefox debug console, and I went through the steps... turned out to be my mouse having a higher dpi than what they were using, so instead of getting floats, my system was handing them doubles.

    --
    I suspect that one of these choices is incorrect. Correct.
  32. oops by mt1955 · · Score: 1

    posting to revert mod mistake

  33. By overriding the default err handler by Anonymous Coward · · Score: 0

    For compiler structured error handling & piping those to a log since they are "more scary"/"less intelligible" to non-coders! Then, also providing users a friendlier message to contact me via email, pushing the "E.Message" (from a variable E:Exception type), along with the notice to mail me that message OR the contents of %AppDir%/APKErrLog.txt which contains the actual structured err handler's data dump!

    (Accessible since I override the "controlbox" in the upper left-hand side corner of EVERY Window/hWnd, & that simply spawns notepad.exe so they can copy/paste the errtrap log's data into said email to contact me with it).

    It's worked out very well in this app so far the past year now (helped me take it from version 5.0++ to present 9.0++ in fact):

    ---

    APK Hosts File Engine 9.0++ 32/64-bit:

    http://start64.com/index.php?option=com_content&view=article&id=5851:apk-hosts-file-engine-64bit-version&catid=26:64bit-security-software&Itemid=74

    ---

    * Recently, I tested that ware above with a neighbor's kids - and yes: They beat the heck out of it, operating it way, Way, WAY "out-of-order" (vs. the order I intended for it to operate in, and it's clearly shown how that's done, including "wizardy" 'do this next' type stuff), but they didn't "follow directions" anyhow, & busted it a couple times! Well, in the end after that - that made me realize I had to account for that, too! In the end? The app came out much better than it was before version 9.0++!

    APK

    P.S.=> It's a working system, & that I received much data + great feedback for improvements from many testers the past year++ with! Yes - you can *try* to find all of your "bugs" or "useability issues" yourself, but good luck to that, especially when YOU designed the app - you have "set ways"/"set patterns" that "get in your way" imo, believe-it-or-not, when users, don't.

    ... apk

  34. Re:Users don't *owe* you a good bug report by Rob+the+Bold · · Score: 2

    You *owe* them a bug free product. If you did your job properly, this complaint would be moot.

    OK. How you gonna get there, Chief? Certainly not by testing, since that would involve testing which means "using". Maybe not by end users but by someone "using" the software, whether you call them QA or whatever. So, what, you just write it bug-free in the first place? I don't know what you make, but I think it's safe to say that you should be paid more.

    --
    I am not a crackpot.
  35. Give the user an incentive... by fatgraham · · Score: 1

    Security bugs in chrome, firefox etc get actively hunted down because of the explicit cash rewards, it clearly works.

    I recently "submitted a bug" in an IOS app for a restaurant (web contact form, no email, in-app submission etc), they said I'd get a "free stamp" (collect 5, get a free meal etc) if I sent them the crash logs. Not a big deal, (I'm a developer so not difficult for me to do) but even a small incentive encourages me to actually DO it.

    If you/parent company can give away something like like loyalty-card points which relatively cost you nothing, give it away like it's halloween.

    1. Re:Give the user an incentive... by HxBro · · Score: 1

      Like a cattleprod every time they don't submit a good bug report ?

      bzzzt! (in true bofh style)

    2. Re:Give the user an incentive... by FatLittleMonkey · · Score: 1

      If it's possible for the users to submit bad bug reports, it's likely that your bug report submission process is broken.

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
  36. Users... by Anonymous Coward · · Score: 0

    That's your main issue... get rid of the users, but fix will be 100% easier!

  37. Have you tried submitting a bug report lately? by Anonymous Coward · · Score: 0

    Writing good, useful bug reports is surprisingly hard. Even for people who consider themselves dyed-in-the-wool developers. They may have an idea of where the problem is and cut to the chase... only to find their assumptions and hunches were wrong. Users have a much more limited view and so often don't even stop and think what may be needed. Even as a seasoned troubleshooter it can be quite hard to drop the right information on a sysadmin's plate. And it can get immeasurably worse if the phone screen turns out to be too dense to penetrate. Or if the responsible fixer (dev, techie, admin, what have you) refuses to cooperate in some way. Sometimes that's justified, but not always, certainly not.

    Plenty of automated solutionising solutions (you know the things, the "we haven't sent your request yet, please look at these umpteen useless links first) or completely railroaded form systems seem to work, but in reality often don't, and if you don't fall in one of the neatly compartimentalised problem boxes, you're sorely out of luck. And the back-end will never notice.

    That cuts down on getting requests, sure, but it doesn't help the users and so doesn't make them any happier. Just count the number of clicks from start to finish navigating, say, google's problem resolution thing, trying to get to some way to submit a problem that is not in the standard answer boxes. The last few times I tried I got stuck in infinite loops.

    There are a couple of instances where the bug and request handling works reasonably well. I've even seen functioning helpdesks. Usually because the people staffing them are a few notches above the regular cut, and they think really hard about reaching out and finding problems instead of making the annoying customer go away.

  38. Give users an easy to leave feedback by apcullen · · Score: 1

    I put a button in my software. Click it and a form pops up with a "describe what you were doing when a crash or bug happened, or make a suggestion for a new feature" type message. It also, behind the scenes, captured the state of the program when the button was pressed. That worked well. I got a bunch of new feature requests, as some good hints as to what the user was trying to do when things went south. YMMV

  39. Help, I live on Earth! by FuzzNugget · · Score: 1

    And it's not working!

    1. Re:Help, I live on Earth! by FatLittleMonkey · · Score: 1

      Have you tried turning it off and turning it on again?

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
  40. Aactually yes... by Charliemopps · · Score: 1

    Actually yes... I get very good bug reports from users. Luckily I did tech support for about 15 years before I got into development. So I had a lot of experience dealing with people that basically had no idea what they were doing. Keep in mind, I work in a corporate environment where what I create is consumed by a limited set of about 5k people.

    1. Relationships: Where possible I get to know, personally, the people that will use my software. I can't know them all because there's thousands. But I can find key people, Managers, Seniors, etc... take them out to lunch, make them feel comfortable talking to me, and explaining the need for tickets rather than random emails etc...
    2. When a strange problem arrives or I suspect such a problem may exist in some new software, I give them tools. Specifically a button that says "REPORT BUG!" that takes screenshots, dumps the contents of variables and datasets. If available, previous steps taken. Also the log files... and sends it all directly to me. Usually adding such a thing is pretty simple depending on what you're working in. C# and VB have all kinds of pre-built stuff that make this sort of thing super easy.
    3. I write documentation on how to properly submit a bug. I make it very clear to people that are not computer savvy what to do. Down to "How to save the file" and "How to take a screenshot" I make it so even my mom could follow the instructions. Generic instructions like this may take you a day or so to write, but then you can just shoot them out to anyone having trouble.
    4. Restate the issue. This is the classic "My computer doesn't work! *Is it plugged in?* "I can't see back there, the power is out" You have to know exactly what the customers real issue is. Listen to the client, write down what you hear as the problem, then restate that problem back to them using entirely different language. "My computer doesn't work! *So if I understand you correctly, you're calling me because you've hooked up your computer correctly, you've tried to turn it on, but it just hangs there?* "No! I want to pay my electric bill!"
    5. Once you've fixed the problem, confirm with the user that it is in fact fixed. There's nothing worse than fixing something, closing the ticket then having the user come back 3 weeks later asking when you're going to get around to finishing. *You contacted me because your report was giving you incorrect data. We've found that in the original requirements there was a typo and this app should have included an average next to the new sale button. We've added that and now it appears the way you expect it to?* "Yes! It looks great thanks! Want to go get some lunch?" *Sure thing Tammy*

    Good luck.
     

    1. Re:Aactually yes... by FatLittleMonkey · · Score: 1

      2. When a strange problem arrives or I suspect such a problem may exist in some new software, I give them tools. Specifically a button that says "REPORT BUG!" that takes screenshots, dumps the contents of variables and datasets. If available, previous steps taken. Also the log files... and sends it all directly to me. Usually adding such a thing is pretty simple

      If it's this easy why would you only do this selectively? Shouldn't this be the default reporting process in any program/system you produce?

      Why would you want to have any reporting process other than this (except when program/system itself (or the Report Bug button) can't be accessed.))

      OTOH, this...

      3. I write documentation on how to properly submit a bug. I make it very clear to people that are not computer savvy what to do. Down to "How to save the file" and "How to take a screenshot" I make it so even my mom could follow the instructions.

      ... seems vastly less useful.

      --
      Science is all about firing a drunk pig out of a cannon just to see what happens.
  41. Simple. Respond to them. by Fringe · · Score: 1

    I am a developer. I write good bug reports. But when using a product I'm not working on, if the devs or the process seem out of touch, I don't tend to. If there's a crash report, I won't invest much because the seems to be zero investment back.

    Whenever a bug is submitted, a real response... not just an automated mailer... should be sent within a day. Get more details if needed, provide an ETA. Otherwise, we're spitting in the wind, and it doesn't seem worth the effort.

  42. Funnel by QuietLagoon · · Score: 1

    In one company where I worked, I was able to have the end users funnel all their bug reports through the company's internal education department. If the "bug" were actually a prevalent user error, the education department would note that and modify their internal courses to instruct the users on proper usage. If the"bug" were actually a programming problem, the bug reports we got from the education department were very helpful to resolving the problem.

  43. Write it for someone else by yorgo · · Score: 1

    I just held a meeting yesterday with my entire team to discuss this very topic. Generally, I explained that the onus of successful communication lies with the giver (not the receiver). That is, if I want you to understand me, I must communicate in such a way that is understandable by you. (If I speak gibberish, I can't get upset if/when you don't understand me) I explained that submitting a bug report is simply a form of communication, and the the bug report submitter is the "giver" of the communication. Thus, if they want to be understood, they must ensure that their communication is understandable by the receiver. And, since they don't know who the receiver might be, they must make is understandable to the "lowest common denominator" receiver. I said, "If you write a bug report that your grandmother can understand, there is less possibility that it will be misunderstood". I explained that, "if you write a bug report...with the intent that is will be read and used by SOMEONE ELSE...there is a good chance you will write a good bug report." That said, I also implemented a very simple, auto-populate "bug report template" that helps guide and remind users what to enter (ex: "Description of bug, What I did to cause the bug, What I thought was supposed to happen, What actually happened, etc.).

    1. Re:Write it for someone else by maxwell+demon · · Score: 1

      I just held a meeting yesterday with my entire team to discuss this very topic.

      Generally, I explained that the onus of successful communication lies with the giver (not the receiver). That is, if I want you to understand me, I must communicate in such a way that is understandable by you.

      So next time you call a hotline and get someone who can't understand English well, don't complain. Find out where the hotline is outsourced to and learn their language. After all, you are the one who wants to be understood, so why do you expect the worker on the hotline to speak and understand English? Learn whatever language they speak, and if you know that language well, you'll certainly won't have any problems communicating with the hotline.

      At least that follows directly from what you just wrote. I don't think this is what anyone would think. Probably you don't think so either.

      So you think that's something different? No, it isn't. You cannot expect your users to know what you understand best. It is your job to understand the users.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  44. Re:Users don't *owe* you a good bug report by Enry · · Score: 1

    For small stuff, yes. But we're now in a world where software and hardware is complex. Even in an environment like Apple where they have tight control over the hardware, there's variations between operating systems and their hardware offering that make it difficult for a company to write a single app that does it all. Then look at the PC world where it's pretty much a free for all.

  45. Embed logging technology in your software by time961 · · Score: 1

    By this I mean that you should instrument the code with real, meaningful activity logging, not just some afterthought that grabs a stack trace and some state variables (although you'll want to have that data, too). If you instrument your code with logging that produces readily human-interpretable information about what's going on, the payback is huge, because it makes internal developers' lives easier, and it allows even first-level support folks to to a better job of triage and analysis. It's really important to make it meaningful to the human reader, not just "readable"--an XML representation full of hexadecimal doesn't cut it, it needs to include symbolic names.

    Let the users see the logged data easily, if they ask for it, and maybe give them a single knob to turn that controls the level of logging. This will help technically sophisticated users give more useful reports, and it's really helpful in any sort of interactive problem resolution (OK, do X. Now read the last few log messages. Do any of them say BONK?).

    It's really useful to include high-resolution time--both clock time and accumulated CPU time--in log messages. This is great for picking up weird performance problems, or tracking down timeouts that cause mysterious hangs. Depending on your architecture and implementation technology, other sorts of "ambient" data (memory usage, network statistics) can useful here, too.

    There's a trade-off between logging by frameworks, mixins, macros, etc., and logging of specific events. The former approach gets comprehensive data, but it often can't provide enough contextual semantic information to be meaningful. The latter approach scatters logging ad-hoc throughout the code, so it's very hard to make any argument for comprehensiveness, but if done properly, it's spot-on for meaningful messages. Usually best to do some of each, and have good control knobs to select.

    Logging can generate a lot of data, so it's important to be able to minimize that burden during routine operation (especially in deployed applications, where there should be a strict limit on the amount of space/time it takes up). But it's also useful (especially when it's configured to generate a lot of data) to have tools that allow efficient ad-hoc review and analysis--an XML tree view, maybe filtered with XSLT, can be easier than a giant text file.

    In any complex system, logging is one of the very first things I recommend implementing. After the architecture is settled enough to know what will be some of the meaningful activities and objects to record, bolting in a high-efficiency, non-intrusive logging infrastructure is the very next step. Then comes business logic, user interface, and all the other stuff. Pays for itself many times over.

  46. Long term breeding program by mseeger · · Score: 2

    I think the only chance is to create your own breed of users... May take some time ;-)

  47. Ask for screenshots by Anonymous Coward · · Score: 0

    Give them a simple way to take screenshots of the problem step by step.

  48. Create an Account by Russ1642 · · Score: 1

    Force your users to create accounts at SuperDuperBugTrackingThingy.com to report anything. Then send them daily email updates from said tracking system. Also get your moderators to admonish any user that dares accidentally post an existing bug or posts in the wrong section of their clearly laid out bug tracking hierarchy. Or you could go full retard, like Google, and force people to use Google+ to do anything.

  49. Re:Users don't *owe* you a good bug report by Anonymous Coward · · Score: 1

    Just because you can't reasonably deliver doesn't mean that you don't owe your customers a bug free product. They didn't pay for a buggy product.
    What you have to do is to start thinking of your customers like the one who pays your bills, not the one who causes you all of your problems.

  50. Build Better Error Handling by Anonymous Coward · · Score: 0

    My biggest beef is cryptic error messages. Fix that.

    1. Re:Build Better Error Handling by VanessaE · · Score: 1

      I think it goes one step further: If there's an error, don't just print/log a message that says "12:34:56 X failed while reading Y". This might be somewhat useful, but also TELL ME WHY it failed in the first damn place! Over the years, it seems to me that these sorts of "failures at reporting failures" fall into three categories:

      * The program just exited unexpectedly (but cleanly, i.e. not a segfault), but without logging so much as a "Sorry, I'm broken."
      -- Why did it exit?
      -- What function failed?

      * The program received a piece of data of a type that was unexpected and can't be handled, but the program just issues a generic bad-data complaint.
      -- What was the allowable range for the expected piece of data?
      -- What was the actual data that was received?
      -- From what source source was the offending data taken?

      * Some ancillary process crashed before the main program threw the error, but the main program doesn't bother to mention this fact.
      -- What was the error/crash message from that process?
      -- Why couldn't your program continue gracefully after the other process crashed?
      ---- Why exactly did THAT program crash anyway (see above)?

      I'm not talking about spitting out detailed crashdumps, backtraces, etc. or sorting out the cause of some random segfault. That's gdb (etc.) territory. I'm talking about printing, on the way down, a complete explanation of the error, the most likely reason it happened, and what the values of those (likely very few) variables were that were directly related to the process/function/line that actually failed (depending on how much granularity your language of choice offers). Even if your users can't make sense of those messages, YOU can (in theory anyway).

      If you can't do that much in the error-handling part of your code, you're doing it wrong.

  51. Yep by Anonymous Coward · · Score: 0

    Water-board them.

  52. Meaningful Error Messages by kiick · · Score: 1

    I've been on both sides of this issue.

    As a user, I am often frustrated by the terse, non-informative error messages I get when something goes worng. "Cannot open file" is typical. Which file? In which directory? Why couldn't it be opened? What is the file for? What is supposed to be in it? What part of the program was trying to open the file?
    The available on-line help is mostly not helpful in these cases, and FAQ's written by the developers, not the users are useless. Even finding out where the log is kept, much less actually seeing useful information in it? Good luck with that.
    How can I as a user file an informative bug report with such scarce information?

    So first suggestion: build into your programs meaningful error messages, along with enough information to accurately diagnose the problem. Include options to turn on debug output. When an error is detected, log complete information about it into the log file (the location and format of which should be documented). That way the user has a chance of making a good bug report. And be sure to ask for that information when the bug is filed, with specific directions about how to find and include it. "Append log file" isn't enough, you have to tell them where and how to find the log file.

    As a developer, I know the frustration of vague bug reports, that leave out vital information. Simple things like which version of the program was being used, or the configuration settings. You have to make it clear to the reporter that you cannot solve the problem if you don't have enough information. One company I worked for actually had a bug state named "Not Enough Information." The only cure for this is to engage with the end user who reported the bug. And the biggest incentive for that person to engage with you, is the prospect of getting his bug fixed, soon.

    So second suggestion: be very reactive to people who report bugs. Get back to them, tell them what's going on, ask questions, and let them test the fix. There is nothing that kills the enthusiasm for bug reporting like going through the process, waiting weeks to get a response, and then be told "Yeah, OK, it'll be fixed in the next version, due out in about 9 months. Thanksbye." And don't underestimate the effect of some user saying to his peers "I reported this bug, and they fixed it for me" to encourage others to report bugs, and make good bug reports.

    Of course, there will always be lame bug reports, no matter how you do it. But you can at least encourage good ones, raising the signal to noise ratio.

  53. Step 1, don't hire you by Anonymous Coward · · Score: 0

    "OK. How you gonna get there, Chief?"
    Well usually it involves building a good QA team of professionals and working close with them so they can pull me in if there's a bug and show me right there and then.

    " Certainly not by testing, since that would involve testing which means "using""
    Yep, 'using' by expert QA who know the task and know how to report bugs. Which is why we hire them.

    " So, what, you just write it bug-free in the first place? I don't know what you make, but I think it's safe to say that you should be paid more."
    I make software in a professional industry alongside professional QA people. I'm paid the going rate for delivering successful software that does its job and doesn't crash. The customer pays the money (about $50k/unit at last check), and in return they get something that does what it says on the box. That's why they pay the money and don't take they $50k and buy the $30k buggy competitors.

    But hey, yeh , damn users don't know how lucky they are to get buggy software, they should try harder and not be so *incompetent* with *their* bug reports. Yeh *that's* really the problem here. (sarcasm just in case you think this is real life).

    Geez, get rid of that attitude, it's just software, and you should be able to deliver software like a pro.

  54. Screen sharing by pmontra · · Score: 1

    If you can interact directly with your users, use Teamviewer or any screen sharing program. Watch them reproduce the error and you'll learn a lot.

    This is closely related to the first point of this other comment so even if you can't interact with all your users (too many of them or too many layers inbetween) there will be someone who can. Again, a recorded screen sharing session can make its way to you.

    PS: I know, making the user install the screen sharing program and properly start it can be a pain but many people know how to use Skype, Google Hangouts and other similar softwares nowadays. If their IT doesn't allow them, talk to their IT.

    1. Re:Screen sharing by rhyous · · Score: 1

      It is pretty easy to screen share with many tools, such as LANDesk's Management Gateway Remote Control or LogMeIn's http://join.me/ website. The only problem with screen sharing is that after you hang up, if you get interrupted and don't get back to the issue, you are relying on memory. Try to video capture the remote control session.

  55. have real QA testers by Joe_Dragon · · Score: 1

    automated test can work or they can pass the test but still fail in ways that automated tests can see.

    Dumping QA on to coders work load does not really work and you don't want the same people who code to be the testers any ways.

    QA people need to be able to think out of the box and have full control over there PC systems for testing as well as well having more then 1 log in as well.

    Also in power your help desk to be able to help and not be held back with call times and other BS.

  56. Error messages by Larry_Dillon · · Score: 1

    We have a huge problem with vague or misleading error messages. Instead of messages like "A file could not be accessed", how about you tell me which file could not be accessed?

    --
    Competition Good, Monopoly Bad.
  57. Get the technical writers involved by Anonymous Coward · · Score: 0

    Everyone wants them stored in the attic staring like a mad cousin no-one wants to see. Getting the tech writers to interact with the customers and helping them tease their problems from a vague feeling into black and white not only improves the doc but gives you fantastic, well ordered and structured feedback.

    However, product managers typically never do this because well formed customer feedback translated into actionable prose is often the last thing product managers want to hear.

  58. Good failure logging helps by chris.bannan · · Score: 0

    There are many good ideas here, but I did not see anything about logging failures. If you can trap and log errors, that can help a great deal. Include things like the Java stack trace. Ideally, that log/error data can go back to your, such as in the Android/iOS worlds via Google Play or Apple app store. This is part of a solution, along with much of the other suggestions in this topic.

  59. Send your users these critical articles by Anonymous Coward · · Score: 1

    http://www.catb.org/esr/faqs/smart-questions.html

    http://www.joelonsoftware.com/articles/fog0000000029.html

    http://www.joelonsoftware.com/articles/fog0000000014.html

  60. Easy by LeadSongDog · · Score: 1

    Just give them more interesting bugs to report. Link the error reporting to an easter egg for a fun game. Give them bonus points for originality. Before long, users will be lining up with reports on exactly how to reproduce the bug.

    --
    Oh, I'm sorry sir, I thought you were referring to me, Mr. Wensleydale.
  61. Closing, Provide ... if you reopen. by Anonymous Coward · · Score: 0

    I found that politely asking for more information in email gets ignored 90% of the time.
    I found that rudely closing with "You haven't provided enough information for us to track down the problem. Provide the following if you actually want us to do something," only gets ignored 80% of the time.

    And then play favorites with the folks that actually provide information.

    *AND* if you suspect that something that's poorly reported is a bigger issue, mention it to one of the guys that actually provides information.

  62. What works for me is humans and feedback by Moof123 · · Score: 1

    I am a user, not a developer, so I have a little different perspective.

    First, what does not work for me is a faceless drop box. Without feedback and a sense that the other end cares, it is hard to motivate to put in a bug request, let alone a good one. Submissions to nameless drop boxes become a rant to vent frustration.

    For an external vendor, company A, whose design software I have now been using (suffering through) for 14 years I gave up submitting reports after 3-4 years. I never heard anything back, never saw my requests fulfilled within my attention span. In the last few years I moved to a company that uses the same software, but has managed to get a hold of them by the short and curlies. Now when I submit a request our guys get access to their bug tracker and make sure it gets resolved. I have 1 human point of contact at their end I send my reports to (CC'ing our main guy), he works with me to reproduce the problem and then submit it into the "real" system. The feedback portion is still lacking, but I have gotten dozens of long standing bugs and usability issues fixed.

    Our internal software has a simple bug tracking system that is open for all of us to submit to. I almost always follow up with one human point of contact after submitting so he has a chance to see and verify it. Often he adds notes in the software groups own jargon. Later I get email traffic keeping me up to date on the resolution. The human contact plus feedback keeps me engaged and keeps me reminded of how to make a useful submission.

  63. Make it easy for them by Wormholio · · Score: 1

    Writing a good bug report is not easy, and users should not be expected to know what information the developer will need to find and fix the bug. They only want to report that there is a problem, and that they'd like it fixed.

    That said, you can guide them to give more useful information. I found that making a form to fill out with all the details broken out into separate pieces gave us more useful information. Want to know how to reproduce the bug? Make that an individual question on the report. Which component where you using, or what web page were you on? Make that a specific question. A real person can follow up if necessary to get other information, and then they can file the "official" bug report in the form that the developer can understand and use.

    --
    "Education is not the filling of a pail, but the lighting of a fire." -- William Butler Yeats
  64. Natural Selection by aardvarkjoe · · Score: 1

    Shoot the users that submit bad bug reports. Within a few generations, only users that submit good bug reports will remain.

    --

    How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  65. Uhm by Anonymous Coward · · Score: 0

    Stop being a whiny biatch about 'unimportant' or 'unhelpful' bugs and realize that you did it wrong to start with?

    That guy who answers all of the Internet Explorer WebDriver responses with "I'm just going to close your bug if you don't mail me the entire contents of your computer" comes to mind . . .

    Yeah, I'll go with "listen and fix".

  66. Pay them. by laxr5rs · · Score: 1

    Pay them.

  67. L2R by FatLittleMonkey · · Score: 1

    Click on it and a dialog box comes up that says simply "What's wrong with this page?" and has a big blank area to fill in.

    "It's not working."

    "What is not visible is that the JavaScript code for the BUG! button is grabbing all the information it can from the browser itself - what the current URL is, all the global JavaScript variables, name of the current logged-in user, time and date, browser type, web page contents, etc. All grabbed automatically. And all stored in a special file on the server. The only thing the user has to tell me is what she doesn't like about that page."

    --
    Science is all about firing a drunk pig out of a cannon just to see what happens.
  68. Re:Having worked in application support for 5 year by porges · · Score: 1

    Or FaceTime, so you can tell them what to do and show you the result.

  69. Built in reporting... by agapeton · · Score: 1

    ...skip the user altogether. If you just have some data gathered and give a simple code, then the user can just provide the code. From QA? Demand a fiddler log/core dump. One time I worked at a company where this was standard... then the product team started to do QA as well (just for micromanagement). They refused to give fiddler logs. The problem was NOT fixable without their parameters... So... Though all my Senior-level associates agreed with me, the product team removed me from the project for not being able to do MAGIC. Need that info!

  70. DON'T DRIVE THEM AWAY by Anonymous Coward · · Score: 0

    If you want good bug reports, don't drive away those users who are good at making usable bug reports. If you're going to let bugs languish for over a decade despite overwhelming user desire to see them fixed, if you're going to let ego-centric dicks override the clear wishes of the user base and for no technical reason, and if you're going to ignore patch contributions or make the process so difficult that few want to do it, then you're going to discourage the good bug writers and your project gets what it deserves. I'm looking at you Mozilla.

  71. How to report bugs effectively by Anonymous Coward · · Score: 0

    http://www.chiark.greenend.org.uk/~sgtatham/bugs.html should be mandatory reading for (would-be) bug reporters.

    1. Re:How to report bugs effectively by Sockatume · · Score: 1

      Yes! I can't believe nobody has posted this yet. It's the bible on how to write a bug report, written in plain English.

      --
      No kidding!!! What do you say at this point?
  72. Bug Reports? We don't need no stinkin' Bug Reports by Anonymous Coward · · Score: 0

    The coder's perception of the world is this:
    "I write code that gets compiled into programs that users run. Users do things that crashes my code and I need to know what it is. Users should tell me what is going wrong so I can fix it."

    The User's perception of the world is this:
    "I am trying to do my !@#$ing job! Why can't the !@#$ing coders error test this cr@p before I use it? It isn't my job to fix their !@#$ing mistakes, that's THEIR JOB!"

    You see the problem here, right?

  73. Report issue button by Anonymous Coward · · Score: 0

    That bundles up the logs, thread dump, etc. Like OSX does.

  74. be nice by Anonymous Coward · · Score: 0

    Don't fucking insult them. (Can you hear me, Mozilla.)

  75. Since developers don't care, why should users? by Geoffrey.landis · · Score: 1

    The first thing that would help, if you want good bug reports from users, is to give some indication that you actually PAY ATTENTION to anything users tell you.

    I have never seen any hint that this is the case. The BEST I've ever got for a bug report is a "thank you for your interest in our product" reply written by a robot.

    My first suggestion: Every developer should be forced to spend at least one day doing front-line support, so that they will begin to have some idea of what is actually broken.

    --
    http://www.geoffreylandis.com
    1. Re:Since developers don't care, why should users? by aix+tom · · Score: 1

      My first suggestion: Every developer should be forced to spend at least one day doing front-line support, so that they will begin to have some idea of what is actually broken.

      I do development of software that is used mostly only inside our own company, and we have something that I first was somewhat sceptical about, but what turned out to be quite a good approach to keep "users in check" AND give developers an idea what can be improved:

      Each branch office can request a "developer-on-site" for a day or two each year that actually works with the people that use the programs he wrote. It basically reduced the "unthoughtful feature request filtering through multiple management layers" and repetitive "something is broken/working funny" by about 90%, and it I always come back with some *mayor* ideas for improvements to more closely fit the software to the workflow or vice versa.

      For example "date entry". Just having watched people crane their backs to the calendar at the wall to see what date last Thursday was, or needing multiple clicks to use the calendar popup, resulted in a improvement that took ~5 minutes to code and was hailed as the "best improvement in the new version": Being able to enter positive / negative numbers in date fields to "enter X days in the past / future".

      Of course that is possible in our organization, where we have ~3000 employees and 3 coders. I don't know how well it would scale up.

  76. Good luck fitting a screenshot in 60 KiB by tepples · · Score: 1

    Would you rather have a screenshot that's compressed to hell with JPEG? It's hard to get a 1920x1080 pixel screenshot through a mail system that requires an entire message to fit in 60 KiB including all attachments. Yes, I've had to work with such mail systems; at one time, Juno was this way.

  77. Simple stack traces and phone calls by Anonymous Coward · · Score: 0

    The only useful bug reports I've ever gotten from end-users was when we added the ability to get a stack trace to the GUI and asked customers to email that when we were on the phone with them understanding exactly the scenario which caused a problem.

    We were lucky - the code was extremely well written with only 1 bug reported per month from users. These were picky users, BTW - NASA flight controllers.

    The stack trace enabled me to determine 90% of the time what code they'd hit and why there was any issue at all. I'd pass it onto the developer and it would be corrected in 24 hrs - tops. Getting the corrected code back into production could take between 1 day and 2 months depending on launch schedules. I was the slowest dev to fix, but I had 3 different roles on the team with conflicting priorities, development was usually not time sensitive, so it was my lowest priority task most of the time.

    I've worked with about 10 different software dev teams over the years and this one **by far** was the most excellent and produced extremely high quality code with relatively tiny overhead. We didn't have any QA, no formal testing, and only developers on the team. Every dev was extremely sensitive to any issue with their code - it was a point of honor to deliver bug free code. I've found no better motivation in 25+ yrs of development. Memory leaks were considered MAJOR errors by everyone.

  78. Features in Launchpad and Bugzilla by tepples · · Score: 1

    When a user is entering a ticket, the system MUST automatically try to find an existing ticket for the same problem. Use very loosely matching rules that can provide a small number of most likely duplicate tickets. Allow users to say "yeah, that. that's happening to me too". Don't just dump them out, add the user to the list of submitters for that ticket

    Launchpad does this. When the user submits a title for a new issue report, the system searches for other issue reports that match that title, and the user can add himself to another bug's "me too" list. Bugzilla likewise has an approval voting mechanism that lets a registered user vote for issues that affect him.

    Along that line, techs need to be able to EASILY break up tickets into separate tickets when a user submits several issues at once (it happens frequently) or when a fix is going to require a multi-pronged approach. (possibly from several techs with different expertise)

    Bugzilla does this. A "tracking bug" is an issue report that is marked as depending on several other issue reports. If a user submits an issue with multiple facets, the developers can file individual reports for each facet and set the original submission as depending on those other facets. Or if project drivers want a release to include particular features and fixes, the drivers will file an issue report that depends on those features. This lets Bugzilla spit out reports about the tree of issue reports on which a particular release depends.

  79. Video by rhyous · · Score: 1

    Everyone always wants step by step or screen shots. Why not use a tool that give you all of that. Camtasia Studio or similar software that captures a video of the screen. Train the users to capture a video of reproducing the bug. Then have them post the video in the bug report. Other than needing plenty of storage to handle a lot of videos, this is actually quite a good solution. Any bug that is submitted without a video is returned to the submitter requesting they duplicate it. Along with fixing the bug, you are going to watch what the users click and what they do and you might actually realize that as a developer you never really understood the user before.

  80. Make it easier to report bugs, that's how by Keybounce · · Score: 1

    Very often, I have absolutely minor bugs and problems that show up briefly, in passing. Not only is it hard to spend the time to replicate and figure out exactly how/why for someone that wants a "detailed report with reproducable steps" (ick!), I'm in the middle of ... you know, _DOING_ something. So I have to go back later?

    Sigh.

    What have I found to be the best way to demonstrate bugs? A full screen recording of what I'm doing. I'm not being silly here.

    I'm in a beta test (NDA) for a new version of a program. When I'm playing with the beta software, I turn on the video recorder, and record EVERYTHING I'm doing. That company has actually thanked me for this approach.

    While using OSX, I find plenty of little things, several times a day; by the time I've realized it, it's past and done, and I can't give you details on how/why. Do I report it as best I can? Used to. Gave up as "pointless/why bother".

    I've seen people in this thread saying "Log everything, let the user hit "bug!" and all details are sent to you". I've seen people say "Record everything, snapshot everything, etc". And ... that's a good first step.

    But is it enough? If I have a cursor that is supposed to change as I move around, and it only sometimes changes, sometimes does not, how do I log that? How do I report it? Reproducibility is pathetically poor.

    How do you record and log your interaction with something else? In theory, the same events and responses that your program is / should be doing is what you'd be recording, right? So if the recording/logging works, your program does. Right?

    If I have a problem with a USB drive and a loose connector, that leads to system disasters, and the view is "Won't fix the underlying cause because a disconnected drive has to be considered completely dirty for the worst possible potential situation", even if most such cases can be proven to be no where near that worst case, then what?

    If I have a problem where a system program reaches "kill -9 does not work" about once a week, then what?

    If I report a bug that is closed as "duplicate of bug #y", but I cannot follow bug #y, get no status updates, no feedback, etc, then why would I bother?

    Make it easy for users to submit bugs.
    Make it easy for users to tell you what happened.

    Never put up a panel with text that cannot be copy/pasted.
    Never put up a panel that won't fit on small screens if a lot of text is displayed.

    If you are getting bad reports from people, start asking, not "what caused this bug?", but "What would help you provide better information next time?".

    And make it so easy for people to report bugs that they can do it one-handed.
    You will get bad reports. Don't try to prevent those.

  81. Re:oops (FTFY) by Duggeek · · Score: 1

    That's not how you submit a bug for the /. mod system!

    (There, now you're back on-topic.)

    --
    This post © Copyrite Duggeek, all rights reversed.
  82. Re:oops (FTFY) by mt1955 · · Score: 1

    oh, I thought it was a feature =)

    I hit "overrated" by accident on a decent post and thought the author deserved better treatment than that... afaik that's the only way to "undo"

  83. write better bugs? by romons · · Score: 1

    Users won't report minor bugs, but bugs that destroy their data are typically reported. So, always make sure any bugs destroy data.

    --
    Go to Heaven for the climate, Hell for the company -- Mark Twain
  84. Bug must be reproducible by prof_braino · · Score: 1

    I use a template asking how to reproduce the bug, and ask the user for the exact steps. If it can't be reproduced, its marked "invalid". If it can be reproduced, we check the requirements. If the behavior violate the requirements, the bug is against the code. If the behavior does not violate the requirements but is still in need of change, we update the requirements, and check the previous step. Pretty straight forward, although it takes some work.