27

I'm still trying to work out the best way to handle questions where a user is requesting an Excel formula, VBA, a batch file etc. It seems the general consensus is to request the user to include what they have tried and what hasn't worked, so we can help them tweak it to do so.

However, this seems like a frustrating situation for the person asking the question. I realise that there are situations where people are clearly just saying 'I want a script to do this, gimme gimme gimme', but for a lot of users it seems they legitimately just don't know where to start.

One example is here, where I started creating an answer, went away, came back to it and noticed the comments stating we aren't a script writing service (which I completely agree with for a lot of cases).

However, at this point, I'd pretty much already finished the answer and so submitted it. I realise this creates a conflict of interests and potentially propagates incorrect behaviour in asking a question, perhaps I shouldn't have started answering it (hence this question).

My assumption is that, if they knew where to start or what to try, they probably wouldn't be asking the question in the first place. Now, knowing what formulas can be used to do this, it is a few minutes work, if that, for me to put them on the right track.

Another one that I've tried to help with is this - which again, they know what they want, they perhaps worded it badly with the statement

Would anyone please rewrite my script with those updates.

But when it's only 4 lines of a batch, plus some explanation which took me barely minutes to adapt for them, they knew what it should do, just not how to do it. How should this be handled?

To summarise my question - How do we decide which questions are legitimately just needing a nudge in the right direction, and how do we handle those cases properly?

Once again, I don't want to cause conflicts of interest here, I understand that we don't want to write entire scripts for people who clearly just don't want to take the time to learn, but some advice on what people think the best course of action is would be appreciated.

  • 2
    If they don't know where to start, that is an indication to me, they have done very little research n the subject. – Ramhound Jan 31 '16 at 14:57
  • 1
    @Ramhound This is true. Should formula questions ever be allowed? Microsoft provide very detailed and comprehensive knowledge bases on them. If not, should there be an option to close a question due to an evident lack of research? This question I answered a couple of days ago is mostly information from Microsoft, with examples and use cases, and I'm sure with enough research they would have found these formulas. I'm not quite sure where to draw the line, I suppose. – Jonno Jan 31 '16 at 15:41
  • Related discussion here: meta.superuser.com/q/10752/76571 – Excellll Feb 1 '16 at 14:44
17

In one of my earliest Meta posts, I said something similar to Ben's opening paragraph. I was reminded that an "enthusiast" can be a beginner, and beginner questions are welcome here.

Yes, the site is more oriented to solving specific problems than providing a general education, and yes, many general education questions are too broad. But there's a gray area between lazy OP and confused newbie where we should act constructively to help the OP refine the question rather than shut them down.

Some users have too fast of a reflex on the "we are not a script writing service" comment. It's appropriate when somebody asks an elementary question that shows no research effort. However, many of these questions involve a problem or twist for which a basic search isn't likely to yield a solution, or a beginner who either legitimately doesn't know where to start or can't understand the research he's found. IMHO, way too many of the "not a script writing" comments are just inappropriate.

They have unintended consequences that are harmful to contributors as well as the questioner. A perfect example: Adding or Replacing text within hyperlinks. The question needed some improvement and there is no indication of what research the OP might have done. However, it wasn't about something super-fundamental, and it's easy to see where the OP's thought process wasn't headed in a direction where their simple Google search would likely yield a solution.

Engineer Toast and I each contributed an answer that would at least get the OP on the right track. However, that was after another user left a "we are not a script writing service" comment that told the OP to go play with it on his own and come back if he got stuck. It was a relatively new user who likely took his cue from the rampant postings of that comment by a few high-rep users.

Guess what? The OP was told he wouldn't get an answer until he jumped a hurdle and he didn't come back. We don't know if he solved his problem, but two contributors wasted their time trying to help.

The contributor side of the issue is Jonno's point:

I realise this creates a conflict of interests and potentially propagates incorrect behaviour in asking a question, perhaps I shouldn't have started answering it.

The only time that premise would apply is if the question is obviously off-topic and someone (usually a newbie), posts a low quality answer before it's closed, which could get upvoted by another newbie, thereby delaying deletion of the question once it's closed.

A poorly written question is hard to answer well, but if it is on-topic and someone can contribute a quality, helpful answer, they should not withhold the answer on the basis that the OP hasn't yet described their research.

  • Thanks for this fixer - This has been my 'moral dilemma' I guess. On the one hand, I may know the answer and I can put them on the right path in a few seconds/minutes and it feels a bit callous to just state I won't help because they haven't passed a somewhat opinion based 'are they even trying?' test, but on the other hand I don't want to turn the site into a place where people no longer try for themselves and consider this a free service to get their work/studies done without any effort. – Jonno Feb 1 '16 at 5:39
  • Your definition of enthusiast sounds very reasonable as well. I consider myself an enthusiast on motorcycles, but I can only go so far as to know how to fix one. I don't know how I'd feel if the advice I received was 'Go try and fix it, and once you've made a complete mess, we'll help'. A little less serious as formulas/code can be backed up and reversed though ;) – Jonno Feb 1 '16 at 5:47
  • Good points. I've added a paragraph to my answer to sound less trigger-happy about closing. (I'm happy to say after reading this post that, if I remember correctly, I've never left a "not a script-writing service" comment!) – Ben N Feb 1 '16 at 14:17
  • You're absolutely right, I have been encouraged by all the "not a code/script writing service" comments I've seen on here. Thank you for this post. – Kyle Feb 2 '16 at 19:10
9

Stack Exchange is not a good format for beginner "help me learn how to do this" questions. I'm sure there's a place for such questions, but Super User isn't it. (Remember, Stack Exchange is about professional or enthusiast questions/problems.)

