My question was closed for being a "shopping list question", even though it was very much related to the topic of the site. Why?
Questions that ask for a list of things, like "is there a tool that does x on platform y?" or "what is the best abc for my problem?" are usually regarded not a good fit on the Stack Exchange network of sites, even if they are perfectly related to the subject of their site.
Site co-founder Jeff Atwood has written a blog post on the topic titled Q&A is Hard, Let’s Go Shopping!, and that is regarded as something of a canonical document on the issue.
The main arguments against "shopping list questions" are:
- They are open-ended; there is never one perfect answer to them.
- They become outdated incredibly quickly. This was what turned me against shopping list questions: if you look around on Stack Overflow for example, you will find plenty of 2010 "what's the best xyz" questions whose answers are hideously outdated now.
- They tend to attract a lot of spam and/or link only answers
Note that there are some exceptions, such as Software and Hardware Recommendations, both of which are dedicated sites for recommendations (provided they fit within their criteria), and on other sites, often you can get around asking for recommendations by instead asking a "how" question, e.g. "how do I do [x]" instead of "what's the best tool to do [x]".
3Outdating quickly may be an issue for choices of hardware purchases, but is it really an issue on anywhere near the same scale for recommendations of either software applications or - to give the case where this issue most commonly appears on SO - programming libraries? Dec 15, 2012 at 12:35
3@Mark it is. Terribly. Look at the state of HTML5 answers, for example. I have to run but I may look up some examples later Dec 15, 2012 at 12:35
3I will await your examples with interest and an open mind. Remember, though, that for this rule to make sense, it doesn't just need to be the case that HTML5 questions asking for library recommendations age quickly - they need to age significantly more quickly than HTML5 questions in general. Dec 15, 2012 at 12:39
4@Pekka Also: Shopping list questions tend to attract a lot of spam and/or link only answers.– yannisDec 15, 2012 at 16:16
16Do the arguments against really outweigh the benefits? One of the main tenants of programming is to "not recreate the wheel". I know I've gotten a good bit of use from these questions. Who cares if a question is open ended? And you can easily date a response. How about this, if you don't like "shopping list questions" don't use them.– JoshNaroMay 13, 2013 at 16:51
2@FacebookAnswers but then you end up with ten different answers, recommending a different such and such, usually with endorsements like "Try this its great" or "it worked for me". There will be at least one spam answer from a company who builds a such and such. Not saying those questions can't be useful occasionally, but the downsides really outweigh the benefits in general. Jun 22, 2013 at 11:00
2@Pekka, well in my case I hadn't received a single answer, just a couple of comments. But lots of questions can have multiple, equally valid answers anyway. Jun 22, 2013 at 11:03
1@Facebook but nowhere is it such an extremely strong (and, to many in the community, problematic) pattern as it is in shopping list questions. I'd really love to see a web site dedicated to shopping lists maintained and evaluated by experienced users (we all need them when we delve into something new and want to know the best tools), but SO isn't the right format for it. Jun 22, 2013 at 11:06
1@Facebook Stack Overflow is aiming to be a repository of questions and answers for future generations, not a support forum for localized issues; waiting until a question has gathered answers and then closing it would send the wrong signal to answerers. Anyway, the question you describe sounds kinda valid. Can you provide a link to it? Jun 22, 2013 at 11:16
Edit: found it. I don't think that question is necessarily going to be closed; it looks specific enough not to be a typical shopping question (which are usually along the lines of "which is the best IDE for xyz?"). Note that it hasn't gathered any actual close votes yet. Jun 22, 2013 at 11:18
2I'm writing a compiler, just reached the machine code generation part, it can do naive suboptimal translation. But I wanted to improve it. So I once asked a question to get a list of techniques/ideas/tricks/pointers existing compilers use to optimize their output. It got closed as not constructive in 10 minutes because I asked for a list... pfff. I hope readers can see the difference between the "What's the best" questions and my example... I'm not asking for the best, I'm just want to learn what can I do. Jul 14, 2013 at 13:34
1Then why don't you have a separate forum for shopping? Mar 8, 2014 at 6:24
Irritatingly, the terms "shopping list question" (or "shopping question") and "recommendation question" are often thrown around without regard to what they originally meant. They're different, but since there is some overlap and very little care paid to how they're used, I'll attempt to define both here:
These are the origin of the name, immortalized in Jeff's famous blog post and long the bane of Super User and similarly hardware-oriented sites. The basic template is this:
What is the best and cheapest Product of Type at this very moment?
Please list a specific make and model along with a link to whatever shop offers the best deals; I know there are 500 questions on this sort of product already, but a new one of these comes out every week so they're mostly out of date and I just plain don't trust the folks who answered the ones from earlier today.
P.S. In addition to its primary function, it also needs to make waffles and comfort me when I'm sad and be available for local pick-up in Ogallala, Nebraska.
The requirements alone make this sort of question extremely unlikely to ever help anyone else (or even be answerable in a useful fashion), but at least in theory they could.
The price requirement combines with the volatility of the marketplace to make them completely worthless though. You might as well set a timer and automatically delete them after a week - indeed, this solution was proposed at one point, because folks really wanted to use Super User for help building their computers.
I hasten to note that these are real problems; everyone has to do some price-shopping now and then, and some of us do so very often - but Stack Exchange is generally ill-equipped to handle these questions. Product review sites, some trade journals, forums and of course dedicated shopping sites like New Egg are generally far better suited for this purpose, tedious though it may be.
As soon as the question no longer asks about pricing, the question is arguably no longer a "shopping" question, though it may still fall into the category of...
Product recommendation questions
These are the first steps of a reformed shopper. They're no longer asking you to do the shopping for them, but they do still want you to tell them what to shop for. The most problematic form looks like this:
What is the best Product of Type?
There are probably 10,000 Products of Type on the market today, with many of them appearing to be of very high quality and sporting raving reviews on every site that sells them.
But which is the single best one, for every conceivable purpose, ever?
This is clearly subjective beyond all reason, so it is quickly replaced with,
What are all the Products of Type?
Just list them, please, and maybe include a short review; I'll choose the one that works for me.
Now we're hitting several different problems: this list is impossible to keep updated, it attracts spam like spilled soda attracts yellowjackets, and, oh yeah, it's an X-Y problem.
See, the asker actually does have specific requirements for that Product, because he does have an actual problem that he's trying to solve. This tends to come out after the question has been closed as a duplicate of a different (usually incomplete) list of Products, none of which work for him. What he wants to ask is this:
What Product of Type can I use to frob my widget?
My widget is a Mark III by Honeywell, manufactured in 1979; I've tried using standard Bosch frobbers, but they always break. Here's a picture of my widget, surrounded by broken Bosch machinery.
When I start frobbing, the temperature quickly rises to 10,000°F and destroys everything in the vicinity. What alternate Product can I use to avoid this outcome?
If he'd actually written that, this would've been an answerable question; indeed, some sites allow these sorts of questions without too many objections. But on larger sites like Stack Overflow or Super User they tend to attract spam:
You can use DaxterCo® Frobberific™ frobbers; they're awesome. Please see [link] for specific instructions on how to contact our sales staff who will proceed to string you along until you give up and buy something from us.
And because spammers are scandalous dastards and don't mind recommending their products in situations where they don't apply, there's absolutely no guarantee the products recommended will do anything to solve the specific problem described... And because strictly-speaking the question is still just asking for a list of Products of Type, getting rid of this spam is more work than it should be.
This brings us at last to,
How to ask for a product recommendation without actually asking for a product recommendation
At this point, we almost have a good question. The asker understands the problem, has described his situation and what he's tried so far to resolve it. We just need to get rid of that pesky technicality that allows for answers which don't actually do anything to provide a solution!
How can I frob my widget without causing it to massively overheat and burninate the villagers?
My widget is a Mark III by Honeywell, manufactured in 1979; I've tried using standard Bosch frobbers, but they always break. Here's a picture of my widget, surrounded by broken Bosch machinery.
When I start frobbing, the temperature quickly rises to 10,000°F and destroys everything in the vicinity. What can I do to successfully frob without these catastrophic results?
In other words,
- State the specific problem you're trying to solve.
- Describe what you've already tried, and why it hasn't worked.
- Ask for help solving the problem by laying out what you need to happen for it to be successful.
That's it. If it turns out there's a Product that can be used to answer this, great! If not, well, maybe there's another option; perhaps someone owns the Bosch frobber manual and can tell you how to solve it without buying anything. Either way, now you're asking for a solution and not a shopping list.
Extreme statements like "The price requirement combines with the volatility of the marketplace to make them completely worthless though." are rarely true. Mar 31, 2021 at 21:00
Might wanna read the context that precedes it. I follow a few hardware forums (traditional-style chronological forums) and such questions are a staple - but no one expects them to remain useful over any stretch of time. The best value one week might be sold out the next and come back at 2x the cost the week after. This isn't true for EVERY type of good or service, but for hardware (especially hardware shipped overseas) if anything that statement has been more true in 2020-2021 than it was when I wrote it 8 years ago.– Shog9Mar 31, 2021 at 23:15
Shopping questions ask
- What X should I use?
- What is the best X?
- What are the possibilities for X, and their advantages?
- Which is better, X or Y?
They do not always literally involve shopping: the comparisons may be between several free things, or between intangible things such as "Which job offer should I take," "what programming language should I learn," or "what religion should I adhere to?"
The key to a shopping question is that it asks others "please make a subjective decision for me and explain it" or "please list all my possibilities with their strengths and weaknesses". This is very different from non shopping questions:
- Can X handle foos of 100 MB or more?
- Do all Montessori schools require children to be toilet trained?
- How long does it take to travel by train from New York to Boston?
- Why do lambdas make the STL algorithms more usable?
Some of these questions might invite opinions, or might attract lists of localized answers, but they are not asking anyone to make a decision for you.
When you plan to ask a shopping question, what you should do instead is:
- Use a search engine to create a list of possible X that you will use, buy, support, or whatever
- Search on the relevant Stack Exchange site (among other places) to learn more about these possibilities. (For example, to find sample code showing how usable a framework is, or to find pictures of a tourist attraction)
- Rule out some possibilities after learning more about them
- Establish a crisp, clear question that will let you decide which is right for you (for example how much does it weigh, how long does it take, is it multithreaded, is there a web API, etc.)
- If there are several facts you need to know, formulate each one as a separate crisp and clear question. (Do not ask two or more questions in a single Stack Exchange question.) They need not be yes or no questions but they must be answerable. Don't ask "is X too heavy? should I really spend the extra money for Y instead?" Ask how much X weighs, or whether a reasonably fit adult could be OK carrying it on a long hike, or whatever it is you need to know.
After gathering the answers to your individual questions, you can make your shopping decision. You will leave behind factual and useful information for other people, who may use it during the second step (as listed above) of their own investigations. This is a feature of the site. Someone with entirely different priorities than you can still benefit from your fact-gathering questions, while they probably could not have benefited from the general "tell me what to choose" kind of question that we prefer not to have in the Stack Exchange network.
Basically, Stack Overflow prefers questions where there are only a handful of answers that "converge" to a single, definitive, and presumably correct answer.
It's like preferring an infinite series that has a single, rather than "divergent" limit points.
Well, similar to what we consider off-topic on Arqade, questions like this tend to be very broad, and as you probably already inferred, Stack Exchange prefers that you ask questions that receive only one answer. On Arqade, mod-recommendation questions, similar to shopping recommendation questions here, are off-topic because you could have a variety of mods, or things to buy.
Basically, shopping list questions are bad because they are subjective, and subjective questions receive lots of answers and those answers can be outdated, leaving future readers with nothing, unless some nice person comes back and changes his answer.
"Stack Exchange prefers that you ask questions that receive only one answer." - No - I, and I think Stack Exchange, prefer about 2-5 answers so that votes can be used to try and assess their relative merits. Many more than five answers and they become more and more rarely read.– PolyGeoNov 15, 2015 at 10:33
I find it somewhat ironic that something that is still so contentious could be described as canonical.
Most of them are not bad questions at the core. But unfortunately Jeff's article from 2010 has been applied incorrectly and way too literally with little thought or discussion when it comes to code.
I believe Jeff had a couple of things in mind:
- Avoid answers largely based on opinion with no support, leaving very little for actual learning.
- Avoid recommendations that would become obsolete in a short period of time.
Both really good ideas.
Unfortunately, I believe this article has been a huge source of misguided closures on stack overflow that could have been simple nudges to rephrase. I really wish Jeff would post a follow-up as there are a number of issues either that weren't covered by his electronics store examples, and there are definitive mechanisms that SO could provide to guide the asker to asking a better follow up question rather than just slamming the door in his face.
Issue #1 – Is the question a really a bad question if it could easily be rephrased into a good question?
From what I’ve seen, most questions closed on SO for shopping reasons, would be perfectly acceptable if they were simply rephrased. When somebody asks "what is the best camera", it's unlikely that person meant to ask “how do you take a picture”. However, that IS very likely the case when it comes to programming. A person asking for a component to create an excel file in c#, IS very likely asking “How do I create an excel file in c#.” He certainly isn’t going to complain if a user posts an answer that doesn’t’ require a component and just uses built in libraries. This is just simple semantics – changing the question from “what” to “how”.
Issue #2 – The answer becomes stale, not the question. Enter the voting mechanism.
I realize that we don’t want a pile of questions where there is a better answer every 6 months. But that is simply unavoidable, shopping or otherwise. The good news is that we already have a way to cover that – the voting mechanism. The voting mechanism along with time components could easily bring an updated answer to the top. Isn't this what we want want we talk about canonical questions/answers? All the right answers with all of the subtle differences covered on one question? The only other messy solution is a pile of questions like “how do I X in version 126.96.36.199”?
Issue #3 – No “Shopping Question” close reason.
“Not constructive” is way too general. If questions were closed with a specific message to the user giving them some tips on avoiding shopping questions specifically, rather than just referring them to the help center.
Issue #4 - Inherent information and the bias to "built in" By the time the question is asked, we typically know the language, it's version, and the tooling associated to it thru tagging and what is generally accepted about the language. This is akin to knowing the make and model of our camera and asking if there is a specific add-on to provide a feature. Asking for an add-on is merely an admission by the asker indicating that he believes the function is not already built in (or wasn't happy with it). Is it really a tragedy if two answers are presented? One with an add-on that requires 3 steps and a built in option that requires 5? Who are we to assume the built in option was what the user was requesting? Do we really need him to say "how do i" but then force him to add that he is NOT looking for the built in option?
I got here from:
Is there a Stack Exchange site for product recommendations?
...which is marked as a duplicate of this question. So according to some mods, this page's question is not merely asking "Why are shopping list questions bad" but also "Is there a Stack Exchange site for product recommendations", which is answered above by saying that such questions are "bad" and therefore a new question site shouldn't exist for it.
I'll add my own answer: It would NOT be bad to have a Stack Exchange site for product recommendations, if such a site was narrowly focused on DIY problem solving and finding solutions you suspect exist, but you don't know what to search for. Such a site could be very useful and also avoid spam as described below.
The only objection above that seems legitimate is that answers will sometimes become dated. This is of course easily recognizable as spurious since the flagship site, StackOverflow, deals with technology, which has a very short shelf life. So is StackOverflow bad because its answers very, very often become out of date? No, of course not, because its incomparable utility outweighs that perennial problem.
It was also claimed that nobody will be interested in helping people find products. Ha ha, that's not true. People would take really interesting questions as a challenge. The entire StackExchange network is full of google-fu-ers who volunteer their time to answer questions they find interesting. That's not only NOT unusual here, it's actually sort of how this whole thing works.
Such a site would be HUGE for DIY-ers. Most legitimate searches for an obscure product really boil down to questions like "I can't find any way to frobnigate a widget. Does a product exist that would solve my problem?" And the answer is "Yes, a foobar is intended for exactly for that purpose. Now you know what to google for." It's actually pretty frustrating not knowing what to google for, and a question/answer site could be a perfect way to correct such ignorance.
Clearly the utility of an obscure/unknown product finding site would outweigh the possibility of some answers becoming dated. Even if an answer became outdated, if it was a good answer, it might clue a product seeker (really, solution seeker) in on a class of products and give them the right terms to search for to find a current/available product. Here would be some sensible rules for such a Stack Overflow site:
Maybe the asker/answerer must indicate the year somehow or maybe it would be scripted in so searchers could find recent products if that was important (and it wouldn't always be).
Questions are best framed at root as: "Here is the tricky thing I want to accomplish, do you know what is out there for this?" A legitimate answer does NOT have to involve a purchase if it solves your problem.
Trivial questions are out of scope ("can you recommend a dish detergent" is a bad question; "can you recommend a dish detergent that is allergenic for goldfish" is at least an interesting question and probably OK).
Arbitrary questions/answers are out of scope. It can't be just fishing for an opinion. So "What's the best movie to show kids this Friday" is way too subjective to be widely useful.
There has to be a legitimate, realistic need, and a product or solution that meets that need. So a question like "How could I buy enough sea salt to fill a sports stadium" needs to be be redirected to plot development assistance in World Building or something.
An answer that's just a link to Amazon is not acceptable. The answer should state the name of a product / class of products, or describe an approach that meets the need. To make the site less of a target for spammish affiliate links, maybe product links should actually be totally disallowed? I'm really not sure on this one - links are useful, but spam is bad. Links to Google searches are great, particularly if they aren't searches for a brand, but rather for a class of product.
The common question "What is the best XYZ" would not be in scope for the site, because it's not about that kind of product recommendation. It's intended more for "Does anything that would accomplish XYZ even exist?" Borderline and maybe allowable subject to mod discretion would be: "I've tried XYZ's and none of them work. Does anyone know of any that do work?"
Asker should not give the impression of being lazy. (A little subjective, but people typically know it when they see it.)
There are probably other guidelines that would make sense, and also help keep solutionsleuth.stackexchange.com high quality. If you read this far, thanks for considering my two cents.
1Regarding the other question being closed as dupe of this one, it's in the "gray zone". The answer to that other question is "There's no such site", and the obvious question that comes next is "Why?" and the discussion here answers exactly this. Jul 21, 2018 at 21:12
Yes, I had read both sets of Q's/A's and was pretty clear on this. Thanks for explaining anyway? Jul 22, 2018 at 3:01
1Nobody is arguing that a well-engineered, well-moderated recommendations site couldn't be cool and very useful. I think the general argument why this network doesn't have one (save for the very eclectic softwarerecs.stackexchange.com) is that it's a very different beast than a Q&A site (hence the talk about "bad" questions; they're not universally bad, just a bad fit for the typical Q&A format) and the company and community don't want to tackle that specific beast. Jul 22, 2018 at 9:52
1No disagreement, @Pekka, as my answer above was suggesting something more narrow than a general product recommendation site. Jul 23, 2018 at 19:30