Slashdot Mirror


Ask Slashdot: How To Get Non-Developers To Send Meaningful Bug Reports?

DemonGenius writes "I'm in the midst of a major rollout of one of our primary internal applications at work and we have a beta version available for all the staff to use. The problem here is most of the staff don't know how to send reports meaningful enough to get us devs started on solving their problems without constant back and forth correspondence that wastes both developer time and theirs. Some common examples are: screenshots of the YSOD that don't include the page URL, scaled screenshots that are unreadable, the complaint that wants to be a bug report but is still just a complaint, etc. From the user's perspective, they just send an email, but that email registers in our tracking system. Any thoughts on how to get the non-devs sending us descriptive and/or meaningful reports? Does anyone here have an efficient and user-friendly bug tracking system/policy/standard at their workplace? How does it work?"

360 comments

  1. Make it send data to you by jhoegl · · Score: 5, Insightful

    Make your software send it...

    You can not teach the world, so why try?

    1. Re:Make it send data to you by Anonymous Coward · · Score: 0, Insightful

      This. You kinda failed as a software engineer if you didn't see this coming. You can't rely on users to provide meaningful data on bugs.

    2. Re:Make it send data to you by RyuuzakiTetsuya · · Score: 1

      That's fine and all, and what I was going to suggest, but what happens when it's intermittent? What the hell exactly do you log? Do you have access to core dumps?

      The problem with trying to capture this kind of data is when there's no crash but it's doing something it's not supposed to. Worse yet, your user can't communicate what's wrong.

      --
      Non impediti ratione cogitationus.
    3. Re:Make it send data to you by Anonymous Coward · · Score: 5, Insightful

      Just gunna point out that I regularly have to post meaningful bug reports for a lot of the important software I (and probably you) use every day. I wouldn't say the people that made it failed.

      What they do get wrong is using the bug reporting systems like bugzilla. I look at the pages for those kinds of system and feel like I'm going to have a heart attack. And I'm the guy that could write it.

    4. Re:Make it send data to you by werdnapk · · Score: 5, Insightful

      Yes, a crash report can be sent by an application, but a non-crashing bug? If the bug isn't caught by tests (automated or manual) then the software won't know to send an issue like that, otherwise it wouldn't have been a bug in the first place.

    5. Re:Make it send data to you by linuxgeek64 · · Score: 1

      The problem with that is that the user can't provide information like what they were doing when the crash happened or what the expected behavior was. For uncaught exceptions, sending a stacktrace could be helpful. Depending on the language, though, there might not be exception handling - just crashes.

    6. Re:Make it send data to you by cfryback · · Score: 1

      Make your software send it...

      You can not teach the world, so why try?

      Absolutely should have been part of the software...

      But let's face it most software now is about the pretty pictures....

      Our two main kits of software generate error codes that can be submitted to the IT Helpdesk and assigned accordingly.

    7. Re:Make it send data to you by Anonymous Coward · · Score: 1

      Diagnostic info. Apple does this well, it spies on tasks that silently assert or take too long. They're opt-in on iOS devices, and you can view them on device or from xcode, helpful for debugging your own apps too.

    8. Re:Make it send data to you by Anonymous Coward · · Score: 4, Funny

      Make your software send it...
       

      I recommend call information, web history, and keystrokes. For more information check out carrieriq.com

    9. Re:Make it send data to you by Mr.+McGibby · · Score: 3, Insightful

      It's called a "report a bug" menu item that automatically compiles as much data as you can think of that might help, including making the user include a description of the bug. Also, there's nothing wrong with just going over to the coworkers desk and working it out. Or schedule a day with the users when you'll be in their "area" to address issues and watch for bugs.

      The reality is that most bugs *aren't* intermittent, and if you can fix all the bugs that aren't, then the intermittent ones tend to go away. The remaining stuff is tough to deal with, but certainly manageable.

      --
      Mad Software: Rantings on Developing So
    10. Re:Make it send data to you by corporateminion · · Score: 2
      Yup. Most applications are session oriented. At the point you encounter an error, you know all of the following crucial pieces of information:

      * the userid of the user (in case the error is role / security related)
      * the date/time of the error down to the second
      * the incoming request parameters that triggered the work that encountered your error
      * the error itself
      * which server executed the request (in case the code issue is server specific)

      The only thing missing is some information about the intent of the user at the time they submitted the request. In a Java app, you could do something like this:

      * have every command action in your application throw a special myappException
      * define the myappException by extending the standard Exception and add the above fields
      * catch that myAppException in your main event loop
      * when caught, display a form that prompts the user for any additional explanation they might want to supply
      * email the content of your myappException fields and their form-entered text to a dist list for your app support team

      The resulting email will point your app support team and developers directly to the proper point in your application logs to figure out what else may have contributed to the error without being sent on a wild goose chase based upon bad timestamp information or incomplete text of the error / exception encountered.

    11. Re:Make it send data to you by pthisis · · Score: 2

      That's fine and all, and what I was going to suggest, but what happens when it's intermittent? What the hell exactly do you log? Do you have access to core dumps?
      You log every single exception or, from a core dump, stack trace, and all the local variables at the time it happens. And as you accumulate them, you get a sense for what more global info you need (in OP's case he mentions URLs--if it's a web app, the complete incoming request, including form variables and cookies and session info, is a no-brainer).

      Then you delete old info yourself on your end, but keep a lot more than you think you'll need.

      Bugs that don't result in a crash are the harder ones; ideally you have some way to flag a user so that they get traced pretty fully, so if someone calls in a bug report you can turn on tracing for them and log a ton of crap. And it's often worth having the logs generally be a lot huger than you'd anticipate (even for general users who you haven't flagged for special debugging). But it's tougher than debugging the crashes, for sure.

      --
      rage, rage against the dying of the light
    12. Re:Make it send data to you by Narksos · · Score: 2, Funny

      Make your software send it...

      I recommend call information, web history, and keystrokes. For more information check out CarrierIQ
      (this time I'm logged in)

    13. Re:Make it send data to you by Slavik81 · · Score: 5, Funny

      Put 'report bug' as an option in the help menu. And make sure your bug-reporting mechanism is the best-tested portion of the entire piece of software.

    14. Re:Make it send data to you by Anonymous Coward · · Score: 0

      I had my own technology impaired duck to deal with my entire childhood, I stopped trying to get accurate reports and instead resorted to remote desktop.

    15. Re:Make it send data to you by MBC1977 · · Score: 1

      "Make your software send it..."

      And make sure you let your users know that it will send you this information; too many times people start screaming crazyiness like "spyware, malware, etc." without understanding what it is that the program is sending. So inform your users first.

      --
      Regards,

      MBC1977,
    16. Re:Make it send data to you by Anonymous Coward · · Score: 2, Interesting

      Keep a circular buffer of the last 100 (or 1000) commands the user issued - that should give you a good idea of what they were doing when it crashed.

    17. Re:Make it send data to you by Anonymous Coward · · Score: 1

      exactly. one click button that saves html, screenshot, url, clicks to get there, post data, stacktrace and a comment field.

    18. Re:Make it send data to you by Kagetsuki · · Score: 1

      Precisely, or better yet include let them add a comment to the dump and ask them to recall what they did just before the dump occurred. If you can match up their recalled actions to the dump information I've found it makes things a lot easier.

      On a related note anybody else remember "core" files stuffing up your home directory?

    19. Re:Make it send data to you by mwvdlee · · Score: 1

      That only works for stuff like exceptions, not for code that is stable and works well but does it wrong.
      Generally if people see an error message, they can copy & paste the error message and email it themselves.
      Ofcourse most devs don't bother making error messages that are actually useful, but lets not blame ourselves here.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    20. Re:Make it send data to you by Anonymous Coward · · Score: 0

      For instance, in cases where you have a reasonably small number of users beta testing your software. Have the program check if logging is enabled, by reading a flag from a special table in a database. Then the program creates a record of what its current state is (open window, at least, most recent function or event ideally). Slap a timestamp in the debugging table for program launch and most recent action.

      At least, this way it provides heaps of debugging info, and it can be stopped remotely. When they call, or email you can match times and IPs, to figure out what they were doing. This way, all they really need to do is notify you when something doesn't work, and they don't have to participate in debugging themselves.

      If you're feeling paranoid about it, or are worried about other people abusing the feature someday, then add a preference to the program "allow reporting anonymous usage statistics/debugging".

      Weird user behavior are discoverable this way, like they've got two instances of the program running, or they're always closing the window instead of clicking commit/ok.

      Also, sometimes the biggest problems are caused by the simplest things. When debugging is enabled, always have the application report its full version, this way you can determine if they're submitting bugs that have already been fixed and you can tell them to update their application. Even better if you can make the programs restart and update themselves when idle.

    21. Re:Make it send data to you by frisket · · Score: 4, Insightful
      Bug reporting systems aimed at developers should not be available to end users. They ask for (and expose) all kinds of irrelevant things that confuse the user.

      Instead, use a form that automatically picks up as much information as it can about the application, platform, and environment, and then asks what happened to make the user want to report it. Allow a screenshot to be attached (warning that unreadable shots can't be used). Don't try to gather information that the end user cannot be expected to know. By all means provide a link to a developer-oriented bug reporting system, for users who do know what they are doing, but for the end user Keep It Simple.

    22. Re:Make it send data to you by Anonymous Coward · · Score: 1

      It will also put you in CarrierIQ territory, and we all know how that worked out :)

    23. Re:Make it send data to you by OeLeWaPpErKe · · Score: 4, Interesting

      Exactly. Make those people a browser extension that captures a screenshot, lets them paint a big red rectangle, a comment field, then annotates with things like all cookies for current page, browser history (on the current site), user email address, ...

      Then teach them "something goes wrong, push the button".

      And use a general exception handler that makes damn sure that the user id cookie is available inside the exception.

    24. Re:Make it send data to you by SQLGuru · · Score: 2

      How do you log a bug report on the bug reporting feature?!?!?! :D

      Actually, yes, provide them a button to submit bugs that grabs a lot of context data but lets them type in a description of what they were doing. The more you lead them, the better their input. In other words, don't give them a box that says "Additional comments" give them multiple boxes.
      What business function were you performing? What was your expected outcome? What other programs did you have running? Is this the first time you've experienced this problem? etc.

    25. Re:Make it send data to you by BitZtream · · Score: 1

      No can you rely on crash dumps to tell you what got the user to the crash.

      You and the parent post are incredible inexperienced.

      All of the software my company produces sends back its own crash reports, with all sorts of information about what the system looks like, and 9 time out of 10, is the notes the customer fills in or a telephone call that lets me figure out what happened.

      Automated bug reports get you technical data, thats rarely useful in and of itself with no context.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    26. Re:Make it send data to you by mcmonkey · · Score: 1

      Sounds like a nice, although complicated, system.

      How do you handle bugs in the bug reporting system?

    27. Re:Make it send data to you by Anonymous Coward · · Score: 0

      If your users are sophisticated enough to be able to install a browser extension, you are very lucky.

      But if they are, Bonfire by Atlassian does what you describe.

    28. Re:Make it send data to you by Kanasta · · Score: 1

      Sending descriptive and/or meaningful reports is not the issue. The problem is that in most outfits there is NO way for anyone to reach the devs. As a dev I have seen obvious out-by-1 errors, chat with 'support' and give detailed info, etc, but the idiot on the other end doesn't pass anything on, instead just filed it as 'unknown crash'.

      And that's assuming you have a way to reach any support at all. Most 'contact' pages are actually 'search faq' pages, you get pointed to forums that require registration AND are admin/mod by volunteers AND no company reps ever read the forums.
      In another If you spend 30min to file a report that checks you filled in every single field after finding the correct links, you just get a very long form email that if you read really carefully tells you a DIFFERENT link where you can file the report again. Sorry the stuff you typed last time was completely ignored/deleted.

    29. Re:Make it send data to you by Ofloo · · Score: 1

      what about privacy? I mean a user is supposed to know what is being posted, .. no? Do you even want to share the information, .. the error could be on a page like paypal and an automatic bug report might post passwords in variables, .. or some sites use cookies to store passwords or whatever, .. i think you should make some sort of wizard that asks you the information developers need, ..

  2. Pray? by mirix · · Score: 3, Insightful

    Either that, or send them all to reeducation camps.

    Try not to stress about it, it's hopeless.

    --
    Sent from my PDP-11
    1. Re:Pray? by moderatorrater · · Score: 4, Insightful

      We've had success by making it very clear what information we need. We've given them the baseline information (username, account, environment, etc) that they have to send with every single bug, and we've made it clear that the steps they need to give us need to be something we can follow exactly and get the error every time.

      Obviously there are exceptions, and our user base includes people who are actually technical enough to exercise judgement over what we need, but for the most part it's just training and education. They can't know what information we need, so we need to tell them. It's a hard problem, but not unsolvable.

    2. Re:Pray? by rwven · · Score: 3, Interesting

      Definitely not hopeless. The main thing is that you have to set expectations. They will do what you let them do. If a bug report is inadequate, it's bounced with a request for more information, highlighting specifically what is needed.

      Our company has also instituted a layer of BA's that sit between the devs and the clients and have thankfully done a fantastic job of training the clients what they need to provide when they submit a bug report. Our BAs also know what we developers expect and nothing gets passed along to a dev until there's enough information to get started on it.

      It's also very important that if a client is just complaining, their complaint is either rejected due to lack of "whatever's missing" or it's turned into a new feature request.

      Even more important is letting the client know, with all due respect, that if they can't get you what you need, then they aren't going to get what they want. They need to understand that they can be wrong too, and all the arm waving and shouting in the world won't help if they don't give you what you need to do your job.

    3. Re:Pray? by Phil06 · · Score: 1

      Just give them a cryptic error code and then roll around on the floor laughing

      --
      "...and yet, I blame society" Duke - Repo Man
    4. Re:Pray? by Carnildo · · Score: 1

      Even clear instructions often aren't good enough. For example, the software I develop had a rare bug (estimated incidence: one user in a hundred) where it would fail to draw the icons on toolbar buttons. Whenever I got a report of this bug, I'd request two pieces of information: a dxdiag report, and a screenshot.

      Of the ten people who replied, nine managed to include a dxdiag report. There were three screenshots: a png scaled to 33%, a Word document with embedded image, and a low-quality JPEG. The report with the Word-document screenshot was PEBCAK: the toolbar icons weren't drawing because the user had turned off the toolbar. Since there was no obvious correlation between hardware or driver versions in the other reports (three chipsets, five drivers), I closed the bug as "can't reproduce".

      About a year later, I got another report, this time including a full-size PNG screenshot. Looking carefully at the image showed that the icons were drawing, as a faint white tracery. The drawing code isn't stateless: occasionally, bugs pop up where something doesn't draw because of the order in which preceding elements had been drawn, and I'd assumed that this was another such case. However, nothing in the drawing code could cause this sort of incorrect rendering.

      I looked back over the other reports, and discovered that if I assumed two of the chipsets were PEBCAK, the remaining six reports covered one chipset and two driver versions, and some quick online research showed that this driver had a bug in the alpha-blending code.

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  3. You Don't by Anonymous Coward · · Score: 0

    You Don't..It's called logging.

    1. Re:You Don't by rwven · · Score: 2, Insightful

      That's a cop-out....and completely unrealistic.

      Finding a decent way to look through GB of logs to find something that happened a week ago is going to be MUCH more of a challenge than just arguing with any client to get the information you need. Not to mention, the only way you're going to trace any random malfunction back to any random source is if you have so much logging that half your computation time is spent managing your logging system and the needed disk writes....and let's not talk about the volume of log data THAT would produce.

      Logging can, and should, only do so much. You can't, and won't, catch everything with it.

    2. Re:You Don't by Anonymous Coward · · Score: 0

      Not to mention, the only way you're going to trace any random malfunction back to any random source is if you have so much logging that half your computation time is spent managing your logging system and the needed disk writes....and let's not talk about the volume of log data THAT would produce.

      Posting AC to protect the guilty (and myself for divulging "trade secrets") but where I work we have one large legacy production system which is probably the single most important system in our entire company, it's central to our business and it logs just about everything.

      When I say everything I mean its database is over 80 GB in size and about 2/3 of that is the massive table known as the "event log", this table in turn has several helper tables (since the fields in it are just a bunch of INTs that either represent IDs in some other table or sequence numbers and a couple of DATETIMEs, about 30 columns of gibberish).

      Is it sometimes useful? Yes. Is it a pain to deal with? You bet!

    3. Re:You Don't by shish · · Score: 4, Insightful

      Finding a decent way to look through GB of logs to find something that happened a week ago is going to be MUCH more of a challenge

      I'm running a website with 2-3k concurrent users; using web server access logs for read-only users, and a more detailed custom logging system for any interactions that any user makes, only generates ~100GB of logs per month. In the grand scheme of things, this is a tiny amount (grep from the command line is still perfectly adequate). For someone who can dedicate a day or two to writing a log browser then I'd expect the search to be even better, with graphs and automated anomaly reports and such (As someone who actually has done this, I'm not sure whether to find your comment of unrealism worrying or complimenting :P).

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    4. Re:You Don't by azadrozny · · Score: 1

      I disagree. I implemented this some time back on a financial application. We had the same problem where users didn't give us accurate information to find bugs, or fix their transactions. We decided that we would capture everything when an error was detected. User ID, transaction ID, time, error message, plus a few other fields were all recorded in a database. When the user called, we had several ways to find their error (I caught several users lying). We could also generate reports showing the frequency of an error, or category of errors. I agree that you can capture too much, but with some careful thought you can capture decent info to help augment the story from your user.

    5. Re:You Don't by Anonymous Coward · · Score: 0

      One word: Splunk

    6. Re:You Don't by codepunk · · Score: 1

      Splunk is great but it should be noted it comes with a extremely high cost.

      --


      Got Code?
    7. Re:You Don't by Kalriath · · Score: 1

      I looked at the website, and quite frankly couldn't work out what it does. Marketing failure right there.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  4. Cattle prod... by Anonymous Coward · · Score: 1

    Electro-shock. 'Nuff said.

  5. You're assuming developers can send good bug..... by Anonymous Coward · · Score: 0

    You're assuming developers can send meaningful bug reports. They're just as bad sometimes....

  6. What a load... by singingjim1 · · Score: 0

    ...ed and meaningless "article". This is probably the laziest and most pointless story I've seen on /. Try debugging in alpha and beta versions more before releasing into the wild.

    1. Re:What a load... by Ethanol-fueled · · Score: 1

      I was thinking more along the lines of having a meeting for each group, then referring people to the rules if they don't submit enough information.

      But yeah, lazy and pointless.

    2. Re:What a load... by c0lo · · Score: 1

      ...ed and meaningless "article". This is probably the laziest and most pointless story I've seen on /. Try debugging in alpha and beta versions more before releasing into the wild.

      So fast to jump the trigger. Letting aside that you don't debug, but you fix the bugs discovered by testing (well, you may use a debugger, but that's not the only mean available), consider this:
      Recession; meaning: short of money; meaning: less development resources available or available for shorter time.
      Consequence: do what you can within the bounds of "Cheap, good and quick: pick any two" - it is going to be way more expensive on long term, but... try teaching this to CEO-es under pressure to show results to shareholders.

      --
      Questions raise, answers kill. Raise questions to stay alive.
    3. Re:What a load... by singingjim1 · · Score: 1

      poor choice of wording - debugging - I meant exactly what you said. Fix more bugs during testing.

    4. Re:What a load... by singingjim1 · · Score: 1

      Of course it's not, but the question raised it how can a programmer get more reliable information on their broken code? Don't rush the software through testing and keep it in the hands of more knowledgeable testers before handing it over to users. I didn't say it was possible, I'm just pointing out the obvious.

  7. More pressing question by Anonymous Coward · · Score: 5, Insightful

    A more pressing question is how to get developers to stop ignoring bug reports.

    1. Re:More pressing question by jhoegl · · Score: 3, Insightful

      I laughed, because its true.

      I have ignored bugs, not because it doesnt need to be addressed, but because it is low priority.

      This is just how things work.

    2. Re:More pressing question by Anonymous Coward · · Score: 0

      A more pressing question is how to get developers to stop ignoring bug reports.

      ^ this

    3. Re:More pressing question by WeirdAlchemy · · Score: 5, Insightful

      This. In my experience, dealing with bugs is very much a two-way street. If you want users to submit better bug reports, you need to be responsive to them so that they feel like they're getting something out of it. Imagine yourself as a user who takes the time to prepare a nice bug report, then waits a month to see any progress. How much time are you going to spend on your next bug report? Either way you behave, it ends up as a feedback loop -- your choice whether it's a positive of negative one.

    4. Re:More pressing question by Anonymous Coward · · Score: 0

      Or even just stop sending out buggy stuff. I don't mean tricky to encounter bugs that depend on fifteen different things all falling into place at once. All I'm asking is that when you code a bug fix or new feature, that you do some kind of testing, even just once through, to make sure it does what you're claiming it's supposed to do.

      Everything that compiles (for compiled languages) or "successfully* saves" (for interpreted languages) isn't necessarily correct...

      *returning success is a necessary condition to saving, but not sufficient. Your stuff isn't saved until you've sync'd and/or flushed....

    5. Re:More pressing question by Anonymous Coward · · Score: 2, Informative

      Sometimes bug reports are just feature requests. e.g.: a Thunderbird bug report is rapidly approaching its 10-year birthday because nobody at Mozilla thinks it's a bug, despite it operating contrary to most user expectations - and because it's behaving according to RFC definitions.

    6. Re:More pressing question by jc42 · · Score: 1

      I have ignored bugs, not because it doesnt need to be addressed, but because it is low priority.

      You have had priorities? Nearly every place I've worked, every problem (and every development task) is rated as top priority. That is, there's only one priority level ever used, which is logically equivalent to there being no priority ranking at all. The developers' natural reaction to this is to work on whatever seems most interesting at the moment. Some things then "fall through the cracks" for a very long time.

      How do you get people (customers, bosses, etc._ to prioritize things like bug reports as anything other than "highest"?

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    7. Re:More pressing question by Anonymous Coward · · Score: 0

      Simple. You rank the bug by the all-conquering financial cost of continuing to have software out there, that has that bug.

    8. Re:More pressing question by otie · · Score: 1

      How do you get people (customers, bosses, etc._ to prioritize things like bug reports as anything other than "highest"?

      Simple. Put a dollar tag on every fix, ie. estimates. Ask "is this fix more important than getting foo done in time?".

    9. Re:More pressing question by dcollins · · Score: 1

      A lead engineer sets priorities.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    10. Re:More pressing question by fizzup · · Score: 1

      How do you get people (customers, bosses, etc._ to prioritize things like bug reports as anything other than "highest"?

      You say, as respectfully as you can muster, "This is your opportunity to provide input on the order in which the work should be done. If you don't prioritize then you let the developers decide what's important. After all we have to do the work in some sequence. We will do our best, but we can't prioritize as well as you can. Please help us to succeed. Can you identify the ten most important defects/use cases/whatever?"

      The first time you do this you will get some crazy priorities. At a very immature organization that I once worked for, we had a meeting to prioritize 1-2-3. The meeting went like this, "That's a one. That's a one. Hmm. That's a one. That's a one. Hmm, gee. Aaahhh. That's a zero..." No kidding, we left the meeting with two dozen ones and a few zeroes, but I was pretty happy about it - progress!

      Another thing that can be effective, though belligerent, if you have a priority-setting session that goes off the rails is to scan the list of items in the largest tranche of like priorities (usually the highest) and find the easiest or most enjoyable one to work. Tell the group that's the first one the team will work on, and tell them why: because it's easy, fun, whatever. Even better if you can list a handful of items like that. After saying it, you will get a new higher-than-high priority class, because the easiest and most fun item is never the most important. Beware, though. This will get you what you want, but you will piss somebody off for being lazy or looking to have fun at a sweatshop.

    11. Re:More pressing question by phantomfive · · Score: 2

      How do you get people (customers, bosses, etc._ to prioritize things like bug reports as anything other than "highest"?

      When I get in that kind of situation, where the managers aren't setting priorities (which happens, but is also a sign of a poorly run company), I try to do everything. When I can't, and someone comes with a new bug, I tell the person,

      "If I work on your project, it means Person Xs project will get delayed. Would you please go inform Person X of this fact?" If it is important enough to them, they will.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:More pressing question by Anonymous Coward · · Score: 0

      I agree that users should basically get better customer service. If you're not going to fix a bug immediately, the least you should do for the user is attempt to root-cause the problem, which gives the user confidence that you actually have a clue, and if possible you should provide a workaround that lets the user make progress.

      It can be very frustrating for both sides. If you don't respect each other to some minimum degree, you're screwed.

    13. Re:More pressing question by Kagetsuki · · Score: 1

      There are reporting systems that let you manage priorities and to triage them/assign developers to fix them etc. On small projects it's overkill I think though.

    14. Re:More pressing question by shutdown+-p+now · · Score: 1

      You have had priorities?

      Yes, I have priorities. They're ranked, in order: "0", "0 but more important than that other one", "0 AND ALL OUR TEST AUTOMATION IS FUCKED OMG WTF FIX THIS NOW!!!", and "um, we accidentally shipped a bug with crash on startup yesterday".

      (a joke, but in every joke ...)

    15. Re:More pressing question by shutdown+-p+now · · Score: 1

      Why do you need a reporting system to triage bugs? Just put a bunch of people who can meaningfully do it (i.e., a manager who understands the cost of the affected product features, and developer and QA leads who can reasonably estimate the amount of work needed) in a room, and don't let them out until all your active bugs have something in "Priority" field in the bug tracker.

    16. Re:More pressing question by Anonymous Coward · · Score: 0

      Simple! You make clones of them that no life or other obligations whatsoever. Thousands of them.

    17. Re:More pressing question by Terrasque · · Score: 1

      "um, we accidentally shipped a bug with crash on startup yesterday".

      Already done, spectacularly

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    18. Re:More pressing question by shutdown+-p+now · · Score: 1

      Thanks, this is really epic. I'll keep it in mind whenever I do something monumentally stupid - just to remind myself that it can always be worse. ~

    19. Re:More pressing question by DeBaas · · Score: 3, Interesting

      A more pressing question is how to get developers to stop ignoring bug reports.

      You'd be surprised how much proper bug reports have to do with developers solving your issues quickly in stead of ingore it.

      I'm a test manager and new testers in my team are trained to to follow strict rules for bug reporting. I find proper bug reports possibly more important deliverables then test plans and test reports.
      Since we started adhering to strict rules the developers started to handle our issues much faster as well as much better. Not only are they much more inclined to help you if you take the effort to make proper report, but also they have to spend _much_ less time on it. I've once calculated that a bad report can esaily cost more then 8 times the time it would have cost. And also they often otherwise fix the wrong thing. Why does it take so much more time? Because they first waste time to find out what's wrong, then they contact a designer, who does the same, wasting more time. Then they contact you again and as you probably logged it days or weeks ago, you do the same again. And before you know it, something that takes 30 minutes to fix caused 10 hours in work.
      If you're the only doing it right, you may see your developers picking yours up asap as the cherries.

      Basic rules for reporting:
      - always provide steps performed (bulleted!)
      - always provide expected result
      - always provide actual result + the base for expecting this (i.e. see design page x or this is not right because...).
      - if not plain obviuos explain why actual result is not correct
      - alway provide test data used (i.e. username, customername, results such as logs xml messages)

      If applicable (nearly always)
      - provide a screenshot

      NEVER:
      - never try to their work and tell the developer things like: the code is probably wrong so and so or the database should do this and that. Describe the behaviour, not the cause. The biggest problem with this is that they may take you seriously and could fix it in the wrong place. They are better suited to determine what the cause is for certain behaviour.

      --
      ---
    20. Re:More pressing question by Kagetsuki · · Score: 1

      Because bug testers cost money and they don't always find all the bugs. I've never ran one of these larger reporting systems or even been part of the administration process of one but many big projects have them. EG: FireFox, Ubuntu, etc.

    21. Re:More pressing question by BVis · · Score: 1

      No, the person that writes the checks sets priorities. Is it any wonder that there's so much crap software out there?

      --
      Never underestimate the power of stupid people in large groups.
    22. Re:More pressing question by jc42 · · Score: 1

      Simple. You rank the bug by the all-conquering financial cost of continuing to have software out there, that has that bug.

      It's easy to say "Simple." But that doesn't make it simple. Estimating time and/or cost of fixing a bug can easily take a lot more time (and money) than does the actual fix. This is especially true for software, where time/cost estimates are purely guesswork. After all, if you knew how long it would take to diagnose and fix a bug, you'd probably have already done it, and you wouldn't have the bug. The actual fix typically is just a few seconds of typing. But this typically follows hours or days (or weeks or ...) of studying and testing to figure out WTF is going on in the code, and there's no usually no way to accurately estimate this diagnostic phase until after you've finished it.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    23. Re:More pressing question by ArsonSmith · · Score: 1

      but yet many multi-billion dollar software companies. They must be doing something right.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    24. Re:More pressing question by Anonymous Coward · · Score: 0

      How do you get people (customers, bosses, etc._ to prioritize things like bug reports as anything other than "highest"?

      Show customers/managers the list of items to be done. Tell them roughly how long each item will take. Ask them for the order in which tasks should be done. People who say things like "every task is a top priority" genrally will not say "start all ten tasks at the same time, and do them as fast as you would do a single task".

    25. Re:More pressing question by Anonymous Coward · · Score: 0

      You have lead engineers? Must be nice to have some sort of structured development environment.

    26. Re:More pressing question by Kidbro · · Score: 1

      Simple. You give them time to work on fixing bugs, rather than forcing them to spit out the next feature, and the next, and the next, and the next, all while changing the specs behind their backs.

      Developers want to write quality software. Management stops them from doing so. At least in every single case I've observed close enough to have a clue about.

    27. Re:More pressing question by John+Hasler · · Score: 1

      They're giving people what they want. Unfortunately, people want crap (but they insist that it be pretty).

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    28. Re:More pressing question by GlobalEcho · · Score: 1

      If you want users to submit better bug reports, you need to be responsive to them so that they feel like they're getting something out of it.

      Amen to this. Bug reports that go unfixed too long not only result in a dearth of meaningful reports, but are also liable to cause the users to seek out a new development team, or a new app, or both.

    29. Re:More pressing question by BVis · · Score: 1

      That doesn't make the software good, just expensive.

      --
      Never underestimate the power of stupid people in large groups.
    30. Re:More pressing question by Anonymous Coward · · Score: 0

      Payment helps. The larger the payment, to more likely any bug will be addressed. $500 to start.
      If you want it fixed ASAP, $10,000 will do on FLOSS apps.

      On commercial apps with closed source code - you are screwed. It is nearly impossible to get any bug fixed in six months even with $100,000 provided. I know these things from experience dealing with all the big companies that you already know.

    31. Re:More pressing question by ArsonSmith · · Score: 1

      No, expensive means it is not going to be bought. It is priced well for it's target market.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    32. Re:More pressing question by rbraunm · · Score: 1

      Unfortunately I would need to hire someone to research the cost and benefit for each ticket and prioritize issues based on that research. That's not very cost efficient. The irony is palpable.

  8. Why not try this? by Anonymous Coward · · Score: 1

    Give people a small, but meaningful bonus when they send in a meaningful bug report. If not, just disregard it and send them a canned form on which they will have to write all their bug reports.

  9. It's no secret, but underused by Anonymous Coward · · Score: 2, Interesting

    For Windows developers at least, there is one spectacular piece of the OS to make use of for bug reports. Mini-dumps. So awesome I wish Linux had an equivalent. Makes finding bugs much easier when you can load a mini-dump and break into it with a debugger. Best of all you don't have to host your own server to cache those dumps, Microsoft will do it for you as long as your copy of Visual Studio is legit.

    1. Re:It's no secret, but underused by Grishnakh · · Score: 1

      This isn't quite at the same level, but the KDE desktop environment does have an automated crash reporting system that'll send bug reports to the devs when a KDE app crashes. Obviously, the problem here is that it only works in KDE, and with KDE apps, but it's a start. Due to the nature of Linux, having a whole-system crash-reporting mechanism would be quite a project, as the reporting program would need some way of deciding where to send each report, or there'd have to be a central server it sends all reports to, which then on the server side dispatches them to the right place. Moreover, there's no standardization in toolkits and such, so KDE's tool works great for KDE, since it and all its apps are built with Qt, so they're in a position to be able to best interpret that data. MS probably has an easier time with this since they have several standard toolkits/APIs, so any program built with those APIs can take advantage of the provided crash reporter. However, I imagine any program that isn't built with standard MS APIs wouldn't have this ability. Also, MS has the resources to set up a website where this crash reporter can send all its reports to; getting the Linux community to cooperate on such a project (that serves all applications on all desktop environments) would be like herding cats. I think the best we'll see any time soon is each major DE/toolkit having its own crash reporter, which works for that DE and its apps, plus perhaps any other apps that other people write using that DE's libraries.

    2. Re:It's no secret, but underused by zippthorne · · Score: 0

      ... but the KDE desktop environment does have...

      Wait.. What does the DE stand for?

      --
      Can you be Even More Awesome?!
    3. Re:It's no secret, but underused by Anonymous Coward · · Score: 0

      MS probably has an easier time with this since they have several standard toolkits/APIs, so any program built with those APIs can take advantage of the provided crash reporter.

      Actually, when an unhandled exception occurs (say, an access violation) it gets caught by Windows' internal exception handler and this starts a new process that will attach itself as a debugger to the crashing application. This is why no code needs to be written for this (but there is some virtual paperwork necessary to get at the minidumps). It is also why it won't work if your application only crashes during system shutdown since you can't spawn processes when performing a shutdown, unless you cancel the shutdown but Windows' internal crash handler isn't smart enough to do something intelligent in this case.
      It is possible to install your own exception handlers and handle exceptions any way you please. If you think you can create better error reports than Microsoft, you don't need to use the built-in handler.
      In principle, GNU/Linux could do the same thing simply by catching SIGSEGF and such if the application doesn't handle it and prepare an error report. The language, framework and APIs used don't matter.

    4. Re:It's no secret, but underused by shutdown+-p+now · · Score: 1

      If you report a bug, if at all possible, use a full heap dump rather than minidump (Windows will produce minidumps for crashes by default, but you can produce a full one at any moment - whether during a crash or while running - from Task Manager by right-clicking on the process).

      Minidumps only include globals and stack. It (really, just the stack) is enough to diagnose trivial coding errors that lead to a crash, like not checking a pointer for null before using it where it can legitimately be null. But such things very rarely get into shipping products, because they fail early on during internal testing.

      The bugs that do end up in shipped code are usually much more subtle, and require understanding of program state to properly diagnose - otherwise you can stare at the stack trace for hours, with the only thought being, "how the fuck can it even go down that code path at this moment?". Given that, in most large modern apps (even ones written in native languages like C++), most state is stored in heap, a minidump can be close to useless to debug such a thing.

      Of course, one should also understand the privacy implications here. When you send a dump file to someone, you're sharing part of that process' memory (or it all, in case of a full dump). Any strings and other data inside can be inspected if so desired. This potentially includes data that may have already been freed, but lingers on simply because it wasn't overwritten (like, say, the state of your private browsing session). Most large companies have privacy agreements that limit what they can do with such data, but I don't know what standards apply if there isn't such an agreement (probably there's some sort of implicit contract there, but IANAL, and I wouldn't rely on this for anything that you actually want to keep confidential).

    5. Re:It's no secret, but underused by jgrahn · · Score: 1

      For Windows developers at least, there is one spectacular piece of the OS to make use of for bug reports. Mini-dumps. So awesome I wish Linux had an equivalent.

      Uh, Linux and the rest of the Unix world has had it for 30+ years. It's called a "core dump".

  10. Template by Anonymous Coward · · Score: 1

    Send them a bug report template. Mark in red the things that are very important for your particular application (e.g. you mentioned URLs).

    You can then help you help them help you with little questions like 'can work around' or 'can be reproduced'.

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

      You're not actually a developer, are you? We had a case this morning where a developer sent a user an email with specific instructions on how to send us a bug report - what menus to access and select, buttons to click, etc., complete with screen shots. Ten minutes later, the user replies to *that same friggin email* with "Can you send me the instructions again?" wtf?

    2. Re:Template by WH44 · · Score: 1
      Came here to say something like this. Surprised that it is so low and so few votes compared to automation.

      Our system goes a little further and we've had pretty good success with it: send them a link beforehand where they can enter the bug. Make the important fields required and don't accept bug reports any other way. Some of the users then just stop sending in bug reports and some fill things in with meaningless information, but generally the quality of the reports went way up.

    3. Re:Template by WH44 · · Score: 1

      S*** happens. People accidentally delete emails they did not intend to. There's no reason to be a dick about it - it takes seconds to resend.

  11. Add a bug-report button by Anonymous Coward · · Score: 0

    Add a button or link to each page called something like "report problem on this page" which dumps relevant state to somewhere sensible (i.e. don't fill up the root fs), and gives the user a text box to write a description of the problem in. As long as what the user types in is even vaguely sensible, you should have enough state dumped to figure out what's going on. Exactly what and how much state you want to dump is of course up to you.

    1. Re:Add a bug-report button by cusco · · Score: 2

      Bingo. One of the main apps that I use has a 'Feedback' button that tech support has hijacked to have users send in bug reports. I'm sure the Marketing department is annoyed, but that just makes it better.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
  12. Listen by Moof123 · · Score: 4, Interesting

    Seriously, don't just keep blowing off the important user bugs for multiple release cycles. Once your bugs have been blown off for 6 months you stop submitting new ones.

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

      Dude... I can only wish my bug reports were blown off for six
      months. My bug reports only get arguments and derision right away (except from Apple, curiously enough... they actually had an engineer contact me.) My conclusion is that the problem isn't PEBKAC, but PEDTDA (problem exists due to developer arrogance).

    2. Re:Listen by Sez+Zero · · Score: 2

      Listen is great advice. You can really save yourself a lot of time by going to see the bug reporter in person. While not always practical, it does increase your visibility and karma with your cow-orkers.

  13. Mod parent up! by khasim · · Score: 1

    Was this really a question?

    Don't most of the apps you use have some means of reporting problems back to the developers when they crash or have errors?

    1. Re:Mod parent up! by Grishnakh · · Score: 2

      Wouldn't this depend a lot on the type of app, and also on the type of bugs you want information about?

      If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in. But what if it's a web app? Or some kind of low-level or embedded software?

      Judging by the question, it's probably not anything embedded, but web apps are pretty common these days, and crashing isn't even a problem with those, instead it's other problems. Or what if it's some kind of defect in the UI, or some other imperfection that users might complain about? Those wouldn't be handled by an automated bug reporter.

    2. Re:Mod parent up! by Dyolf+Knip · · Score: 5, Informative

      > If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in

      That's precisely what I do. The default exception handling routine sends an email to me with the app, version, username, machine id, error description, call stack, and any useful data that that I saw fit to include while coding. It has saved me mountains of pain over the years, and also fuels my reputation as the all-seeing eye.

      --
      Dyolf Knip
    3. Re:Mod parent up! by Kagetsuki · · Score: 1

      That sounds like a nice scheme, I'd love to see your implementation or if you're using a library or something I'd like to know the name. Is there an option for user comments?

    4. Re:Mod parent up! by CBravo · · Score: 1

      I have it POST to a system which filters every exception to a category (with sql statements per category). Depending on the category I have a warn / alert threshold set in Munin. If a service operations issue happens (table X is marked as crashed) I notice in 5 minutes, PEBKACs have a high threshold. I know it before they call.

      --
      nosig today
    5. Re:Mod parent up! by Marillion · · Score: 1

      Crashes are a very different thing from wrong answers. Suppose for a moment he's working on a system to compute insurance premium values. It takes in a whole bunch of inputs to calculate the risk and then calculate a premium to cover the insurance companies liability. If the calculation runs completes normally, the crash detection system won't know it overpriced the premium.

      --
      This is a boring sig
    6. Re:Mod parent up! by mhotchin · · Score: 2

      Here's one I've been using, it worked well for my purposes:
      http://www.codeproject.com/KB/debug/crash_report.aspx

    7. Re:Mod parent up! by brainboyz · · Score: 1

      Same. You can only get so many "I clicked X and an error popped up" bug reports with no information beyond that quote in the bug body before you look to a real solution.

    8. Re:Mod parent up! by FireFury03 · · Score: 2

      Same. You can only get so many "I clicked X and an error popped up" bug reports with no information beyond that quote in the bug body before you look to a real solution.

      You get information like "I clicked X"? The reports I get don't usually even tell me that much.

      I tend to get "the internet doesn't work" (I write and manage proxy and email systems). This can mean various things:
      1. The whole internet connection is down (why are you calling me? I'm not your ISP...)
      2. I can't access my webmail
      3. I can't send an email from my MUA
      4. Someone on the other side of the planet sent me an email literally 2 seconds ago and I haven't received it!!!!
      5. I can't access any web pages (any error messages that are appearing would be helpful... There's a big difference between "your account has been blocked" and "the proxy server has crashed")
      6. *no one* on site can access any web pages.
      7. I can't access a specific web page.
      etc.

      And inaccurate information also doesn't help - a reoccuring one I get is customers telling me that no one can access any web pages (maybe they think this makes it sound more urgent?) when actually it is one specific site that is down (usually because that third party website is actually down and therefore beyond my control, rather than a fault with the customer's systems).

      The ones that bring a smile to my face are the customers who phone me up ranting about how I haven't responded to an email they sent complaining that their internet connection was broken.... (this email usually pops into my inbox shortly after their internet connection is restored and their MTA flushes its queue out onto the internet)

    9. Re:Mod parent up! by Anonymous Coward · · Score: 0

      We write web applications and they ALL have a way of reporting defects back to us, including information which helps to locate the issue in the logs we keep.

      This is what professional software does, not your cheap and cheerful crap you can purchase for $9.99.

    10. Re:Mod parent up! by goose-incarnated · · Score: 1

      Well, there is still the option of having a "report bug" button that grabs a screenshot, everything in the users "undo/redo" stack and all the information it can grab from the client system. Pop up a dialogue that lets the user enter even more information, and you're done.

      --
      I'm a minority race. Save your vitriol for white people.
    11. Re:Mod parent up! by Anonymous Coward · · Score: 0

      If the calculation runs completes normally, the crash detection system won't know it overpriced the premium.

      Neither does the user.

    12. Re:Mod parent up! by dotancohen · · Score: 1

      > If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in

      That's precisely what I do. The default exception handling routine sends an email to me with the app, version, username, machine id, error description, call stack, and any useful data that that I saw fit to include while coding. It has saved me mountains of pain over the years, and also fuels my reputation as the all-seeing eye.

      Yet when Google or Apple or CarrierIQ do that, it is considered an invasion of privacy.

      --
      It is dangerous to be right when the government is wrong.
    13. Re:Mod parent up! by Kagetsuki · · Score: 1

      Anything multi-platform? That looks like it's Windows only.

    14. Re:Mod parent up! by icebraining · · Score: 1

      The context is of internal business apps. Firstly, you have no expectation of privacy in that situation, and secondly, he didn't list any personal information.

    15. Re:Mod parent up! by funfail · · Score: 1

      he didn't list any personal information.

      Which part of "any useful data that that I saw fit" did you not understand?

    16. Re:Mod parent up! by jonbryce · · Score: 2

      Bug reports are often "when I do this, it doesn't do what it is supposed to do (or what I would like it to do)" rather than crashes or error messages.

    17. Re:Mod parent up! by Dyolf+Knip · · Score: 1

      By which I meant internal variables from the subroutine that failed.

      --
      Dyolf Knip
    18. Re:Mod parent up! by Smallpond · · Score: 5, Funny

      > If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in

      That's precisely what I do. The default exception handling routine sends an email to me with the app, version, username, machine id, error description, call stack, and any useful data that that I saw fit to include while coding. It has saved me mountains of pain over the years, and also fuels my reputation as the all-seeing eye.

      I do much the same but include credit card information, mother's maiden name and social security number.

    19. Re:Mod parent up! by Smallpond · · Score: 1

      My monitor isn't working.
      The screen is dark?
      No. Just nothing will move.

    20. Re:Mod parent up! by ianare · · Score: 1

      If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in. But what if it's a web app?

      How is a web app any different ? Every single one I've worked on, whether it was PHP, Pyhton or Java, had custom exception classes. Depending on the severity of the module, an email could be sent to the developpers, the stack trace could be logged somewhere, or simply ignored. So for example a "can't connect to database" type error would require immediate attention (email to developpers), while "404 favicon.ico" would simply get logged and reviewed daily/weekly whatever.

    21. Re:Mod parent up! by ArsonSmith · · Score: 1

      so a user report, when I put 2+2 in the calculator field I get 5.

      How does a crash report help with that?

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    22. Re:Mod parent up! by Anonymous Coward · · Score: 0

      I deliberately interdict all automated bug and statistic report whenever possible.

      Fuck that nosey snooping eavesdropping bullshit.

      I know I'm not the only one.

    23. Re:Mod parent up! by Anonymous Coward · · Score: 0
    24. Re:Mod parent up! by BitZtream · · Score: 1

      I wrote this:

      http://code.google.com/p/flyswatter/

      It uses Mozilla/Google Breakpad for the heavy lifting and wraps some lightweight GUI around it and gives you a MUCH MUCH smaller implementation of a web interface that doesn't require 6 days and your first born child to configure.

      The GUI wrapper is currently Windows only, I've just not had the time to port it over to my Mac apps yet. Breakpad itself however, is not Windows specific, it works on Linux and OSX as well, and you can throw it on any OSX App bundle by modifying the plist for the app. I think you can use LD_PRE_LOAD on Linux to add it to any app as well but don't quote me on that one.

      I've not done any documentation worth mentioning, but if theres interest I'll put effort into it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    25. Re:Mod parent up! by brainboyz · · Score: 1

      X was included after much user bash...err, training. I was tired of "I was working and an error popped up." A few finally got it after many requests and will include what program, what window, what data in the window (or record ID), and what they did just before the red 'X' showed up. The rest I pull from the system-generated error report.

    26. Re:Mod parent up! by BitZtream · · Score: 1

      Because that email and stack trace don't do jack shit to tell you about the client side javascript, css, or whatever layout problems that are occurring.

      The most man hours spent dealing with web apps is spent dealing with browsers, not backends.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    27. Re:Mod parent up! by luis_a_espinal · · Score: 1

      Wouldn't this depend a lot on the type of app, and also on the type of bugs you want information about?

      If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in. But what if it's a web app?

      Client and server error bundles.

      For starters, a web app, even a RIA, is just a web UI and a back end. Moreover, most relevant exceptions in a web app, even a RIA one, occur on the back end. And on the back end, you can do almost anything. A good approach for web app exception handling is to have exception stack traces properly time-stamped and logged in a log file. Additionally, they must be bundled with "context" information such as - user id, url visited, url arguments if any, http session state if any, cookies if any, http method (post/get/etc), hostname and when possible OS/container state (connection pool stats, thread pool stats). All that bundled info then gets send to a log file as well (and possibly via syslog or something else sent as a nonblocking message to another machine, or an error tracking database table.)

      On the front end, have the web UI create dynamically a client-side error bundle (a simple json or xml structure containing client information such as browser version, OS version, user id, cookies) whenever the client detects an error, be it client or back-end originated. Then have the web UI on the web interface, when the error (or an error) occurs, have the web interface (without taking the user away from the page or transaction last visited) create a dynamic pop-up form for the user to log an error report. The web interface should also pull as much information as possible on the client (browser, OS, user id, cookies, etc) and preemptively post that as a client-side error bundle against an error-reporting URL in the application.

      In addition to that, the web UI should provide a non-intrusive form (perhaps a dynamic pop-up form/frame thingie) that allows a user to report an error (and which would also include a timestamp, user id and visited URL). Most sites do not do that, which I think is an operational error. The relative time stamps, user id and visited url would provide a mapping from this report to the client-side error bundle to the server-side error bundle.

      Implementing this can get hairy very quickly, specially for developers who cannot control over-engineering spams due to acute featuritis and "2nd System Effect". But at the very least, a web app should capture server-side errors coupled with (at least) user id, timestamp and visited URL (and sometimes http session state and cookies.)

      Anything less is the operational equivalent of peeling potatoes while blind-folded (ouch.)

      It is worth nothing that this is a operational/non-functional architectural feature, and that it should be implemented in the design early on. Trying to shoe-horn it into an application that did not have such considerations in place will be a PITA. Things like this should never be an after-though. They need to be considered early on in any application.

      Or some kind of low-level or embedded software?

      That's actually (conceptually) easier since a low-level or embedded system does not get most (or all) of its inputs from a human interface. Its inputs and outputs tend to be discrete, and such systems are (at least conceptually) state machines with clear transitions and states. When an error is encountered, you simply write a time stamped error descriptor that is efficient and acceptable in terms of the available resources to an error reporting port, which could be a led display, an internal buffer, or if the resources are available, to a storage device or to a port connected to a cable (ethernet, serial, whatever.) The error descriptor should indicate the state the device was in at the time of the error.

      Judging by the question, it's

    28. Re:Mod parent up! by snadrus · · Score: 1

      Here we add to that some walked memory. You can specify certain addresses as the target for a block of memory, then the crash tool can return that structure as well as use its pointers to return other structures. With this, you can know a program's state. Add to this some log files that can optionally have a large amount of output, and you have a picture of the history.

      --
      Science & open-source build trust from peer review. Learn systems you can trust.
    29. Re:Mod parent up! by dotancohen · · Score: 1

      By which I meant internal variables from the subroutine that failed.

      Don't worry about, I wasn't picking on you but rather expressing the double standard in a way that most other software devs here might understand. I happen to agree with your practice.

      --
      It is dangerous to be right when the government is wrong.
    30. Re:Mod parent up! by Kagetsuki · · Score: 1

      Excellent, I'll take a look when I can. Thanks.

  14. YSOD? by Anonymous Coward · · Score: 3, Informative

    So it is an ASP.NET app? Seriously, override application_error in the global.asax, and just send the emails with detailed error dumps and messages straight to you, in real time.

    1. Re:YSOD? by smileygladhands · · Score: 0

      This.

    2. Re:YSOD? by smileygladhands · · Score: 2

      So it is an ASP.NET app? Seriously, override application_error in the global.asax, and just send the emails with detailed error dumps and messages straight to you, in real time.

      Also, you should look into over-riding other "events" in the global.asax to help with general reporting of app usage while in alpha and beta phase. (also, do you guys have a senior developer, pretty ridiculous you have to ask slashdot this...)

    3. Re:YSOD? by ralphdaugherty · · Score: 2

      My god. We have some dufus complaining about lack of "meaningful" bug reports who bemoans lack of a sufficient YSOD screen capture.

      And he complains about others not being meaningful? You got to be kidding me. Google tells me the PC kiddies call this Yellow Screen of Death.

      This guy is complaining that when his program blows up the user it blew up on didn't do a good enough screen capture for him?

      wow. Slashdot must pay a bounty for dumb questions to drive traffic.

    4. Re:YSOD? by L4t3r4lu5 · · Score: 1

      wow. Slashdot must pay a bounty for dumb questions to drive traffic.

      So you've heard of the new "Sponsored Question" posts?

      --
      Finally had enough. Come see us over at https://soylentnews.org/
    5. Re:YSOD? by BlueScreenO'Life · · Score: 1

      I believe there are a few kinds of errors that won't catch (or at least, there used to be). I once got a YSOD in Hotmail (No stack trace though). For realsies.

    6. Re:YSOD? by Kalriath · · Score: 1

      It has to be a pretty critical error for that - like Runtime core dumping material. The error you got on Hotmail was probably due to either human error, or a borked upgrade in progress (I've seen this sort of thing even on Google for frig sake).

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  15. Make the users fill in a form... by jet_silver · · Score: 3, Insightful

    and find out what you think might be wrong, instead of what is wrong.

    Engage the users. It's your problem, not theirs.

    1. Re:Make the users fill in a form... by Anonymous Coward · · Score: 0

      Engage the users. It's your problem, not theirs.

      This exactly. Here at my work, we have engineers whose responsibilities include answering and relaying issues that the customer finds.

      It's tough work understanding users. If it wasn't, everyone would do it and it wouldn't be so important.

    2. Re:Make the users fill in a form... by el_tedward · · Score: 1

      If you can, try meeting with your users face to face. The more you can facilitate communication, the better. Relaying through email or ticket posts can be a slow and arduous process. If you can instead spend a few minutes IM'ing them, or talking to them on the phone, you may be able to make more progress.

      There are two sides to this communication process. There is your users educating you about their needs and requirements and the problems they are facing with your software, and there is you educating the users on how to make better recommendations and bug reports.

      Also, most of the stuff in here is just a bunch of despair and people saying "fuck it" to communicating with those who are less technical. It's always going to be a problem, and it will always be an impossible challenge if you look at it with the same attitude.

  16. Developers don't read bug reports anyway by Anonymous Coward · · Score: 1

    If they did Unity, Gnome 3 and Firefox wouldn't have the massive amounts of negative feedback they have now. In fact, Firefox development has gotten so bad they are currently having issues compiling

    1. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      I completely disagree. There's a difference between a bug where a piece of software is not operating correctly according to its own designers, and a "bug" where a piece of software is not styled or architected the way some users think it should be.

      For instance, suppose you have a program, and on one window, there's a "Next" button that's supposed to take you to another window (if there's any formal design docs, this would be specified there). But instead of doing that, clicking that button crashes the program. That's a bug. There's no disagreement about it.

      What you're talking about is some users not liking the way the software is architected. To put it into the obligatory car analogy, it's like getting into a Chevy Aveo and complaining that it doesn't handle and accelerate like a Porsche or Ferrari. If the software is working the way its designers and architects intended for it to function, there's no bug.

      This doesn't mean griping and complaining about the state of some of this software these days is wrong, it's just that you're calling it a "bug" when it isn't, and people may indeed be filing bug reports on these projects' respective bug tracking systems, but bug trackers are usually used for two things: bug reports (with "bug" being what I described above), and feature requests. A feature request is when the user tells the designers and architects how they think things should be done. However, if the architects have a different vision of what the software should be than the users making these requests/complaints, then they're obviously going to ignore them. Again, it'd be like a bunch of people complaining to Chevy that their Aveos have shitty handling and performance; the engineers would read these complaints, say "we did the best we could given the cost constraints imposed by management to meet this vehicle's price point; we can't include the components needed for higher performance without sacrificing fuel efficiency and/or greatly increasing build cost", and dismiss the complaints, rightfully.

      WRT Unity and Gnome3, what we have here is a fundamental disagreement between the developers of these projects and the users who keep trying to user them. These projects want to impose dumbed-down UIs on users which are suitable for small touchscreen devices, because they believe that all devices should have the same interface to "reduce confusion", and so, even if you're using a giant quad-monitor desktop system, you need to be constrained to doing things in a way that works well on an iPhone, because you're too stupid (in their opinion) to be able to use different UIs on different systems. If you don't agree with this philosophy, then these systems are simply not right for you, and you're wasting your time complaining to the devs about it because they don't care what you think. Instead, you should be migrating to systems which suit you better, such as KDE whose developers believe that different devices should have different UIs, and have set up their system to work in exactly this way: there's different default UIs for desktops, netbooks, and tablets (there's actually a video somewhere showing an experimental version running on some kind of touchscreen smartphone IIRC). Furthermore, it has oodles of configuration options, in case the default behavior isn't to your liking--this is something else the Gnome and Unity devs don't believe in, because they think it's "too confusing" to have configuration options. If KDE is too heavyweight for your liking, there's a few other Linux DEs out there that strike a different balance, such as XFCE and LXDE, so try those out too if you hate Gnome3 and Unity and KDE doesn't do it for you.

    2. Re:Developers don't read bug reports anyway by spongman · · Score: 4, Insightful

      If the software is working the way its designers and architects intended for it to function, there's no bug.

      absolutely correct, unless you consider usability to be a feature.

      if you do, then every time a user is confused about your application, it's a bug. it may not be easy to fix. but if you don't consider it a bug, track it, prioritize it and potentially fix it, then you don't care about usability.

    3. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      The problem here is that everyone has a different idea of what "usable" means. The Gnome devs think things aren't "usable" if the UI isn't suited for a 5" touchscreen, but many users seem to disagree with that. Other users may think something isn't "usable" if you have to right-click to do certain things (as is common in most non-Mac systems), while other users disagree.

      Sure, bug trackers should accept bugs from users complaining about usability features, but there's no way to please everyone, so users shouldn't be too surprised if their feature request is rejected.

      Gnome users filing bugs asking for a configuration menu allowing them to change all kinds of major and minor behaviors of the Gnome UI will have their requests rejected. Similarly, KDE users filing bugs asking for the configuration menu to be deleted and have everything set according to what some self-appointed "usability experts" decide is best for everyone with no way to change them will have their requests rejected.

    4. Re:Developers don't read bug reports anyway by rve · · Score: 1

      "If you want to make enemies, try to change something"

    5. Re:Developers don't read bug reports anyway by 0123456 · · Score: 1

      Firefox development has gotten so bad they are currently having issues compiling

      According to that, it's only because of 32-bit limits on Windows. Real operating systems have been 64-bit for years.

      Compiling the software I'm working on needs more than 4GB of RAM, so I don't see why that should indicate anything more than C++ being a hugely bloated language.

    6. Re:Developers don't read bug reports anyway by cusco · · Score: 1

      Huh? Windows has been 64-bit since NT 3.51. The company that I worked at in 1996 had a 550 mhz DEC Alpha running 64-bit Windows NT 3.51 Server (because Oracle never supported VMS), at a time when the best Intel chip was the 32-bit Pentium 166. That's a frelling CHEAP HARDWARE limitation.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    7. Re:Developers don't read bug reports anyway by PeanutButterBreath · · Score: 1

      The problem here is that everyone has a different idea of what "usable" means.

      "Usable" means that the intended audience is able to attain the expected goals. If your intended audience is so varied in their goals and skillset that this is unachievable, that's a bug.

    8. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      "Usable" means that the intended audience is able to attain the expected goals. If your intended audience is so varied in their goals and skillset that this is unachievable, that's a bug.

      I don't know how you can expect an intended audience for a desktop environment to NOT be extremely varied in their goals and skillset. Let's look at Microsoft Windows for example: according to MS, it's supposed to be the standard desktop OS for everyone, whether they're Grandma who's barely used computers and only uses hers to get photos from her grandkids, or whether they're on office drone working on Word documents, or whether they're an engineer using ProE or doing PCB design, or whether they're an expert software engineer creating a new compiler. How are you going to balance the needs of all those different people with their vastly different goals and skillsets, and make a single UI that pleases them all? (I'm sure Apple will say the same thing about their desktop OS, that it's meant to be for everyone. In the Linux world, I'm quite sure the Gnome, Unity, and KDE people will also make the same claims about their DEs.)

      Your statement would make sense for certain applications; for instance, the UI of ProE is probably not exactly as easy as picking up an iPhone and making a call or playing Angry Birds, but it wasn't intended to be used by everyone, it was only intended to be used by mechanical engineers to do 3D modeling. Most other specialty software aimed at highly competent users in a particular field are the same way; they have a high learning curve because they assume a lot of background knowledge. But DEs aren't like this, they're almost all aimed at being "usable" by everyone. But what's "usable" to Grandma can be a hindrance to an expert software developer.

    9. Re:Developers don't read bug reports anyway by Anonymous Coward · · Score: 0

      I can't agree with this. A minority of users are wrong about how an app 'should' work. I frequently get requests to break OS or HID conventions that if followed, would confuse most other users.

      Unfortunately, these minority users can be found in project management and executive ranks, and maintaining usability (and the app's success, ultimately) requires carefully guiding those 'improvements' into the trash bin.

      Knowing which issues are valid - and regardless of validity, which issues can't be trashed for political reasons - are important parts of the art of software dev.

    10. Re:Developers don't read bug reports anyway by spongman · · Score: 1

      don't confuse usibility issues with change suggestions. they're different things entirely. sure, if your user suggests a change that doesn't make sense, don't do it. but don't ignore the fact that they found the existing behavior confusing. it's not the user's job to design your application, but it is your job to design it in such a way as not to confuse them.

    11. Re:Developers don't read bug reports anyway by funky_vibes · · Score: 1

      As I see it, grandma, is a hindrance to usability.

      Grandma is just a state of evolution for users who recently started using computers. In general, more experienced users tend to like the same things (if you don't agree you're not experienced)

      All users will grow beyond grandma, and what we'll be left with is a bunch of shitty software written for people who don't exist anymore..

    12. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      In general, more experienced users tend to like the same things

      I'm pretty sure this is called "confirmation bias". The experienced users tend to like the same things because that's what they were exposed to in their experience. If they had been exposed to something totally different, they'd tend to like that instead.

      There's lots of other, not elderly, people in the world with limited or no experience with computers, and as their economies improve and they get more access to technology, they're going to be using computers too, and they probably won't prefer the same thing highly-experienced current computer users do.

    13. Re:Developers don't read bug reports anyway by funky_vibes · · Score: 1

      Yes, because out of the 5 zillion things to do with computers, everyone has been doing the exact same things.

      That's like saying we have confirmation bias because we all like food, but hey, let's ignore the mountains of evidence and still say food is bad.
      And probably when 3rd world country peoples' economies improve, they will probably eat too, but prefer other stuff like tyres and coat hangers, not the stuff that us experienced food eaters like.

    14. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      Huh? What are you talking about?

      To use your food example, let's look at Mexican food. If you go to Mexico, I think it's safe to assume that you'll find that most people there like Mexican food. There might be a few people who prefer American food, or Italian food, or Chinese food, but the vast majority of the population probably likes Mexican food. Now, if you go over to Italy, you'll probably find something different: that they mostly like Italian food, and not Mexican food. Why is this so? Are Mexicans fundamentally different from Italians, their very biology compelling them to prefer corn and peppers to tomatos and pasta? Of course not; they like the food they grew up with, because they're used to it.

      With computers, people may have been doing many different things with them, but over the last 15 years, how have they been doing them? The vast majority of them have been using Windows to do whatever they've been doing, because that's been the OS powering 95%+ of PCs. The largest minority have been using MacOS, and a smaller minority have been using various Linux/Unix environments. People like what they're used to, or if there's something that annoys them about it, they'd like that one small thing changed, but overall they want it to be mostly the same as what they're used to. So take someone who's been using various Windows versions for the last 15 years, give them a radically different UI, and they're going to complain (this doesn't mean their complaints are not justified necessarily; change for change's sake is not a good thing, so if the new UI isn't demonstrably better than the tried-and-true one, their complaints are fully justified).

      Therefore, experienced computer users tend to like the same things because their experience is all with the same or very similar interfaces.

    15. Re:Developers don't read bug reports anyway by funky_vibes · · Score: 1

      There's no therefore, since experienced users aren't those that you described.
      You can hardly call someone experienced if all their experiences are with the same thing.

      In a world where everyone is a moron, then yes, what people use causes them to use it.

      But among experienced users, something being better causes them to use it. Why is it so difficult to understand?
      Most things in the world aren't about taste, there simply are better alternatives to a lot of things.
      And once you've tried everything, you know what they are.

    16. Re:Developers don't read bug reports anyway by Grishnakh · · Score: 1

      Sorry, I don't buy it.

      Let's look at auto mechanics. Suppose someone's a factory-trained Mercedes mechanic, and has been successfully working on Mercedes cars for 15 years, getting commendations from his employer even with some particularly tricky cases. Just because he has zero experience working on Chevies and Ladas (which aren't available in his country) doesn't mean he's "not experienced", he certainly is, it's just not extremely wide-ranging experience.

      Similarly, if someone's a highly experienced C# programmer, using Visual Studio of course, and has had a lot of success writing C#/.NET apps, that doesn't mean he's "inexperienced" just because he never bothered to go look at Perl, Python, Lisp, or wouldn't be comfortable doing straight C programming in Linux using vim. Same goes for a highly experience VB programmer, as much as some of us may make fun of that language.

      With Windows users, you're talking about a system that, rightly or wrongly, has controlled 90+% of the marketshare for PCs for almost 20 years now. Calling users "inexperienced" because they haven't bothered to try out OSes that relatively few people use is simply ridiculous. I and half of Slashdot may agree that Linux is superior, but that doesn't make everyone who doesn't use it a complete moron or anyone who hasn't used it "inexperienced". Next thing you know, the *BSD users will be calling Linux users "inexperienced", and the few remaining BeOS users will be saying the same thing about everyone else who's never tried BeOS.

      And being better isn't good enough in many cases; Windows isn't used because it's so great, it's used because that's where most of the important apps are (MS Office, Photoshop, etc.). Even if someone tries out some Linux DEs and thinks one or two of them are really great, that's not going to help them much when their day job consists of using some expensive, proprietary Windows-only application. Of course, this situation is getting slowly better, with more apps being available on Mac and Linux, and some apps losing ground to FOSS counterparts, but it's very slow.

    17. Re:Developers don't read bug reports anyway by funky_vibes · · Score: 1

      Your examples are not in any way related to this situation, a Chavy, Lada and Mercedes are all very similar things, which afaik have worked the same way since 60 yrs back, so of course the same mechanic can repair any of them. Now if you said engine repair, and diesel and petrol engine. then I might agree.

      Comparing Windows to Linux is like comparing a car to a helicopter. One is more capable, but it's also more complicated to use and build.

      Someone who has used only C# is per definition inexperienced, sorry, but I feel like talking to a troll. C# needs a few more decades of maturement time before it can be called anything else than a niche language. And even after that, you'd HAVE to try everything else before anyone would consider you vaguely experienced.

      I've met too many coders who think they're the shiznit just because they use one of the new hyped languages.
      If you'd tried them all, you probably wouldn't be using C#.

      I'd go to the length to say, that if you've developed for Windows, and STILL not tried the alternatives, it means you must be a moron.

      There's a very important point in being hostile to new languages if they don't bring anything useful to the table.
      So far there're only a zillion C++ copycats that just ignore all the problems that come with their changes, and on the other end of the spectrum there are the perl copycats.
      Everybody seems to have forgotten Lisp and derivatives.

      So no, nothing new under the sun, and experienced people are still agreeing on the best tools while all the new people are yelling non-sensical things around them.

  17. Can't happen by YrWrstNtmr · · Score: 2

    General users cannot and will not grasp the finer points of how you need the information. About all you can do is
    1. Ask them to resend, but with specific directions
    or 2. some sort of screen sharing application - "Ok, show me exactly what you were doing when..."

    1. Re:Can't happen by grouchomarxist · · Score: 1

      Only getting the screen sharing thing might be more difficult than getting the original software working.

    2. Re:Can't happen by ItsPete · · Score: 1

      I couldn't agree more. We use TeamViewer to share desktops to watch the User behavior. When that isn't possible for some reason then we tell them to take a screen shot after each click, and paste every single screenshot into a Word document and send it over.

  18. Write a script/tool that collects all the data by Anonymous Coward · · Score: 0

    Write a script that collects all the relevant data and zips it and then ask the person reporting the bug to run the tool on their system and send you the zip file.

  19. Templates and strict acceptance by Anonymous Coward · · Score: 0

    Make a template with all of the information you need in clear fields.

    Require all bug reports to meet that format.

    Automatically return any that don't with a request for more information.

    At first you may get a reduction in bugs as people whine about it being a hassle, but once they get used to it, all will be fine.

  20. Re:You're assuming developers can send good bug... by Targen · · Score: 2

    This is a great point. The distinction that actually matters is not so much whether the bug reports are submitted by developers or lusers, but whether they're submitted by idiots. The fact that someone's been hired as a developer reduces the odds of idiocy w.r.t. software, but it's neither necessary nor sufficient, and a certain degree of optimism is required to assert even the correlation. Likewise, it's plausible that lusers are more likely than developers to be idiots about software, but exceptions exist.

    The real, general solution to this problem is, of course, to get rid of the idiots on both sides. The solution to this problem is left as an exercise for the reader.

  21. Have a template for them to fill out by mattack2 · · Score: 4, Informative

    I admittedly didn't read the full thread so far, and I know at least some of this was covered.

    But have either a web site or a bug reporting facility in your app filled with a template that the user can fill out. Something like:

    Brief description of problem:

    Steps to reproduce the problem:

    What you saw:
    include crash logs, snapshots, etc

    What you expected to see:

    Severity: Crash/UI/Performance/etc..

    Version of app/configuration info (filled in AUTOMATICALLY if possible).

    and of course do NOT make them fill in every single field (if it's not reproducible, they won't have exact steps.. but you might be able to narrow down on the problem with multiple different bug reports).

    Personally, I hate these templates in our bug system, and cmd-A, and type over them, since I already know what kind of info to put in.. but it is useful for regular users (or even developers, if there are special steps, like special debugging tools for your specific app/tools).

    1. Re:Have a template for them to fill out by InvisiBill · · Score: 1

      I agree with this. I created a template for our Helpdesk to use in gathering information for tickets that get escalated. I used https://developer.mozilla.org/en/Bug_writing_guidelines as a base, and customized it into a template that matched our ticketing system's fields and the apps we use. If you want them to give you information, you need to let them know what information you need, preferably with examples of good and bad submissions.

    2. Re:Have a template for them to fill out by Anonymous Coward · · Score: 0

      You got it: "What you saw" coupled with "What did you expect" -- without that, you have no idea if you really have a bug, or there is some miscommunication in expectations...

  22. KISS by Anonymous Coward · · Score: 0

    Well i can tell you one thing, don't put all the crap that Apple does on the screen. 5 seconds of trying to read that garbage pisses me off so bad there's no way I want to try to describe what was happening at the time.

  23. mark the bug "[closed] can not reproduce" by godrik · · Score: 0

    marking the bug closed because it can not be reproduced is a good way of carrying the right message. You can also attach reasons why you can not reproduce it by listing missing details. With time the users might learn to make a bug report. Of course there should be an option to allow the user to reopen the bug.

    1. Re:mark the bug "[closed] can not reproduce" by gtbritishskull · · Score: 3, Insightful

      Or they will just stop sending bug reports. If you are an ass to your users then they will weigh how much they care about the app working vs how much of a pain it is to deal with you. If the app is relatively unimportant to them or you are a very big ass then they will stop sending bug reports (and possibly stop using your app). In which case the dev loses.

    2. Re:mark the bug "[closed] can not reproduce" by spongman · · Score: 1

      that's the best way to communicate to the user, that took time out of their non-programming day in order to do you the favor of telling you how your application doesn't work, that you don't really care about them, the problem they were having, or if they are able to use your program.

      you don't work on the TortoiseSVN project, do you?

    3. Re:mark the bug "[closed] can not reproduce" by spongman · · Score: 1

      it's amazing how often i see this happen with open-source software: some guy releases his pet project that he's been working on in his mom's basement for 2 years, he thinks it's the greatest thing on earth and as soon as someone comes along and leaves some comment that isn't just gushing praise they start behaving like a defensive six-year-old.

    4. Re:mark the bug "[closed] can not reproduce" by Anonymous Coward · · Score: 0

      (GP here. Why does not slashdot allow me to login when posting messages anymore?)

      Sometimes you have to make a clear case of why a bug report is not helpful. I don't say you have to close it and be a jerk. But stating clearly that you can not work with a given bug report because it is incomplete is a simple way not to waste your time and the time of the user on company time. Maybe tagging 'closed' is too strong. Maybe "'can not fix' more information is needed" is a better tag.

      It also give you the opportunity of generating statistics on processing time of ticket based on their original tag. During a subsequent user meeting you can then state "improperly reported bugs cost XXX times more time to process than properly reported bugs"

    5. Re:mark the bug "[closed] can not reproduce" by Anonymous Coward · · Score: 0

      I am not say you should not be polite or anything. But clueless bug reports are useless. They waste your time and they waste user timen you want to get them out of your way as soon as possible. Unless you really have nothing else to do than take hours exchanging emails to end up guessing what the user has tried to do.

      Some bug report system do not let you fill a bug report until you specify how to reproduce, what you expect and what you obtain. If you don't have that you can not fix it. When your kid do something useless, you smile, thank him for his help, pretend to care for a minute and do something else. (You can not explain him right away, he is too excited he just helped you.)

      I am just suggesting you close the bug properly "thank you, but. I do not have enough information to do anything about it"

    6. Re:mark the bug "[closed] can not reproduce" by petermgreen · · Score: 1

      Of course the worst type of bugs are those that turn up frequently enough to be a massive PITA but which there is no known way to reproduce. Such bugs tend to leave both users and developers MASSIVELY frustrated.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  24. Not gonna happen by Anonymous Coward · · Score: 0

    If you didn't get commitment from your beta testers to do that early on and also give them a format to give you feedback I gotta be honest...you wouldn't be doing a "major rollout" at my company again. Gotta be honest, it sounds like you didn't really think things through. Bug tracking system is just a tool...doesn't really help your problem.

  25. Exactly. by Anonymous Coward · · Score: 1

    Look at Firefox. Not only have they ignored the memory leak problem since inception, they not only dismiss it as fiction, but actively brand the users as liars. Is your company like that? If so, don't bother.

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

      Actually they've actively been tackling the issues and it's even in their road map. What they need to deal with are fucking idiots like you who don't actually send bug reports and are actually anti-fanboys trying to get people away from Firefox by spreading their bullshit all over discussion threads everywhere, whining about bugs that no longer exist or have been fixed in their current form. If you knew anything about the product you're probably not even using, you would've cancelled your post due to how completely stupid it is. They've even talked about this recently about how they are making more progress with Firefox 9 and 10.

    2. Re:Exactly. by hedwards · · Score: 1

      What memory leak? I remember a while back hearing about one that affected pages with a huge number of images, and they were going to fix that one. But most of the memory leak reports aren't Firefox and for most people Firefox uses less memory that the competition does.

      I've used Fx since it was an alpha release and apart from the horrendous memory leaks of the 2.x days, there really haven't been too many problems caused by memory leaks.

      If you've found a memory leak, then perhaps you ought to provide them with the appropriate documentation rather than complaining about how there's a memory leak that nobody cares about. They can't fix it if they can't reproduce it, and given the small number of affected installs, I have to wonder about it.

    3. Re:Exactly. by Anonymous Coward · · Score: 0

      The one that makes my Firefox rapidly spiral up to eating 1-2GB of RAM and choking my computer after an hour or two of use. Most of the people I know that have switched to Chrome switched for that reason.

  26. YSOD? by Anonymous Coward · · Score: 1

    Maybe if you didn't use obscure acronyms then your users would be less intimidated to write up a meaningful report without their situation being discussed on /.

  27. increasing signal to noise with business triage by Anonymous Coward · · Score: 4, Insightful

    I've had success by educating a small group of business users to serve as triagers of bug reports - it's a lot easier to have them enforce your rules about what a validated bug looks like, particularly when you've armed them with a template to check against (example - without a screenshot including a URL, time of incident, browers/OS, the report gets sent right back at them) or have them validate the issue on their own before an engineer even looks at it. Eventually the business users get good enough to aggregate incidents together to locate true bugs and also can shoulder some of the prioritization burden. Remember that its in their rational best interest to care about software quality even if they can't speak about it in a sophisticated way.

    We have also posted examples of good bug reports and a wall of shame for bad ones - if you can get incentives together (or punish those that resist reeducation) that helps too.

    1. Re:increasing signal to noise with business triage by caitriona81 · · Score: 2

      This is great, and exactly what one organization I once worked for did. We had "business liaison" positions within every department, and "application owners", which were dual roles - these people were generally business users, with extra training so that they could work effectively to bridge between IT and the userbase. As part of these dual roles, they were included in the IT decisionmaking and change control process, so that they knew what was up before it happened, rather than finding out afterwards, and so that they could advocate for their department's needs ("You can't change payroll the day before we run it!" "Tuesday doesn't work because that's year end closing!")

      We also filtered everything IT through the helpdesk, from change controls, to access requests, to outage notification & paging, to trouble tickets and support requests. Problems which weren't reproducible were stopped there. Things that seemed to be user education would either be handled by the helpdesk, or assigned to the appropriate business liaison to see if there really was a problem and gather more details. Remote control sessions were utilized by the helpdesk to gather screenshots. Intermittent problems were weeded out unless they recurred, in which case the previous calls were referenced to verify that this really was recurring. We leveraged our engineering and operations teams for troubleshooting when appropriate to gather logs. Only after we had concrete, conclusive details of a problem did something get passed to developers - and when we did, it was handled quickly, because we'd gathered all the information efficiently and correctly.

      As a result, the developer teams were able to focus on fixing bugs, not triaging problems. The helpdesk always had ready access to all the relevant teams via phone, email, and instant messaging, and was well respected within them, because we were their filter, firewall, and front line, as well as their secretaries. (And we had the decisionmaking power as far as who got paged at 3am and who didn't!)

    2. Re:increasing signal to noise with business triage by Charliemopps · · Score: 1

      OMG that sounds like a nightmare. You put so much red-tape in between your developers and the actual users you were more likely obscuring problems from them that triaging them. Problems that weren't reproducible were stopped? Your software randomly bluescreens my PC... that would never get through? Intermittent problems were weeded out? This is the type of system that makes end-users hate IS departments. Treating the helpdesk like a firewall between you and the real problems... and thinking of them as secretaries... I doubt that made you many friends either.

      The first thing I did when I became the lead in my department was drop the helpdesks involvement in our systems immediately. They still setup users, reset passwords, etc... but all bug reports come strait to us. If it isn't our problem, we help the user find out whos problem it is. They are our customer, without them we have no purpose. Make them happy, and they will keep you employed.

    3. Re:increasing signal to noise with business triage by zyzko · · Score: 1

      Did you miss the part where he mentioned the business liaisons? Dropping out helpdesk and directly involving developers goes against all that ITIL and other best practices suggest - sure, direct access to developers may work on on a very small to modest size setups but once you get users counted in hudreds and not tens your model very easily becomes expensive and inflexible. And heldesk should not be just help desk (reset passwords, install software) but a service desk - *they* are the ones doing the service to the user and handle communication so that developers can do their work effectively - and that is precisely what previous poster described. Sure - sometimes you need to connect developer directly to the user, and that that should be defined too (when, how problem is handled so that other developers can pick up if needed and how to keep service desk in the loop) - sometimes you really need that, but in environment which is bigger than 3 developers and 50 users always connecting users to developers is asking for trouble and inefficient.

      This of course requires that service desk knows their job and is competent to actually service the users and not just be replacement to sticky notes app. But that is not what the poster described - from what I'm seeing doing service desk how he described makes very happy users (in my workplace we continuously monitor end-user satisfaction about service desk and issue-solving times and user satisfaction about the whole process and we have quite happy users, scoring over industry averages every time).

  28. flip the question around by Anonymous Coward · · Score: 0

    how do you get developers to write meaningful warning and errors messages and with the additional info they'll need to efficiently address the problem

  29. Simple solution. by khasim · · Score: 4, Insightful

    From the question:

    I'm in the midst of a major rollout of one of our primary internal applications at work and we have a beta version available for all the staff to use.

    It's an internal app so just have the app log everything that the user does in that app.

    Then, when the user calls to say there is a problem, the dev team can pull the logs from that machine and recreate the exact sequence of events.

    And don't worry about the logs becoming too large. If the dev cannot figure that out then there are larger problems there.

    Also, have the app check the versions of the libraries and such in the OS.

    1. Re:Simple solution. by Anonymous Coward · · Score: 0

      Better still, rebuild your app to be completely Event Sourced. Then every single interaction can be replayed at will for debugging.

    2. Re:Simple solution. by Anonymous Coward · · Score: 0

      even if it is an internal app (perhaps especially so), that's just plain creepy.

    3. Re:Simple solution. by Anonymous Coward · · Score: 1

      just have the app log everything that the user does in that app.

      Yeah that works great for small applications, but in the real world, programs have dynamic behavior. Servers are handling processes from multiple users and data sources simultaneously.

      Even if you ignore the performance effects of logging all that data, the logging process itself changes the dynamic behavior of the system and can change the outcomes of race conditions.

      Oh and guess what? These are the kinds of bugs that happen out there in reality. The static bugs you are attacking with your efforts should be found by unit tests.

    4. Re:Simple solution. by aix+tom · · Score: 1

      even if it is an internal app (perhaps especially so), that's just plain creepy.

      It's not creepy, I have learned in the last decade that it is absolutely necessary. If you can't point to the log that user X at that specific date on that specific second on that specific machine did that specific action in your app, a lot of users will try to blame their mistakes on your app.

    5. Re:Simple solution. by StormReaver · · Score: 1

      It's an internal app so just have the app log everything that the user does in that app.

      This has been the single most effective thing I've done to make it possible to reproduce bugs within my apps.

      Then...the dev team can pull the logs from that machine....

      I log everything to a PostgreSQL database, but the idea is the same.

  30. Hell, you'll be lucky if QA can do that by NotSoHeavyD3 · · Score: 1

    Since I've seen QA people do stuff like that. (And not put down the steps they did to produce the bug in the first place. Hell, I've seen QA not get the difference between a bug and a feature request.)

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
    1. Re:Hell, you'll be lucky if QA can do that by gratuitous_arp · · Score: 2

      Sometimes that's because the difference between a defect and a feature request is only identified by the requirements document that was never given to QA in the first place. But yeah, it happens sometimes.

    2. Re:Hell, you'll be lucky if QA can do that by NotSoHeavyD3 · · Score: 1

      Well to make things worse we give them the document on what it's supposed to support. (And then they ignore that and ask for features.)

      --
      Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  31. Give up by lightknight · · Score: 1

    Give up while you're ahead. Getting useful diagnostic information from someone trained in the art of programming can be a trial in of itself; from someone not trained in the art, it's all but impossible.

    If anything, make your software grab all relevant information.

    --
    I am John Hurt.
  32. Just Me? by Anonymous Coward · · Score: 0

    Maybe you could ask them better questions?

  33. One question... by Anonymous Coward · · Score: 0

    "Steps to reproduce the problem?"

    I know it's pretty-much standard when going through testing, but when this was added to our issue tracking it helped the devs a lot (gives you a test case as well).

    You can (and probably should) ask other things as well.

  34. Prefill the form by Anonymous Coward · · Score: 1

    The best thing you can do is prefill a form with something like:

    1. What are the steps to reproduce the problem?
        a.
        b.
        c.
    2. What happened?
    3. What did you expect to happen?
    4. Are there any workarounds to the problem?

    1. Re:Prefill the form by Reasonable+Facsimile · · Score: 0

      The best thing you can do is prefill a form with something like:

      1. What are the steps to reproduce the problem? a. b. c. 2. What happened? 3. What did you expect to happen? 4. Are there any workarounds to the problem?

      This is definitely a good start. Simple templates are easy for non-developers to understand, and will help capture the users' impressions of what happened (which may differ radically compared to a developer). There are bug tracking tools available that will capture the users' actions minutes/seconds before the error occurred, but that's probably overkill for use outside of a/the development group/environment.

    2. Re:Prefill the form by websitebroke · · Score: 1
      Not a bad idea, but be prepared for:
      1. What are the steps to reproduce the problem?
        a. "I clicked on the Internet"
        b. "The thingy didn't work"
  35. Get them to create meaningful IT tickets too. by Culture20 · · Score: 1

    "The computer is acting funny."
    Which computer? Do you think it's a comedian? Is it here to amuse you?

    1. Re:Get them to create meaningful IT tickets too. by Anonymous Coward · · Score: 0

      One I got a couple of months ago. "Is it possible to write Perl scripts"?

      My response: the guys at http://www.perl.org seem to think so.

      Fuck's sakes.

      [Since this is a bit flamebait-y: we're predominately a windows shop, although I deal with a few nix boxes. We don't use perl to any great extent. We'd certainly be unable to support some perl script developed by one of our end-users (if only because the stuff they develop in supported languages, is so devoid of program logic). And the guy hasn't told us what he intends to do - just that he's already decided the language within which he wants to do it. So until he develops a better method of communicating specifically what his requirement is, he is going to be brushed off with a curt reply].

  36. cheapand dirty by Errosion · · Score: 2

    A system that I've used in the past, that sometimes works, would be to have the users fill out a "checklist" of items/questions when submitting the email. Trouble Url? Error recieved? Complaint or problem? Etc etc. If you know the user base and this is provided up front, it may help with some of that. But that assumes the checklist is viable for them to fill out as well as making the questions answerable and usable from both their and the developers perspective.

    --
    -= My spoon is too big =- Errosion
  37. honestly by Anonymous Coward · · Score: 0

    You should not be complaining.

    At my company, as I imagine most, it's insanely hard to get anyone to submit bugs at all unless you happen to be the product manager or developer working on the project.

    I always consider bugs submitted from extra testers as a bonus.

  38. Get Satisfaction by Anonymous Coward · · Score: 0

    I can't get this to sound not like a plug, so deal with it, they're the example I know.

    I recommend something similar to Get Satisfaction. It's not free, but depending on your project you might already have budget for it. It has a bunch of social media things that I don't really care about, but it allows for other users to respond and ask questions. Hell, you can select a little frowny face when writing comments. It does have basic community rating stuff for responses and reports and whathaveyou.

    Also, "bug" isn't going to mean anything to regular users. Users have problems. They want to be able to go to the website, click support, and write a complaint.

    Users aren't going to go search to see if it's already there, so do the search for them after they write their complaint. I think this a key part of it. They don't want to be aloooone.

    Also, if a single user has a bug, you're pretty much screwed anyway unless you have some sort of automated dump, or if they're technically literate. Best thing you can do is try to organize it so all the vague bug reports of the same thing are bunched together. From that you can (maybe) extract some usable information.

    Check out Mojang's Get Satisfaction.

    Look, you can put in 'you suck' and you get a link to someone already saying it

  39. how are you getting info? by Zargg · · Score: 1

    It sounds like you are just depending on people to email their issues straight to a developer. I would put up a web portal for bug reporting that includes pre-defined sections and issue types. For instance: "Main page >> graphical issue >> unreadable graphic" or "Product specific page >> functionality >> button issue". Then have a "what were you trying to do" and a "what did you do" fill in section.

  40. Duh by Anonymous Coward · · Score: 0

    Sit next to them.

  41. Don't even try, it's hopeless. by Anonymous Coward · · Score: 0

    And don't go for back and forth either, just get some software that lets you share their screen, and if there is any question at all about what they meant in their bug report, spend 10 minutes to do an online meeting and watch them recreate it. You'll waste *way* less time this way.

  42. YSOD? by Mattwolf7 · · Score: 3, Insightful

    YSOD? Maybe you need to be more clear to your users. I don't know what YSOD is and I work in the industry... Make sure your users understand what a bug report is, and how it helps to give as much information as possible. Avoid using terms they won't understand, and assume they don't know what you want. Some users will try to help if you tell them what you need, but give up if they feel like they have to figure it out on their own.

  43. Tickets + templates by edcheevy · · Score: 1

    We use JIRA and follow a general template (description of problem, steps to reproduce, users impacted/business impact, severity). Tickets submitted under a few different main project areas go to the respective SME for triage (follow-up, prioritization, reassignment to engineering). Speaking as one of the non-devs but with some prior QA experience, it seems to work just fine.

  44. Re:Step 1: write fewer bugs by Dahamma · · Score: 2

    What a ridiculous comment. You are clearly not a software developer. I guess that's why you posted AC...

    Even the best programmers make mistakes - but they also write unit tests to find them and functional tests to find issues with systems/integration. Even given that, a developer would still need to thorougly test (in various automated or manual ways) their work to make sure there are no bugs in a complex system - and the point of QA is both that they have expertise in that area, and it's not worth higher paid developers' time to go through all of those tests themselves.

  45. If you're a big enough for this to be major... by Anonymous Coward · · Score: 0

    You should really have semi-technical "Business Analysts" that can be the liaison between the users and the developers. User has a problem, user tells the BA, BA come by the desk, assembles enough for a bug report, then sends that to the developers.

  46. Jira by Anonymous Coward · · Score: 0

    I can't recommend Jira enough. Has a rich API, decent customization with screens and schemas, workflow, and it's nearly free ($10/10 users annual license). Lots of plugins as well.

  47. Re:You're assuming developers can send good bug... by Anonymous Coward · · Score: 0

    Your assumption that users more than developers are likely to be "idiots" clearly illustrates that you should never rise above the level of back room code monkey. You should be kept the hell away from users, managers, in fact from anyone but your team lead, who can push red meat (well, okay, Doritos and Code Red) into your cube.
     
    Bonus points for using the non-word "lusers".
     
    And "left as an exercise for the reader"? Arrogant much? Impressed with your studly nerd skills?
     
    Grow up, you pathetic man-child.

  48. Template by SharpFang · · Score: 1

    A thingy that taught me how to send bug reports was the template in Bugzilla. Just a pre-filled piece of text in the submission form:

    Summary:
    Description:

    Steps to reproduce:
    1.
    2.
    3...
    Expected Results:
    Actual Results:
    Additional informations:

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  49. "Report Bug" clicky by John+Hasler · · Score: 4, Insightful

    Give them a "Report bug" clicky that brings up a form for them to fill out and which automatically extracts relevant information.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:"Report Bug" clicky by Grishnakh · · Score: 1

      Yeah, someone else said that farther down, and I think it's a good idea, especially since the asker said they were using a beta version, so a "report bug" button wouldn't be out of place on a testing version like that.

    2. Re:"Report Bug" clicky by Anonymous Coward · · Score: 5, Funny

      Just make sure you ask a zillion questions about what version of video driver they have and if their path info is set correctly. You can never have too much information. Pop up long hexidecimal numbers numbers they have to enter, but can't copy or enter untill they close the popup. Make information that is only available to the developers mandatory.

    3. Re:"Report Bug" clicky by Anonymous Coward · · Score: 0

      You must be in a DoD environment. Don't forget a cumbersome change management process that requires the user that found the bug to initiate.

    4. Re:"Report Bug" clicky by dj245 · · Score: 5, Informative

      I use Problem Steps Recorder on Windows 7 to report problems to my IT department. If you have a problem which occurs when you do a certain thing, it can be a great tool. Especially on web-based software or forms.
      Just type "PSR" into a command prompt or Start->run. It's a great tool.

      --
      Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
    5. Re:"Report Bug" clicky by gl4ss · · Score: 1

      only if it works.

      most frustrating thing ever is filling up such a bug popup. and then get asked for email or some other creds.. and then when you try to press send it fails.

      --
      world was created 5 seconds before this post as it is.
    6. Re:"Report Bug" clicky by delinear · · Score: 2

      Weirdly the dev team never get any bug reports about the bug reporting tool not working.

    7. Re:"Report Bug" clicky by sortius_nod · · Score: 1

      I'm still at a loss as to how this is an "ask slashdot" question. Isn't this why people get paid to develop software? Shouldn't a decent testing system be part of the whole developing an application thing?

      If you're smart enough to know how to develop an app aren't you smart enough to know what data & how to collect it? I really wonder how the questioner earns their wage if they can't manage a simple a task as bug capture.

    8. Re:"Report Bug" clicky by Smallpond · · Score: 1

      If you're smart enough to know how to develop an app aren't you smart enough to know what data & how to collect it? I really wonder how the questioner earns their wage if they can't manage a simple a task as bug capture.

      Easy. Every time you have a problem, just post on /. or StackOverflow and someone fixes it for you.

    9. Re:"Report Bug" clicky by ianare · · Score: 2

      It's always useful to compare notes. Sometimes you get so used to doing things one way that you never stop and think about what it is you're really trying to accomplish.

    10. Re:"Report Bug" clicky by Troke · · Score: 1

      Fantastic Idea, important fields become mandatory , could have an auto full screen snapshot so devs can see error and anything that was running when it happened, and you can combine it with something along the lines of a Spiceworks (or similar) to grab relevent OS and driver information.

    11. Re:"Report Bug" clicky by rjstanford · · Score: 1

      Fantastic Idea, important fields become mandatory ...

      That's a great way of going from somewhat incompete bug reports to no bug reports whatsoever.

      --
      You're special forces then? That's great! I just love your olympics!
    12. Re:"Report Bug" clicky by MrNemesis · · Score: 1

      You forgot the mandatory "After spending literally seconds looking at your responses to my pointless questions about video drivers, I decree that it's almost certainly due to you having a virus rather than being a bug, as such I'm now closing this ticket and ignoring any future bug reports from you".

      Have a nice day!

      --
      Moderation Total: -1 Troll, +3 Goat
    13. Re:"Report Bug" clicky by Grishnakh · · Score: 3, Insightful

      To be fair, software development is still a pretty new field, and is going through rapid changes. While we've been developing software since the 60s, a lot has changed since then; having an automated way of reporting crashes is actually fairly new, as it was impossible not very long ago before computers were networked or had much power. Of course, this isn't entirely true: we've had fairly powerful networked computers for some time, but they were very large and expensive computers that not that many people had access to; it wasn't until the mid 1990s (only 15 years ago) that these became commonplace for most people, with the rise of the PC. And of course, many lessons learned in the mainframe and other large computer space (like with UNIX machines) have either been slow to trickle over, or were outright re-invented with PCs because the two worlds started so differently.

      Also, a lot of people working in software development came from different fields and may not have that much formal education in it (I started in electrical engineering, for instance), and even those who did, may have gotten a rather poor education from what I'm reading about the way some colleges teach CompSci.

    14. Re:"Report Bug" clicky by Anonymous Coward · · Score: 0

      I am working on a product (link) that does exactly this. Bug report tab that lets you submit issues directly from the application itself. The only catch is that it's aimed at web development so it only works for web apps and websites. But it let's people click on DOM elements and place bug pins that let you visually see where an issue occured. It grabs the URL, data about the user, allows comments. Bugs are also managed right from your site as well, so your issue tracking environment is actually overlayed on the site you're working on. I'm matt@bugherd.com if you have any questions.

      TLDR: Working on a bug tracker that works like OP described, old video of it in action - BugHerd intro video

    15. Re:"Report Bug" clicky by BFlatSeven · · Score: 1

      Wow - I had no idea there was such a thing. That's really cool! Thanks for mentioning it - I'm sure it will come in handy (especially when my father-in-law calls me long distance for tech support!).

      --
      If only you could see what I've seen with your eyes ...
    16. Re:"Report Bug" clicky by Shifty0x88 · · Score: 1

      HHHAAAhhahhhaahahahaha

    17. Re:"Report Bug" clicky by Hotawa+Hawk-eye · · Score: 1

      The bug report popup should give the user the option to save the information to a file (plain text, XML, HTML, etc.) in that situation.

  50. Learn to ask better questions by Wonko+the+Sane · · Score: 1
    One of the fundamental techniques of process improvement (regardless of which flavor) is learning to ask the right questions.

    The problem here is most of the staff don't know how to send reports meaningful enough to get us devs started on solving their problems without constant back and forth correspondence that wastes both developer time and theirs.

    It sounds like the actual problem is that the software does not meet the needs of the users (and presumably the organization). This is where you ask "why" recursively at least 5 levels deep to figure out what is actually going on before you assume that the problem is a lack of proper bug reporting. It may turn out that something more fundamental needs to be fixed first which makes the bug reporting issue irrelevant.

  51. Tell them exactly what info you want by bigsexyjoe · · Score: 1

    Give them a checklist of information you want. When they give you a bad bug report tell them exactly information you want. You want them be specific, so be specific about what you want.

  52. coaching by KevMar · · Score: 5, Informative

    You have to coach them. They don't really understand what you need.

    When I get a email from someone about a bug, I go meet with them. I ask them all the questions I think may be relevant. What were they doing, how were they doing it. Were there any extra small steps or actions that jump out. Sometimes I explain why I'm asking certain questions and relate them back to previous bugs or issues.

    I think what you need is someone to be the go between. Get a tester to receive those emails, recreate the issue, then file a bug report. Don't allow the end user to file bug reports directly into your system. It will mess with your tracking data. A high number of worthless bug reports closed quickly may look good in the reports but does not help anyone.

    --
    Im a gamer, not a grammer major. This post is full of spelling and grammer mistakes.
    1. Re:coaching by Anonymous Coward · · Score: 0

      Firstly implement good process: The bug manager is sent an email(me) and I then go and sit or communicate with the user-this helps to reduce bug redundancy when entered and does not skew management reporting as much. The 10% margin of error is reduced by a lot with this practice.
      Another method is to actually implement some proper logging, as well as alerts to the proper individuals when an error is fired. Many organizations do not log the correct errors or do not error trap correctly.
      Thirdly have a strict form that they can use and create a step by step instruction manual for them to follow on how to fill that form out(A wizard is awesome).
      Lastly, make sure to have adequate UAT testing in order to teach a core set of individuals from each division how to log a report so they can do it on behalf of the group they are in. Allow them to create reports during testing and train train train.

  53. Easy... by QuietLagoon · · Score: 1
    If it is a commercial product, present reasons why there is more money to be made by fixing the issue you raise.

    .
    If it is an open source product, it is not so easy....

    - some projects require you to appeal to the egos of the developers. This is a losing proposition, as their egos are far larger than you can imagine.(the Linux kernel comes to mind)

    - some projects require you to navigate a maze of problem reporting pages. These projects have lost their compass.

    - some projects require you to show technical or use case reasons why what you suspect may be a bug is really a bug. There is hope here.

  54. FYI: YSOD = yellow screen of death by tlambert · · Score: 1

    FYI: YSOD = yellow screen of d

    It's a common occurrence when the back end server sends out the YSOD instead of the content you intended for it to send when you are running buggy ASP.NET code (ASP.NET is a Microsoft web application framework based on Active Server Pages. See http://en.wikipedia.org/wiki/ASP.NET ).

    Generally, you would hire someone who understood overriding the application_error, as was previously suggested by an AC poster in this posting: http://ask.slashdot.org/comments.pl?sid=2572922&cid=38365514 . In other words, you'd hire someone who could fix the problem, rather than asking Slashdot.

    They'd probably also be clueful enough to know that the place to ask for help with Microsoft products is Microsoft, and that they are unlikely to get a lot of love from the Slashdot crowd, who typically avoid work-for-hire coding models that make it difficult to reuse their code later on if they go to work for a different employer. Very few clueful people like to have to solve a given problem more than once.

    -- Terry

  55. What have you done so far? by gratuitous_arp · · Score: 2

    You haven't told us anything about what you've done to educate the staff about writing up defects. Have you done anything? Unless they also work as technical QAs, they almost certainly have no idea what is expected in a defect report.

    I'm surprised that the primary problem doesn't have to do with listing ambiguous steps to reproduce a defect. For example, "I went to the page again" vs "I clicked the link again" vs "I closed the browser, reopened it, entered the URL, and then clicked the link on the page again."

    Of the 3 things you mentioned (#1: screenshots of the YSOD that don't include the page URL, #2: scaled screenshots that are unreadable, #3: the complaint that wants to be a bug report but is still just a complaint), the first two sound like *you* are complaining -- if they're not technical people and they don't know how your system works or what you need to see in order to diagnose a problem, then the first two issues should have been expected.

    How do you solve #1 and #2? If you're asking users to perform rudimentary QA, you're going to have to work with them. So, the solution to the first two problems is for you to realize you need to help out in these situations, explain what was wrong and what they can do to fix it next time. They don't know what you need in advance. Progress will be incremental but sure. And if they have to do all this in addition to their other tasks, then be nice while you're doing it.

    How do you solve #3? First, if people are complaining then make sure you're not overreacting to a real usability issue and ignoring it because it's not in the format you wanted. Then mail a template with a description field, a steps to reproduce field, an expected results field, and an actual results field, with a description of what each one is. Have a meeting explaining how to use it. Give examples, especially highlighting the need for detailed and unambiguous steps to reproduce.

    As bad as e-mail is for tracking issues, if this is a short term thing it may be the best approach. If you can see this going on, getting away from e-mail is a very good idea. Having recently been through a issue tracking system transition, getting everyone used to the new systems took some time even though it was handled very well (and not by me).

    1. Re:What have you done so far? by Anonymous Coward · · Score: 0

      Depending on the size of the organization teaching users how to report problem is moot. New users constantly comes in and get trained by people already having bad habits.

      The best approach, imho, is to have a specific group of "power user" to whom you show the ropes of bug reporting. At the beginning you can even restrict bug report to only be filled by this power user group. Once you are satisfied of the level/accuracy of bug reports, then you can think of opening the gates for the rest of the users.

      But yeah, in short(ish) :
        - Good, detailed best practice on "how to report an issue" coming from Dev/QA
                - Format of screen shots (not in word, in jpeg/png)
                - What kind of information (steps to reproduce, URL, application name + version, etc)
        - Prioritize the insightful bugs over the poorly reported ones (depending of priorities of course)
        - Narrow down the user pool you have to teach to.
        - Insightful error messages (they will help users understand what is going on)
        - Talk numbers, if the situation doesn't resolve itself start compiling the amount of time you have to investigate issues for which the users already have the details but doesn't/can't/won't share with you.

      And remember, there will always be users that just won't get it. Have the dev lead talk to their managers.

    2. Re:What have you done so far? by Inda · · Score: 1

      I'm not a programmer like you guys, but I know ASP, JS, VBA, VBS, Python, Java, and maybe more. I don't know about bug reports either, but I try.

      They normally start with: This is repeatable

      Followed by the steps.

      e.g

      1. Open App.
      2. Click this exact button.
      3. App crashes with error message "XYZ".

      I feel, as a user, this is enough.

      When I get the reply "Doesn't happen on my PC" I could cry.

      What else, as a user, can I possibly do?

      --
      This post contains benzene, nitrosamines, formaldehyde and hydrogen cyanide.
    3. Re:What have you done so far? by Andy_R · · Score: 1

      "When I get the reply "Doesn't happen on my PC" I could cry.

      What else, as a user, can I possibly do?"

      Accept their solution, and physically swap machines with the tech support guy when he goes out to lunch.

      --
      A pizza of radius z and thickness a has a volume of pi z z a
    4. Re:What have you done so far? by gratuitous_arp · · Score: 1

      What else, as a user, can I possibly do?

      Part of what I was saying, for the original asker's question anyway, is that the devs should be working with the ad hoc QA team to help them understand when they haven't given enough information. I understand that the list you gave feels like enough, but for almost any application, the devs will also most likely need the software version and the operating system you were using. For different applications, there may be other things, like a copy of the config file or command line arguments. And any other information, like if it ever worked, or if it never works and you can reproduce it every time on a fresh install (and if there are multiple install methods, tell them which one). That's the kind of feedback they should be giving so you know what they need to fix the problem.

      I had an interesting experience in high school when a teacher brought in supplies to make PB&J sandwiches. This seems to be a pretty common lesson: everyone in the class had to write a procedure, and the teacher followed their procedure to try to build the sandwich -- with anything that had to be interpreted being interpreted wrongly. The instruction "open the jar", like "open app", could mean different things to different people. For a dev, opening the app could mean running it from the command line, whereas you might have a desktop link that gets installed by the app's installer (and possibly uses some arguments that the dev won't have put in when running from the command line). Naturally I don't know your software, but the take-away is to be as explicit and unambiguous as possible.

    5. Re:What have you done so far? by Anonymous Coward · · Score: 0

      How about writing code that works? Keeping it 'on-shore' as opposed to 3rd partying it to Bangalore @ $2/hr for which you'll never review the shite they create and stop with the madness? - Just saying.... Oh, and fcuking unit test your crap for security...

  56. Teach me by mrmeval · · Score: 1

    Even better set up something that will automatically configure my system with all the debugging tools. Give me scripts that allow me to easily compile and run older versions to find where a regression occurs.

    Unscrew gdb so I don't have to know arcane crap just to get it to give the backtrace you need.

    Once I have that and some minimal instructions on how to generate the reports I will.

    Don't have a pissy fit when I ask you how to do stuff that you need done.

    --
    I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
  57. Its called "Pushing on a rope" by Anonymous Coward · · Score: 0

    My mother had a plaque on her office wall. It read:

    Never try and teach a pig to sing.

    It wastes your time,

    and annoys the pig.

  58. AskMeBetter.com by Anonymous Coward · · Score: 0

    There's a form at http://askmebetter.com that you could refer them to.

  59. Exact Instructions by epp_b · · Score: 1

    Programming is black magic voodoo to just about anyone who isn't a programmer and they think that we're wizards with keyboards who can solve any bug with the most vague instructions.

    Ask them for precise, numbered, step-by-step instructions on how to get to the point where you will see the exact problem they are seeing (don't bother shortening that phrase to "replicating the problem", they won't know what you're asking). You will likely need to ask them several times. Make sure they know that you need to be able to SEE the problem in order to fix it. Heck, tell them it's otherwise like going to a mechanic and saying, "my car is broken, fix it", if you need to.

    1. Re:Exact Instructions by rubycodez · · Score: 1

      only the dumb-ass users think that. those with a little more brains know we are the cause of the problem. After puking a windows full of cryptic nonsense in their face (Error code upi53up3i4u53UPIU Context asl;fdg qpt4 -q3 tu Stack Trace Follows......), you think they want a long talk with the cylon skin-job who deals with that jibberish. hell no....

    2. Re:Exact Instructions by zippthorne · · Score: 1

      ... it's otherwise like going to a mechanic and saying, "my car is broken, fix it", if you need to.

      I suspect that this analogy will NOT have the effect you're going for...

      --
      Can you be Even More Awesome?!
    3. Re:Exact Instructions by Hognoxious · · Score: 1

      It's like them doing that without taking the car to him. No, it's like doing that, but they take someone else's car - one that works.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  60. Try getting them to use PSR if on windows 7 by maxwells_deamon · · Score: 1

    Yes, you are tilting at windmills to some extent.

    if they are on windows 7 and can reproduce the problem, see if you can get them to use Problem Steps Recorder

    Just have them click on the start button and type PSR. You will get a macro recorder like window up to start recording. it tracks what they do, takes screen shots, lets them add comments, and builds a ziped file for mailing when they are done. Takes some training but can be alot less work for the user and very helpfull for you.

    Good luck

  61. Internal Applications by Anonymous Coward · · Score: 0

    For internal applications, you can take advantage of the organizations structure.

    1. Educate Managers and Supervisors on the required details.
    2. Basic user has an issue and raises a bug without enough details.
    3. Assign the bug to the Supervisor to define and prioritize the issue.
    4. Manager or Supervisor works with User to define the issue.
    5. User learns from Supervisor the details needed.
    6. Next bug reported by that User contains the details you need.

  62. Stack Trace or GTFO by Anonymous Coward · · Score: 0

    Just refuse to fix any bug that doesn't come with a stack trace. Impale anybody who objects.

  63. screenshots, always demand screenshots by zr · · Score: 1

    picture tells a thousand words.

    1. Re:screenshots, always demand screenshots by Hognoxious · · Score: 1

      Bullshit. A screenshot with a value on it that's got a red box round it tells me a lot less than "Invoice N has a total X, it should be Y because discount Z doesn't apply in this case for reason R". And that's nowhere near a thousand words.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  64. Simple by skogula · · Score: 1

    Develop meaningful bugs.

  65. Teach Science in School by steevven1 · · Score: 1

    The subject sounds offtopic, but seriously, a clear, natural, everyday usage of the scientific method to solve problems would make your average user be capable of sending meaningful bug reports,because they would understand how problems are solved in the most general sense. They would realize that in order to diagnose where a problem is coming from, all of the possible sources of that problem must be independently tested in a controlled way. Doing that by nature makes for naturally good bug reports.

  66. Support levels by Anonymous Coward · · Score: 1

    It sounds like you need multiple levels of support so the only ones that enter bug reports into your bug tracker have been trained and you are not talking to users directly. Pretty standard stuff, devs talk to level 3, level 3 to level 2 and level 2 to those that answer the phones, emails, forms etc. all coordinated with trouble ticket systems and support contracts to prevent the silly cup holder calls.

  67. it's not a bug, it's a feature by Anonymous Coward · · Score: 0

    I trust users to break software, not know how it works. They will let me know something is wrong and I've spent years building trust in my users that I will pay attention to them and their issues (some social skills help). I simply watch them break it, and either kindly guide them in a work around or usually I can observe enough to trouble shoot the issue. Obviously this approach is harder with a wider dispersed user base, but the original poster said it was an internal tool... I frequently use a remote desktop type application to reach users remotely.

    I simply have given up in frustration trying to get detailed information from forms and emails. Forms suck, who wants to fill out a form? not even a dev when they could ask a friend for help. An email or chat or call will get me to personally observe their problem, which is often PEBCAK... Try getting a user to fill out a bug report about their inability to use a computer.

    I suggest finding a helpful tech support type person who does know how the software is supposed to work, but can interface directly with the users. For accounting type purposes, have them fill out the bug reports for the end users. You will learn much, much more; and your users will think you're a god that actually answers their prayers, which is better than a god, right?

  68. What memory leak? by Anonymous Coward · · Score: 0

    I'm currently replying to your post with Firefox. As you can see, everything is good. I doubt I'll be running out of memory anytime soo####JUSJDdsja9ZCARRIERLOST#####

  69. Do it like Google by chardson · · Score: 1

    The "Send Feedback" button on plus.google.com (and some of their other sites) is really nice. I'd encourage you to try something like that.

  70. Teach them by arkenian · · Score: 1

    So, really, two things come to mind:
    1.) In whatever bug reporting mechanism you have (which should be easy to access in a 'help' menu or a hyperlink that's easy to reach or whatever, provide directions that give people an idea of what a bug report should contain. How long should it be? What type of information is most relevant? Etc. If this is a company-internal application, generally your users will have more incentive to help you than many other applications you could be using, so they'll maybe even read the instructions.
    2.) Yes, you need a tracking system for every bug report that comes in... but that tracking system probably shouldn't, if you're accepting reports from the "general public", be the same as your resolution system. It seems like half your problem, from your post, is a process issue where "Bad" bug reports are mucking up your bug tracking/resolution system. This should be resolved by having someone vet the bugs, do the followup, de-dupe etc. before it gets into the primary resolution center. Granted somebody has to do this, but it can be a job for a helpdesk guy, a manager, or even as a way to teach a new developer to your team about the system. (yes a manager . . . if the number of reports isn't too high, when I'm leading a software effort that's in deployment, I find reading the raw reports can be valuable to give me an idea both of what's going wrong, and how my system is being used, and if I'm doing that anyhow, I have some time to do the basic deduping)

  71. YSOD by spongman · · Score: 1

    if you're getting YSOD's you should NuGet Elmah

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

      Elmah is awesome, somebody mod this up please.

  72. Simple by Greyfox · · Score: 1

    Only sell your software to developers.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  73. I used and assisted with this software by Anonymous Coward · · Score: 0

    I faced the same kind of problem, and bugs were sent via email with generic descriptions that proved difficult to decipher. Until I found an early copy of this software, which I then modified and sent updates to the developer. It's worked WONDERFULLY for us. It's called Panic Button, and it takes a screen shot and allows for a text description to be entered. http://sourceforge.net/projects/panicbutton/ I hope it works for you.

  74. The same thing doctors do by Tony+Isaac · · Score: 1

    When your body has a bug to report (pain), you call the doctor. What does the doctor do?
    - Ask where it hurts.
    - Ask when the problem started.
    - Ask about other symptoms that might be occurring.
    - Run some diagnostic tests.
    The fact is, you're never going to get meaningful bug reports from non-technical people, any more than patients are going to report detailed symptoms and vital signs, complete with test results, to their doctor. That's the doctor's job, and diagnosing software problems is your job.

    1. Re:The same thing doctors do by FaxeTheCat · · Score: 1

      In our company we would train the helpdesk staff to collect the information. If they are told what information to collect and what screenshots to make, they will do it. It is not even difficult. If the quality of the reports is not good, you have to retrain a handful of people instead of all the users.
      And if course, I fully agree that it does not hurt if the developers pick up the phone and follow up with the user. It is the best way to ensure that the user will continue reporting bugs.

  75. simplified bugs by aaronsb · · Score: 1

    I run bug/task reporting tools at a marginally large company. We use Atlassian Jira for that, and one of the processes that has worked well to capture data from non QA type folks is a bug type called "simplified bug" that simply has space to comment, add screen shots, and feed in minimal data (what release is it, platform, and maybe two others).

    Any bugs filed from simplified that appear coherent enough are modified into a full regular bug, with some followup. It's a bit more labor intensive, but the qa team has a few people watching the simplified bug list, and we get a lot of useful data from it.

  76. Release Fewer Bugs by raftpeople · · Score: 0

    If your internal app has so many bugs that reporting bugs efficiently is a problem, then the problem is yours. Anything we do internally gets rolled out with very few bugs because we dev and test properly. Yes there are still some that get through but the volume is so low that we can personally walk through it with the users and see what is happening.

  77. Re:Step 1: write fewer bugs by QuietLagoon · · Score: 1

    What a ridiculous comment.

    What is ridiculous about it?

    .
    (note - I am not posting AC)

    Why do even the best programmers call their mistakes bugs and not their mistakes? Why are even the best programmers avoiding taking responsibility for their errors

    Why do you try to rationalize programmers' errors as being the result of ~there is too much to test~? Don't you think that programmers who really care about the quality of the code they write might object to your kicking the can down the road and blaming the problem on QA?

    Why are you avoiding the responsibilty for the errors you as a programmer create?

  78. The "DE" stands for... by Anonymous Coward · · Score: 0

    Doesn't Even work

  79. Treat Every User Like An Idiot by musixman · · Score: 1

    Always assume the bug reporter knows NOTHING...reporting everything inside the app you can & reporting the crash back to you directly. If you're excepting anything past "I clicked on this & it said error XYZ" LOL... that doesn't' scale past 10 people.

  80. How to get meaningful bug reports? by Anonymous Coward · · Score: 0

    It's obvious: create meaningful bugs.

  81. Write something by Charliemopps · · Score: 1

    For bug reports, I wrote a tool that takes a screenshot, dumps the contents of every control in every open window as well as a bunch of crap from the registry, packages it all up in an email that it pops open, with all sorts of stuff pre-filled out and the cursor ends up at the end of a line that says "The problem I experienced was: " They type a couple of lines and click send. Done.

    They have complaints that aren't bugs? No they don't. Their complaints ARE bugs... just not software bugs. They are bugs in process, and not your department. Forward them on to whomever designing the process they have to follow, CC the person that sent it to you explaining what you're doing. Or is it that they have a feature request? Tell them so, pass it on to whomever is in charge of such things. If 90% of what you get is not your responsibility, and you just ignore it, you'll be seen as a black hole and your users will not waste the effort to send you anything... as a result you'll lose 100% of the actual data that you need. If you properly handle all of the users requests, and make the process transparent to the user, they will learn... and start sending the appropriate info to the right place the first time.

    The application I maintain interfaces with nearly every software package and department in our rather large company. There are probably thousands of software products it touches. I get this sort of thing all day long. I've had the best success when I've found a "Senior" or other, more technically apt person in each department and designated them as "bug reporter" or some such. Their team takes issues to them, they bring them to me. I train them on what to send to me, and where to send it if it's not me. We learn together. Often I don't even know how they are using the software, so they can help me in return.

    Long story short, you catch more flys with honey.

  82. In Windows 7 - Problem Steps Recorder by tlhIngan · · Score: 1

    In Windows 7, Microsoft created a wonderful tool to help you. It's called Problem Steps Recorder. Basically the user runs it and it snaps screenshots while the user reproduces the problem. There's a comment box allowing the user to type in comments like what they typed, what they expect, etc.

    The best part? It emits output as HTML (!!!). Just send the zip file to the devs (it offers a handy email option), and it gives them repro steps and everything.

    Wonderful utility. Even more wonderful is it can be used as more than just recording problem steps - you can record tutorials in it and post them online and stuff.

  83. Reject meaningless reports as to educate by dacarr · · Score: 1
    Plain and simple.

    Create a page document shows guidelines on how to submit bug reports, and send an email to all users that says that this is where the guidelines for filing bug reports live.

    When you get a report that doesn't help, close the report with a referral to said document. This, of course, presumes that your users get email reports on the status of bug reports. If they complain that nothing is getting done, refer them to the page again, with a statement that you require more information for the bug report to be useful.

    This said, be clear on what, say, YSOD is. TLAs and ETLAs are meaningless outside of context.

    --
    This sig no verb.
    1. Re:Reject meaningless reports as to educate by FaxeTheCat · · Score: 1

      So when the user fails to report a bug in the proper way because YOU failed to write the software in the proper way, it is the user who should take the blame?

      No wonder the user does not care. Because that is what will happen.
      I know from own experience that the user will only try so many times (between 0 and 2) to report a problem. If they do not get a positive response, they just stop caring.

      It is NOT the users responsibility to get the bugs fixed. It is the developers responsibility. So if there is a problem in the communication between the developer and the user, it is the developers problem.

      And how about that friendly call to the user(s)? The users will be ten times more helpful if the developers actually call them and talk to them instead of sending stupid emails all the time about how they should use the bug reporting system properly. May take less time as well.

    2. Re:Reject meaningless reports as to educate by jgrahn · · Score: 1

      Plain and simple.

      Create a page document shows guidelines on how to submit bug reports, and send an email to all users that says that this is where the guidelines for filing bug reports live.

      When you get a report that doesn't help, close the report with a referral to said document.

      Better, have a form letter ready saying:

      "You filed this bug report, but we cannot do anything about it yet because vital information is missing. Specifically:
      [list of common reasons; you place a checkmark at those which apply before mailing the response]
      Please also see $document. Regards, the programmers."

      Useless bug reports are no big problem if you can keep track of them, and is allowed to ignore them until the submitter fills in the missing information.

    3. Re:Reject meaningless reports as to educate by dacarr · · Score: 1
      Bear in mind my solution comes from experience. To answer the question, after (as I explained) the user is told multiple times on how to file a bug, then yes, it is, indeed, the user who is to blame. It's a bit like calling a support desk and telling them nothing more than that your computer doesn't work. (For all the tech knows, the computer is doing nothing more than sitting on the user's couch, watching daytime television, and drinking all of their beer.) Even better, it's like telling your mechanic that your car broke down and it needs to be fixed - but you failed to bring the car to the mechanic, let alone give the symptoms. Ain't nothing the mechanic can do at that point until they can isolate the problem. The user, in these cases, simply has not given the developer the tools needed to locate the bug in an expedient manner so as to get things moving along. Moreover, the blame goes on the person who finds the bug and fails to report in a useful way, not the developer - read on.

      Consider the reality of programming. In coder land, you have people who are tasked with writing software, and if all is well, you have people who are tasked with finding initial major bugs in the form of a quality control department. In user land, you have people who expect that software is written correctly the first time every time. The reality, however, is in that, speaking for myself the only time I have ever successfully written a completely bug-free program is by 1) reading from a text and transcribing perfectly (and even then, there've been typos), or 2) writing an endless loop program in Applesoft BASIC as a child, just for kicks. On the other side of that coin, bugs happen - and software developers can't catch them on the dev side. There are seemingly infinite reasons for this to happen, but it boils down to one thing, I suppose: people just are not perfect. This is what beta testing is for - because when you really think of it, if you never get a program out of the clean room, you can't test it in the real world, and it won't be released for years, if ever, as a result of this, and if a user is beta testing a program, they need to be fully aware that stuff will break.

      It's not to say that the developers need to write correct code, by any stretch - but as I indicate above, well, shite happens. But "it's broken" doesn't help anybody at all!

      All considered, what I suggest here is a quick and dirty solution to an existing problem. It's far from elegant, all considered. But at the end of the day, if I just get user information that tells me something borked, and nothing more, I'm going to need more information. Presumably, what happened, what is supposed t happen, and how to reproduce. When you see plenty of reports that say little more than "that doesn't work", you kind of get to this point, and besides, there is no amount of business savvy, no certifications that can get around the fact that they need this information.

      --
      This sig no verb.
    4. Re:Reject meaningless reports as to educate by dacarr · · Score: 1

      Yours would be the most elegant solution, IMHO, in a perfect world.

      --
      This sig no verb.
  84. you must be trolling? by dutchwhizzman · · Score: 1

    First of all, if it's a plugin that causes it, why has that happened for at least the last 3 years and nobody found the plugin that did it and blacklisted it? Second of all, why should that plugin, or other cause of leak crash all my tabs? Chrome crashes only the tab of the offending page/bug.

    Replication is easy, windows XP or higher, any firefox that is currently actively developed on and a recent flash plugin. Open about 100 tabs of various sites, taking care to make these a representation of the (type of) sites the average user visits and start browsing in them. I can guarantee you that you'll have a bigger than 1.5GB browser that will crash in less than a few hours.

    Sure, you can blame flash like Apple did, but not being able to fix it for 3 consecutive years? There was a period when the development version of FF would simply dump page history once you browsed away from a page. That made it several times better and faster by itself. Unfortunately, they either took that out, or the leaks have gone so bad that even dumping page history from memory doesn't help anymore.

    --
    I was promised a flying car. Where is my flying car?
    1. Re:you must be trolling? by Anonymous Coward · · Score: 0

      1.5G / 100 tabs = 15M / tab
      that's pretty good given web2.0 with its rich media experience. Also 100 tabs will contain hundreds of flash objects and other crap. Do you believe flash is rock solid? I don't think so. Besides, why the fuck would anyone want to open 100 tabs? They don't fit on the screen no matter how you lay things out in ff.

    2. Re:you must be trolling? by Anonymous Coward · · Score: 0

      Open about 100 tabs of various sites, taking care to make these a representation of the (type of) sites the average user visits and start browsing in them.

      The average user isn't a complete moron with over 100 tabs open who then complains about his browser using memory.

    3. Re:you must be trolling? by Kalriath · · Score: 1

      When you close those tabs, Firefox does not necessarily release the memory they were using. That's the problem.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  85. your sanity isnt worth it by caywen · · Score: 1

    The saddest thing is when the staff who fails to produce a decent bug report is QA. I have rarely seen QA actually have the ability to capture data and think critically about how to get to a resolution. Therefore, I have very little expectation that anyone else would, either. Just ignore the reports until another avenue for fixing it reveals itself. Your responsibility to stay sane and respectful overrides the responsibility to improve software quality.

  86. Try Pavlov, Too by Bob9113 · · Score: 2

    I have seen several good ideas in this thread already. Here is another that may be useful.

    Try to find a way to associate the outcome the user is hoping for with the behavior that you are trying to engender. The user is hoping for their problem to be resolved quickly. The behavior you want to engender is a complete, yet concise, description of the problem and the steps to reproduce it. Make the connection between the former and the latter in the user's mind, and you'll have a self-motivated convert.

    When you get a clear and concise report, be sure to thank the submitter and help them realize that the clarity and brevity made it easier to solve the problem. They'll feel good about it, and you might even be one of the few on the tech side to have ever said, "thank you" to that particular end user. (we can be an ornery lot)

    When you get an incomplete or vague report and have to ask the user for more information, be sure to explain that a more clear bug report will make it easier for you to solve their problem quickly in the future. Make sure it comes across as, "I want to solve your problem more quickly in the future", not, "You did it wrong."

    When you get a rambling, nitpicky, or pure-complaint report, you'll have to use a bit more judgment to figure out how to guide the person for future reference, but you can usually find a way if you think about it.

    Really it's just programming -- most end users don't exactly have a complicated UI. Be nice, help them understand how satisfying your needs will benefit them, they'll do it. A nice bonus is that they'll be better end users for every subsequent support person, and they will feel good about doing it.

  87. Lucky you by DisSys · · Score: 1

    You are lucky enough to have users that actually report problems, rather than just complaining that "the new version is crap" at the coffee machine. Setup a bug triage task, assign it to a different developer each day (because it's boring). Precisely mark the bugs that are not submitted with enough information. Every Monday, Identify the top 5 users based on the number of bug reports they send, and the ratio of their bug reports that miss information. Set up a meeting with each one of these users. Sit next to each one of your top 5 users, and write the mails describing the issues with them (mark the previous one as duplicate of the new issue). These users are willing to give you information, educate them on the information you need. Then do it again the following Monday; your previous week's top 5 users shouldn't be in the top 5 again, since you wrote their bug reports with them. Be transparent to your management on this new task you are setting up, and its cost. They may be willing to help you.

  88. Easiest way to do this... by idbeholda · · Score: 1

    Have the user give a step-by-step list of how to achieve the bug in question, along with screenshots, and system information. The problem with bug reports is that if a bug can't be duplicated reliably, then statistically speaking, it's probably not a bug in the software. While it is up to the software developer(s) to make sure that the compiled code executes correctly on a system, it's also up to the user to give a meaningful bug report. If the user is unable, or sometimes unwilling, to work with and/or provide information to the dev(s) to figure out what's causing the error, then there's really nothing that can be done.

    This is why there's alpha releases and beta testing. From personal experience, I try to have testers that at least have some clue of what's going on, and during the alpha phase, provide them with full source code to the product that's going to be released. Once the features have been reworked and simplified to an acceptable level, then the source code is no longer provided, and the user(s) are then required to test the actual program itself. If any flaws crop up at that point, both parties have a general idea of where the problem might be occurring. However, most companies don't really follow this approach as much as they should.

    In summary...
    Users: Try not to act like retard, and make sure the information is clear and concise. Telling devs the equivalent of "ur shit sux lololololol bc teh app crashed" doesn't help at all. In fact, that alone is the biggest reason why most "complaints" go unanswered. You have a brain, so use it.
    Devs: Take the proper route and prevent bugs before they have a chance to crop up. Use less lines of code, stress test constantly, and simplify every aspect of an application as much as possible. It'll save you a lot of headache down the road. Most of you either have degrees or have the equivalent experience thereof, so start acting like it.

  89. Tell us how! by Anonymous Coward · · Score: 0

    Seriously, educate your users a bit. Most of them will still be useless but the smart ones may actually become useful testers. Tell them what information you need, in what form you need it, how they can get it for you.

  90. just accept every report by Anonymous Coward · · Score: 0

    i have been volunteering for many years for a free software application targeting non technical users and, personally, i've learned that the best way is to take seriously every report you get.

    never close a bug too fast. give feedback to the reporter and wait for her answer before closing.

    be friendly. you don't need to be very verbose, but friendly. just compare the two possible answers to a same report:
    - "could you please upload a screenshot showing the issue?" vs.
    - "without a screenshot we can't do anyhting"
    the difference is not huge for you, but it probably matters for the user!
    then mark the issue as "waiting for user feedback" and from time to time go through them and close the old ones (or ask explicitly for feedback if you think that the issue or the user matters)

    if you ask that way, it is very likely that the reporter will be sorry and write to you that he will try not to forget this information the next time (if they can't find it out for this present issue).

    also: try to avoid using templates for your answers. it's better to write a reply that is not complete in every detail, than an overcomplicated -- and too formal one -- which lets the user think that he is not being taken seriously (or that you didn't even read his report).

    you could also write short how-tos and point the users to them, when they have "annoying" habits: "i've noticed that you always send your screenshots in word documents. you can read here [link] about creating screenshots as images. they are easier for us to manage and you will see a preview of it in the t racker!". just avoid doing it too much: people don't like learning new things and changing habits. but, from time to time, they will be happy to accept a hint.

    there are people who never learn, but most people can produce usable reports if you help them to do so! and the world becomes a happier place...
    a.

  91. How about talking to the users? by FaxeTheCat · · Score: 1

    How about talking to the users and actually have them show you what is wrong?

    It does not even have to be the developers. If your company is so big that the users are too many to talk directly to the developers, then surely there is a helpdesk that they can call and who can help them file the bug report. With a little screen sharing whoever the user talks to can do the needed screen dumps.

    It seems that IT nowadays are so afraid of actually talking to a user that is is funny. It is supposed to save money, but taken to the extremes as described here it is just silly.

  92. Re:You're assuming developers can send good bug... by Anonymous Coward · · Score: 0

    Oh, developers can send very meaningful bug reports. For example, you can get a bug saying that "virtual ~Foo()" does not compile in C#. If you don't respond within an hour, you'll get an angry follow-up about how they are 12 hours away from shipping the product, but will slip if this egregious problem is not immediately corrected.

  93. Tealeaf can bridge the gap by Anonymous Coward · · Score: 0

    Passing over sessions that can be replayed with inline comments is a great way to bridge the gap. Many companies use it from both QA and Support to bridge the gap between bug detection and development fixes...

  94. From a HUGE project by LostMyBeaver · · Score: 1

    I have worked on the development team as one of the primary developers of a product which had in a period of 5 years roughly 2.5 million bug reports with approximately 10 million users. In modern times, that's not really that much anymore, hell the guy writing MineCraft would laugh at such small numbers.

    In any case here are some of the things to consider.
    1) The majority of people submitting bugs are thoroughly incapable of writing anything meaningful.
    2) The job of filtering through bugs (even on a small project for a hundred or so users) is a lot of work and you need dedicated staff for this. College students, summer interns, temp workers, anything. You need to have someone actually sitting, reading the bug reports, marking them as duplicates, reproducing them and then documenting them with more meanuing than a user can write. That person/people will be responsible for contacting the users to find out more about the bug if necessary.
    3) An open line of dialog between the developers and the users will NOT be productive. It will make the users feel special, but users have a terrible habit of thinking that they can start coming to the developer all the time with every problem they have.
    4) $10 an hour for a bug hunting monkey will save you hundreds of dollars for that same hour of well paid developer time. In addition, it will help a young computer wanna-be gain meaningful experience to put on their resume/cv.
    5) Bugs need to be prioritized and assigned. You should make sure that things like crashes in the billing system which could cause invoices to get lost are fixed before (and by the right person) bugs in the inventory system database. (For example). While inventory is a critical component of a business, if a bill gets lost, instead of a delay in a shipment, you'll lose the payment altogether.
    6) As others have mentioned... automatic crash reporting is necessary. It's usually not that hard to implement in most languages. I'm sure there's a function for it in .NET so that when a YSOD occurs, you can gather the trace log, maybe take an automatic screen shot, etc... adding a key logger to your app (not a malicious one) so that all events are logged (pretty easy by overloading the application event handler) for the past minute is useful too. This should allow you to know what was clicked and in what order.

    Large scale deployment of applications is utterly unmanageable without a proper support system for the developers. An extra employee is a big expense, but if the management decided to develop the project internally instead of farming it out, they volunteered to take on the additional expenses of development. Get the bug boys/girls in and get them sorting. It's a shitty clerical job, but it will save the company tons of money in the long run.

  95. Get them involved by houghi · · Score: 1

    and we have a beta version available for all the staff to use

    First you seek key users. These will be the people who should be testing your software. See that they are a good mix of people of technical knowledge and level of command, depending on who must work with it.

    That key group must be already availble to you at the beginning, naming demands. This will mean actual meetings. In the beginning you will hear all the complaints about the current sftware, so you have to dilute what all want. Show mockups to them at later meetings. That way they will see that you listen to them.

    Once they notice that AND they are sure it will be an improvement, they will WANT to betatest for you. Not only that, they will be your advocates who will make people also WANT to use it.

    As this is a small group of people it is easy to explain them how to file bug reports. Next you do a tryout on one department where your most energetic test member is located who also. Ask (not tell) them to do the test. Still small enough to do an explanation on how bugreports should be done and what you are looking for.

    Once that is done, and you are ready for the whole rollout, have a webpage set up that is easy to use. SOme simple technical questions and some fields with likes and dislikes.

    Ask the test members to see that as many people have answerd and publish the result and also do something if major issues arise. Especially in the beginning. This will make more people aware that you listen and will be more willing to help with the next project.

    The downside is that suddenly YOU are the one that requests meetings and have social contact.

    --
    Don't fight for your country, if your country does not fight for you.
  96. Three simple questions by Anonymous Coward · · Score: 0

    A bug report should contain answers to the following questions:

      - What do you think is wrong?
      - How can I reproduce the error? (Not mandatory, but very helpful!)
      - What did you expect the application to do?

    In a lot of settings, most users can be trained to answer these questions.

    If the user also provides a screenshot you have probably died and gone to developer heaven. /JMRG

  97. Commercial Software Approaches: no names by eonFoo · · Score: 1

    Hi, you could potentially get corporate to spring for commercial software that can help with alleviating these issues (or build your own)

    One approach could be monitoring approach, where Network Traffic gets analyzed and sessionized and you get alerted on events. Session data should allow the identification of users (that way you should be able to "look up" the user's session). The session page-flow could then give you URLs and POST/GET/Cookie/Header data. In conjunction you could utilize server-based deep dive diagnostics that provide contextual code-level execution for root cause analysis. Actually, this gets you half-way to have decent Application Performance Management (APM). Integrated into Business Service Management (BSM) it's fairly hot.

    Another approach is an agent-based solution that allows the end user to interact with the agent to send you the last n amount of minutes with a high-level description (simultaneously recording the application on the server-tiers so that you later can do root cause analysis). This is an efficient approach, especially for internal users. This approach can also be leveraged during testing cycles by the Quality Assurance team.

    I have some examples of commercial vendors, but am hesitant to post names to avoid being flamed :). Feel free to PM me for some suggestions.

    Good luck.

  98. Re:Step 1: write fewer bugs by Dahamma · · Score: 1

    You missed punctuation at the end of your third sentence. While I understood it, a computer might not. That's a mistake or bug, whatever you want to call it. Some feel secure enough not to care.

    Anyway, I don't think most programmers avoid responsibility, they just have QA report their mistake/bug and then they fix it. Big f-ing deal. It's not "too much to test", it's tested by the testers. It's not "kicking the can", it's letting those who specialize in testing do their job.

    Again, you clearly are not a real developer (or if you are not the OP, you are not a developer *either* :) If you were, you would have gone through at least one marathon bug fixing session before an important release (and of course often the bugs found & fixed weren't even in code you wrote). And even if not, if you are somehow claiming "good" programmers don't make mistakes, there are by your definition no "good" programmers so you should probably stop using your computer right now.

    Programmers who care about the quality of code they write also care about the quality of the QA department who tests it. I have made literally hundreds of mistakes (or more?) in my career resulting in many bug reports that I have fixed. And as a result of that, I have developed software being happily used by millions of people every day. I seriously doubt you can say the same.

  99. Compassionate Software Approach: all names by tobiah · · Score: 1

    What worked best for me was to identify and develop personal relationships with my most insightful users (and just monitor the others for useful comments). That's something all these software gimmicks can't do.

    --
    "The ability to delude yourself may be an important survival tool" - Jane Wagner -
  100. Go talking with the users by pmontra · · Score: 1

    You're lucky because it's an internal application. You should know your users or have easy access to them. Go talking with them when you get bug reports. If they reported a bug they care about it and they'll be pleased that you care about them. They'll show how they got it and you'll teach them how to report it properly when something else happens. Then be sure to fix those bugs or explain them face to face why you're not going to fix them. The keyword is cooperation.

  101. MadExcept! (your app should send bugreports) by Barryke · · Score: 2

    Have your application send bugreports.
    If your application is coded in Delphi there is MadExcept: http://madshi.net/madExceptDescription.htm

    Whenever my apps crash, hang/lockup or throw an exception, MadExcept steps in and the user will simply see:

    "This application had an unexpected error. Do you want to:"
    [SEND BUG REPORT] [CONTINUE] [CLOSE]

    When they chose send bug report, it asks for their name and email adress (minimum user incentive IMHO), asks what they where trying to do, and then asks them if the shown screenshot (of the apps state) may be send along. And i allow the user to edit the screenshot before sending it.

    Its free for non-commercial usage so you can test it yourself: it sells itself.

    But asking the right questions like http://askmebetter.com/ helps too.

    --
    Hivemind harvest in progress..
    1. Re:MadExcept! (your app should send bugreports) by werdnapk · · Score: 1

      And how are you addressing the issues of non-crashing bugs with your reply? You've added nothing here I'm afraid. Crash reports are a fairly simple task to implement.

    2. Re:MadExcept! (your app should send bugreports) by Barryke · · Score: 1

      You can trigger the report dialog in MadExcept, if you want that.
      MadExcept does more than just log the exception message with stack trace to a file.

      If you found it easy to implement, why dont you tell us how your applications do that. :)

      --
      Hivemind harvest in progress..
  102. The same way you write meaningful documentation by Anonymous Coward · · Score: 0

    Ditto

  103. SGT on bug reporting by gringer · · Score: 1

    Simon Tatham has a good writeup about bug reporting. It's a great article, well worth the read.

    http://www.chiark.greenend.org.uk/~sgtatham/bugs.html

    But, if you won't read it, here are some one/two-sentence points from that article:

    • Give the programmer some credit for basic intelligence: if the program really didn't work at all, they would probably have noticed
    • One of the very best ways you can report a bug is by showing it to the programmer.
    • If you have to report a bug to a programmer who can't be present in person, the aim of the exercise is to enable them to reproduce the problem.
    • Describe what happened. Tell them exactly what you saw. Tell them why you think what you saw is wrong; better still, tell them exactly what you expected to see.
    • When something goes wrong, immediately stop doing anything. Don't touch any buttons at all. Look at the screen and notice everything out of the ordinary, and remember it or write it down.
    • Using your intelligence to help the programmer is fine. Even if your deductions are wrong, the programmer should be grateful that you at least tried to make their life easier. But report the symptoms as well, or you may well make their life much more difficult instead.
    • Say "intermittent fault" to any programmer and watch their face fall.
    • Be specific. Be verbose. Be careful of pronouns. Read what you wrote.

    Or Simon's summary:

    • The first aim of a bug report is to let the programmer see the failure with their own eyes. If you can't be with them to make it fail in front of them, give them detailed instructions so that they can make it fail for themselves.
    • In case the first aim doesn't succeed, and the programmer can't see it failing themselves, the second aim of a bug report is to describe what went wrong.
    • Describe everything in detail. State what you saw, and also state what you expected to see. Write down the error messages, especially if they have numbers in.

    • When your computer does something unexpected, freeze. Do nothing until you're calm, and don't do anything that you think might be dangerous.
    • By all means try to diagnose the fault yourself if you think you can, but if you do, you should still report the symptoms as well.
    • Be ready to provide extra information if the programmer needs it. If they didn't need it, they wouldn't be asking for it. They aren't being deliberately awkward. Have version numbers at your fingertips, because they will probably be needed.
    • Write clearly. Say what you mean, and make sure it can't be misinterpreted.
    • Above all, be precise. Programmers like precision.
    --
    Ask me about repetitive DNA
  104. Google+ Feedback Tool by Anonymous Coward · · Score: 0

    The BEST bug reporting tool I've ever seen was the one in the Google+ Beta. Simply drag a rectangle around the problematic area, automatic screenshot... A nice, calming form where you could quickly write what happend AND you could see what information was being sent.

    Easy, intuitive, Informative.

  105. replace users logging by Anonymous Coward · · Score: 0

    replace users with more competent ones...

    no seriously, logging is probably your best option.

  106. Have the developers do it by EdmundSS · · Score: 1

    When I've been working on an in-house application, *the* most effective way of understanding the bug is for the developer (me) to go and sit with the user while they demonstrate the problem. This helps with developer/user education too: "You're doing *what*? I never thought of that! It's much easier if you do this way..." Obviously, this only works if you're in roughly the same place, but spending a couple of minutes to go over there can save many times that in trying to decipher an unclear testcase, or weird enhancement request. Your users will appreciate the attention too...

  107. Try getting them to send you a snapshot by Anonymous Coward · · Score: 0

    What everyone else said stop ignoring your bug reports because you are not satisfied with what's in them.

    If its your own QA department and they are using VM's to test get them to send you a snapshot other than that lump it.

  108. The carrot and the stick by paylett · · Score: 1

    1. Make a simple clear web page that (in not too many words) shows people what is expected.
    2. If they do a good job, reward them by promptly fixing the bug for them.
    3. If they do a bad job, bounce the ticket back to them with a link to the "how to raise a bug" page.

    --

    Believing something doesn't make it true. Not believing something doesn't make it false.

  109. 1 click "report bug" 2 repeat bug steps by Anonymous Coward · · Score: 1

    Make them run some sort of diagnostic utility before they reproduce the bug. It captures all their activity, running environment data, and reports it, giving you perfect diagnostic data.

    Oh wait...

  110. Fix some of them by water-and-sewer · · Score: 1

    Not to be a jerk here, but the best way to get bug reports is to make it clear that you'll respond to them. There is nothing more frustrating to a user than taking the time to file a report of any kind (either by using the software's automated thing - Opera web browser does this) or manually (I've filed several bugs against KDE PIM software) only to find it unaddressed. If on your website you make it obvious that you're receiving and dealing with issues, users will be more tempted to write you, and thus more inclined to do so in a helpful/thoughtful way. I've had great success with softmaker.de - every email I've ever sent with a bug report has been responded to with a solution, usually very quickly.

    --
    If this were Usenet, I'd killfile the lot of you.
  111. Good luck with that by phagstrom · · Score: 1

    You can tell them og write it to them but don't expect it to work.

    Best I can think of is to write a bug report to their bug report. So when your get a useless bug report, write back and explain what is wrong with the report and how it should have looked. Explain to them that your crystal ball is broken, so you don't know what the "it" in "it doesn't work" is. Asked them read the bug report before they send it and then stop and think if it even makes any sense....be nice but firm about what you require to fix the bug and let them know that it will make the process go much faster....but guess what...none of this will work.

    If you want to make it stop - get another job. ;-)

    For the record - no, I am not bitter (yet) but I just sent a new site into test and I am just waiting for the first useless bug report that ignores all the instructions I gave.

  112. This is where support staff earn a living.. by Humafari · · Score: 1

    People seem to forget that extracting meaningfull information from end users is a highly specialist skill. Developers are from my experience clever folks, however frequently they lack the ability to learn the most important language in IT, EUS - End User Speak. To my mind the most undervalued skill in the industry.

    In my last job I was the first ever IT person to be based in the branch office. The users perception of the software and systems was very negative. The main IT function was based 300 miles away and only did a token visit to the site once a month. Being based on site and actually sitting with the users I could see just what impact the systems were having; when you end up staying past midnight, helping a user in tears becuase they could loose their job if the client didn't get the expected reports. You then start to appreciate the issues a hell of a lot more and why they have issues in sending developers good information to work from.

    You have three options:

    1. Go sit with the users or pay somebody else to do it for you and act as an interpreter

    2. Automate error reporting. This should involve no more user intervention than clicking on a confirmation and should send them back a case reference number. This must then feedback to the user to make them feel involved in the process.

    3. Educate some users and appoint bug monkeys on teams having repeated issues. There is usually one person on a team that thinks they know IT and likes to have a badge. Play on it, give them an hour or so of your time and get them to report the bugs for users on the team.

    Support staff don't tend to be that well paid, we don't tend to get much love from users or developers. What you're seing now is what we can do for you and what we protect you from.

    --
    Perfection in a damaged box.
  113. Very simple by Anonymous Coward · · Score: 0

    List the steps you took, one at a time, e.g. Opened this, Clicked that, etc.
    Conclude with "I expected but instead saw "
    Provide an email address through which more detail can be obtained, if needed

  114. To answer the question succinctly ... by remoteshell · · Score: 1

    Any thoughts on how to get the non-devs sending us descriptive and/or meaningful reports? Does anyone here have an efficient and user-friendly bug tracking system/policy/standard at their workplace? No.

    --
    Just the washing instructions on life's rich tapestry
  115. From a QA by Anonymous Coward · · Score: 0

    As a non IT-educated QA I can tell you that the only way to provide users with a way to correctly report an issue is a template:

    Preconditions : your browser, your browser version, Operating system

    Steps: e.g.
    1-Click here
    2-Type your username in the username field

    Actual result: what happens? Please include all of the errors you get and, if possible, a screenshot.

    Expected result: what should happen.

    Make it a DOC and pass it on.

    Hope it helps

  116. Bug reports by Anonymous Coward · · Score: 0

    I was lucky, my users sat in the next aisle or the next room. My bug reports came in the form of a user walking down to my cube and me
    following him or her back and watching what was happening. Quite often it was user error. Management wanted 'idiot proof software' and
    I kept asking if they hired idiots.

  117. sigh by ckaminski · · Score: 1

    lusers do not think like us.

    Don't bother

  118. Doesn't work by cruff · · Score: 1

    I included a short section in the user documentation for some software used to access a data archive with up to seven items of information that would be helpful to quickly pinpoint problems. Over the years this software was in use, I think I only had one user actually send the requested information. Most couldn't be bothered to actually read the documentation, and neither could the help desk personnel, who failed to elicit the information before passing it on to us.

  119. Require the Steps to Reproduce by Anonymous Coward · · Score: 0

    Establish a bug-report form and require the steps to reproduce the issue. Reject any reports which are incomplete. It's really not complicated.

  120. Conclusion: it will never happen by seniorcoder · · Score: 1

    I have been educating users for years on how to submit even vaguely reasonable problem reports. It's an uphill battle.

    Everything in our system has a ticket id.
    More than 90% of all problem reports never mention a ticket id.

    Some of the worst offenders have been other developers!
    If peer developers cannot do it, what makes anyone think that the regular user community will step up?

    Regard it as an exercise in patience and endlessly request the ticket id that was missing from the original problem report.

  121. "All black" by John+Hasler · · Score: 1

    Reminds me of my days in the early seventies fixing tvs. Half the trouble reports would be "All black! It's all black!" even when what was actually wrong was that the sound was out.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  122. Carrot/Stick by fuzzywig · · Score: 1
    Either reward them for doing it well and/or punish them for doing it badly.

    Although the company I work at is small enough that I can just walk over to the user's desk and ask them to walk me through the problem. It helps if as they do this, you point out what information will help you fix the problem, so maybe next time they'll do better.

  123. Easy enough by hesaigo999ca · · Score: 1

    I always asked that any user take screen shots, and remember what they were doing at the time of the bug...what record they were on, what buttons they pressed in sequence, if they can usually you can reproduce it, although including an internal error log with the call stack and all subsequent info is much quicker as well.

  124. it all depends on the questions you ask by Anonymous Coward · · Score: 0

    I've had good luck getting some useful data using 3 questions:
    - what we're you trying to accomplish?
    - what happened?
    - what did you expect to happen?

  125. meaningful bug tools by Murdoch5 · · Score: 1

    We have the same problem where I work. When I use to have to gather logs I had to run 7 tools and enable flags. The development team then went and wrote one application with a start button that gathered everything for us. If you want good bug logs then provide the users with good bug tools. The less they can do to get the log the better the log will be. In our case this tool grabs everything that the device can give you and zip's it in an easy to use file.

  126. There are no bugs, there are no requirements by gr8_phk · · Score: 4, Insightful

    I've had enough of software folks looking for requirements and now good "bug reports". Users/Customers do not have requirements they have PROBLEMS. It is up to the developers to create tools that solve those problems. The user doesn't even know what's possible or easy or hard to implement, so they can't tell you what the requirements are. Same for bugs. The user can't tell you details about which internal parts of your code have a bug, they tell you (at best) what they were doing when something happened. They don't know a crash from accidentally closing a dialog box. The solution - especially for internally developed software - is to go visit the users and have a conversation. Talk to them. Understand how they view your software and you can then understand their explanation of what it did wrong. This will also give you insight into how to make it better. Stop expecting detailed bug reports and start understanding users.

    1. Re:There are no bugs, there are no requirements by nahdude812 · · Score: 2

      At first I thought you were going for funny. But your points seem serious, so I don't think so any longer.

      To a certain extent you have to know your users. Some classes of user are simply not of the mindset to give you requirements or meaningful bug reports. The responsibility to bridge this gap belongs to the project manager or some designee if the project is of sufficient scale. Sometimes for small projects, the developer is the project manager, so that's the developer's responsibility.

      Users/Customers do not have requirements they have PROBLEMS

      Right, and the PM first details those problems, then propose to the users possible solutions for those problems. Depending on what level of knowledge the users have about the type of system you're going to be creating, this is voiced to the users in various levels of technical detail. If the user is your grandmother trying to create an online space for her knitting group, you avoid jargon and talk about things at extremely high levels, "post pictures of their projects," "have a calendar of upcoming get-togethers and whose house it's at," etc. If the user is the CFO of your company, you talk about GL, profitability reports, and so forth. If the user is the head of operations you talk about data centers, topology maps, border routing, and stuff like that.

      This is why there's a difference between user requirements and technical requirements. User requirements are meaningful to the user, and technical requirements are meaningful to the developers. Users inform the user requirements, user requirements inform the technical requirements, and technical requirements inform the developers.

      Of course not every project is of a scope and scale for all of this to be formal. Sometimes it's ok to just sit down with the user, get some thoughts together, bang together a POC, and ask the user for feedback, polish, feedback, repeat. But the different types of requirements still exist, they're just in someone's head instead of on paper, and they may be a continuous work in progress. You can't create something new without knowing what it's supposed to do though.

      Likewise for bug reports. If you have incredibly intechnical users, you're never going to get a meaningful bug report from them. But you can educate them on what things would be useful. However, if they have a hard time with copy & paste, you're not going to get a stack trace or a screenshot from them. You do have to go sit with them to watch repro steps. There are products out there that can help with this though. For example, Atlassian Bonfire is a great way for users to submit bug details without having to be too technical. Or you can use something like Adobe Captivate and they can record a repro session (so you can watch the steps asynchronously).

      Almost all users can be educated in the ways of better bug reporting, however no user will EVER always give you all the details you need. Even developers can't always do that without more often than not providing too much detail. I have found that although bug reports from untechnical users are the least detailed, they're also usually the most flexible with their expectations (not always). You may have to do a lot more user babysitting to extract detail, but you probably will also have fewer feedback cycles on the back end. More technical users have a stronger idea of how things ought to work, and so you'll spend less time up front, but probably more time walking in a specific requirement.

    2. Re:There are no bugs, there are no requirements by Quirkz · · Score: 2
      I don't think you understand the scope of how bad bug reports can get. I've had some that are unintelligible. For instance one (and this was just a copy edit) where the entirety of the message was:

      you've got a place where it should be "an" but it says "the"

      No amount of understanding the user will allow me to figure out what the hell they're talking about, other than their giving me the context in which to find the line of text.

    3. Re:There are no bugs, there are no requirements by mcmonkey · · Score: 1

      No amount of understanding the user will allow me to figure out what the hell they're talking about, other than their giving me the context in which to find the line of text.

      Give us a break. Search the text your app displays for "the". One of those hits, the user thinks should be "an".

      I'm not suggesting you do that, but to say that report is unintelligible or beyond understanding is overly dramatic. Useless yes, but unintelligible no.

    4. Re:There are no bugs, there are no requirements by Quirkz · · Score: 1

      I didn't say *that* one was unintelligible. I said I've had some that are unintelligible, and I truly have. The given example was just useless. I couldn't reproduce one of the unintelligible ones from memory, because it's difficult to remember something unintelligible.

    5. Re:There are no bugs, there are no requirements by chrismcb · · Score: 1

      You are correct, but I think you are missing the point.

      User report problems. I want to fix those problems. But I can't if I don't understand what the user is talking about. Fortunately my personal project is small with only a few thousand users. So it is easy for me to email them back and forth and understand the issue. But that doesn't scale very well.

  127. Make it specific by johny42 · · Score: 1

    As a lot of people already suggested, try to automatically collect as much data as possible. But of course, that is usually not enough. For the data that has to come from the user, just make the form as specific as possible. So, for example, this is useless:

    Please provide a description of the bug: ____________________________

    A user who has never submitted a bug report would have no idea what to enter into a form like that. This is better, but still not nearly good enough:

    Please describe what you were doing when this happened: __________________________________

    You would probably get an answer like "I was trying to create a photo album." instead of step-by-step instructions to reproduce. Try something like this:

    Please describe, step-by-step, what you were doing when this happened:
    1. Start at this URL: ______________________
    2. Click on _________________________
    3. ___________________________
    4. ___________________________
    5. ___________________________

    Describe in a few words what you expected to happen after the last step: ______________________
    Describe in a few words what happened instead of the expected action: _______________________

    Were you logged in at the time the problem occurred? [ ] Yes [ ] No
    If yes, please specify your user name (optional): ________

    ...etc. Try to think of any relevant information that you're not able to collect automatically.

    Your users will probably forgive you even if the form is long, if you don't make them think too much. Depending on how clever your users are, you might want to add some kind of motivational text (e.g. "the more information you provide, the better chance that we will be able to reproduce and fix the bug"), but there's a good chance that a user who submits a bug report already knows why they are doing it, so it would just feel patronizing.

  128. I usually send them this ... by Anonymous Coward · · Score: 0

    How to Report Bugs Effectively

    This is one of the best articles I've read describing how to report a bug. It's written by the developer of Putty. The instructions are clear and get to the essence of what is required to be able to find the bug so it can be fixed.

  129. Task Based UI by Anonymous Coward · · Score: 0

    We solved this issue by creating a command based UI. Every action on the page is translated into a command which can be replayed and saved into a portable format. Each command targets a specific action, such a click or a change to a field. They capture relevent information and goes a long way in maintaining a responsive UI and perfect troubleshooting. It also gives you excellent reports that allows you to track users that may need training cause you can analyze repetitive behavior or actions where users take "the long way" to complete a task.

    Unfortunately, this type of structure needs to be built from the ground up but has a lot of advantages but it changes the way you build an application. It doesn't serve all use cases so research it before you implement it.

  130. Use Panic Button by Anonymous Coward · · Score: 0

    This sits in your system tray, and when a user wants to submit a bug report, they click the icon, it takes a snapshot of the screen, and allows the user to type in a description or steps to reproduce, and then sends it all off via email. We had it integrated into our help desk ticketing system.

    http://sourceforge.net/projects/panicbutton/

    Good luck!

  131. Spolsky method by minstrelmike · · Score: 1

    Use Joel Spolsky's guide to reporting errors:

    1. Where exactly were you in the application (screen shot).
    2. What happened when you pressed the bad button? (screen shot)
    3. (most important) What did you expect to happen when you pressed the button?

    That will generate good bug info. Each report still needs to go thru some sort of approval committee tho before being labeled a bug or not and getting 'fixed.'

  132. How to get developers to send meaningful bug repor by Vlijmen+Fileer · · Score: 1

    After reading only the title, I was too shocked already to read the rest.
    Developers, lowly-intelligent and lowly-educated as almost all of them are, are themselves amongst the people that deliver the worst imaginable bug reports. Give me a normal "user" anyday; their lack of developer arrogance makes them a functional partner in getting the report right. Developers on the other hand tend to mistakenly concentrate on technicalities, their own warped view of "what users want", or even already on what they "know is the solution".
    Have a nice day! :)

  133. You're right by bigtrike · · Score: 2

    We do this and it works great. We additionally send along some system data, such as last 5 actions, a URL (we're web based), and some other debug data.

    It has saved us endless hours in finding the exact conditions needed to replicate a problem so we can fix it.

  134. Trap exceptions by bigtrike · · Score: 1

    Web apps make it easy to trap and log exceptions in your framework, which you can then use to display your error form. Send a URL, browser data, and last 5 pages along with post/get data for them.

  135. Don't substitute user testing for QA by justfred · · Score: 1

    Hire actual QA to report and process bugs. Put at least one of the QA people on the project of processing user emails into bug/enhancement/etc.

    User testing is great - it's a wonderful way to observe how end-users might interact with the product. But it isn't the same as QA - professional, systematic defect testing, reporting, analysis.

    I'm a developer. Most of the time QA annoys me with issues like "if you enter more than 256 characters into the name field, what should happen?" and "If I'm in IE6 and I use the back button then repeatedly click submit, I get an error." These are usually things no user will ever encounter, but they're also things that should be tracked and checked, at least to be sure they don't corrupt the database or hang the system if the one user in 10,000 (usually a hacker "having fun") does try them.

  136. Web form by alieneye · · Score: 1

    Have your application link to a web form with the following fields:
    Summary
    Reproduction Steps
    Result
    Expected Result

    Clearly explain the fields with examples.

  137. Write Good Error Messages by Anonymous Coward · · Score: 0

    Don't hide relevant information from the user. An error message of "Error, Call support" is not very helpful to either the user or the programmer who gets the error report.

  138. Professional testers by Anonymous Coward · · Score: 0

    Use HP Qualtiy Center or ALM, it's used by professional testers to track defects, etc

  139. Re:Step 1: write fewer bugs by Anonymous Coward · · Score: 0

    I'm a professional engineer who manages developers and previously wrote code responsible for human safety in industrial processes, controlling the UK national power grid, railway switching, and billion dollar ecommerce sites. QA = quality assurance, not finding developer's careless mistakes.

  140. What do I need to do to reproduce the bug? by gnasby · · Score: 1

    All I ask is that if someone submits a bug report to tell me exactly what I need to do to reproduce the bug, and what you want changed.

    A good bug report should have enough information in it so a complete stranger can follow a step by step procedure to produce the "bug" and what I need to be looking for. I figure that if I can't reproduce the bug, it doesn't exist (and therefore I don't need to fix it).

  141. Joel on Software by Mendy · · Score: 1

    Joel has a interesting article on this.

  142. Re:Step 1: write fewer bugs by Dahamma · · Score: 1

    Sigh. Bug != careless mistake. Bug = software not working as intended. Sometimes it's a silly mistake, sometimes it's an architectural flaw, and sometimes it's not even your code.

    Even if a developer's code is 100% correct, there can still be bugs in an application due to the libraries used, the operating system, the compiler, even the hardware. I have worked around issues with all of those in application code before - in the end it doesn't matter if it was your fault or not, hopefully you have good QA that finds even the obscure, intermittent problems, and you make sure it doesn't happen any more.

  143. Re:apply pressure by mevets · · Score: 1

    moderated by ms-astroturf. They don't like people making fun of their business models [ now, that is a troll ].