Questions asking for scripts don't really help anybody but the original poster, and a few years ago would have been closed as Too Localized. Nowadays, the preferred reason is Too Broad, since boatloads of different scripts could accomplish the same thing. Downvoting is appropriate for unresearched/uninteresting questions even if they shouldn't be closed. Again, there's a place for such things, but to keep the quality and usefulness of this place up, we don't accept them.

There's also the issue of troubleshooting which you alluded to. Let's see what Stack Overflow has to say about that:

Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.

If the original poster hasn't tried or done any research ("not working plz fix"), the question is at best worthy of downvotes and probably should be closed as Too Broad, since teaching core concepts is not a task suited to specific Q&A like we do here. Therefore, such questions should include what was tried, what resulted, and what was expected.

If the question is simple and understandable but a little misguided, it'd be great if you could fix it up via editing and then answer it. (We even have a three-tier series of badges for it: Explainer → Refiner → Illuminator.) Demolishing it via close votes is acceptable if it's not OK in the current form, but there's certainly nothing wrong with bringing it back in-scope if possible. Since the point of Q&A is mostly the A, we love useful, canonical, quality answers even when the question was basic or initially dubious.

Thanks for asking how to keep Super User's quality high!

  • 1
    Another great explanation - thank you very much. Will do my best to adhere to these rules going forward. – Jonno Feb 1 '16 at 4:26
  • > Nowadays, the preferred reason is Too Broad, since boatloads of different scripts could accomplish the same thing. -- that argument would equally apply to just about every non-theoretical question here. Of course, there's usually a preferred way of doing something, and that is what we should strive to provide. I'd also recommend not trying to follow Stack Overflow too closely - Super User is purposely different; while SO expects questions to be about specific aspects of code, we accept questions asking how to accomplish a task, which may or may not be answered with a script. – Bob Feb 22 '16 at 5:21
  • @Bob Yes, you're right; there can be many answers to almost any question. The thing about script requests is that they don't really help anybody else. It's like the give-a-man-a-fish thing; we should be explaining the tools rather than building whatever specialized stuff people want. – Ben N Feb 22 '16 at 16:42
  • @BenN Yes, every script answer should be accompanied by an explanation of how the script works, when possible. "Here, run this" is usually not a good script answer. On the other hand, it's also alright to pose the answer as a software recommendation (as per our usual guidelines on software rec answers) if the answerer just happens to find the question interesting enough to write a custom solution - in those cases, the question itself is typically just a general question, not one specifically asking for a script. – Bob Feb 22 '16 at 22:29
  • "If the original poster hasn't tried or done any research ("not working plz fix"), the question is at best worthy of downvotes and probably should be closed as Too Broad... such questions should include what was tried, what resulted, and what was expected." I'm new, and I hang out mostly in Excel QAs. I feel like this is what the policy should be - but in fact lots of high-rep users answer lots of questions like "how do I do [something basic] in Excel" that show zero effort or broad applicability. Other users add the 'not a script writing service comment'. End result is: QAs with both. – Alex M Apr 15 at 15:45
9

I think we need to differentiate between "gimme the codez" type questions, and one where the user has a clear problem definition.

And well, it comes back to an issue I have with canned comments. I personally (non modhattedly) think "This is not a code writing service" seems a bit harsh. (My modhat gives me a +5 closehammer... so modhattedly I'd just close bad questions appropriately.)

If the question is terrible, back it up with a closevote. If the question is borderline, maybe try to fix up the language and prod with some comments.

In short, if a comment isn't going to actually improve the question anyway it's rather pointless. And well, saying this is not a code writing service dosen't help. Simply vote to close appropriately and move on, or try to get more information from the user on what he's tried or what he needs to do.

In fixer's example, it's not a terrible question - there's a pretty clear problem definition and the comment results in no practical improvement of the question. If the OP knew what to do with the macro recorder he would have done it. A better idea would have been to post an answer anyway based on that. Not everyone has the same skills/problem domain.

I've tried to fix up example Jonno's given in the comments - by focusing on what the OP needs "I need to do an if else loop, but I am unsure how to do it" and mercilessly removing whatever's not needed. It still feels like a X Y problem to me, but that's a whole different stinky dog treat.

So, while I do appreciate the risk of the broken window syndrome, maybe we can use our edit/close/comment powers appropriately rather than posting a short, rather harsh comment.

  • 2
    I feel this is the approach that feels most natural to me. Unless there is absolutely zero effort put into the question, if I can work out what they're asking and can rectify it into something that will help people, it feels like the right thing to do. Due to conflicting comments and behaviours I've seen, I've found myself asking people for information on what they've tried, when really it makes no difference to the solution I would suggest, it feels like being purposely unhelpful, which, in a community of helping people, doesn't feel right. – Jonno Feb 2 '16 at 15:34
  • 1
    After all, if someone clearly has a question needing, for example, an index formula, but have never heard of it or aren't sure how to use it, there's no point me asking them to provide an example of their huge =IF(IF(IF(IF(IF(IF(IF(IF(IF(IF(IF... attempts :) – Jonno Feb 2 '16 at 15:36
5

I think beginner’s questions can be very useful though. I am a professional developer but if any potential employer saw my SE search history it would be down-right embarrassing because for trivial tasks which you haven't memorised, it's almost always easier to search for examples of the particular case where to find the correct syntax to use than it is to read a manual page, to try to remember what you did last time, or to keep on trying different things in the hope one will stick.

The number of times I've had to search for the correct syntax to use in a bash for loop for example...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .