Preamble: I had to stop listening to last week's podcast. While I'm sure it would be nice for an automated agent to pop up and say "It looks like you're writing a bad question," or to get a higher class of people asking questions, the causes of bad questions pretty much boil down to these:
- There's a "fast draw" answer culture that incents answering questions, no matter how bad. Particularly for new users who want to gain the rep needed for privileges.
- There's a disincentive to downvoting. Although you no longer lose rep as the downvoter, humans do not like to cause harm to another. (side proposal: downvoting of questions or answers doesn't cause rep loss to anyone; pure game theory would say that the world shouldn't change much)
- The barriers to closing questions are extremely high. Either 5 x 3000+ users (top 12% of population) have to see the question before it drops off the front page, or 5 x 10,000+ users (top 3%) have to take the time to go to moderation tools and look at questions with close votes. And clearly, this doesn't happen (or maybe questions drop off the front page too fast for the first close vote to appear).
To paraphrase the podcast, the real problem with bad questions is that they pollute Google's search results, and make SO a less attractive destination.
So, clearly, one goal is to block bad questions from seeing the light of day (or the touch of the Googlebot). But another goal is to raise the quality of people asking questions, so that they can become better members of society (and hey, maybe better programmers as well).
I think the correct solution is to use crowd-sourcing to police the site, but to reduce the barriers to entry (ie, encourage the Guardian Angels). This would take the form of yet another flag button:
- An extremely low rep required to see/use the flag: perhaps 500, or even 250. This will provide a far larger population to police the site, while still keeping a barrier for users that haven't proven themselves.
- A single flag will prevent the question from being seen by users that aren't logged in, or who have low rep. This will prevent the post from making its way to Googlebot.
- This flag can be undone by a single click from another moderate-rep user. To prevent flip-flopping over contentious questions, perhaps you can use the rep of the flagging/unflagging user as a new barrier (ie, 250-rep user flags question, 500-rep user unflags it, now you need at least 501 to flag it again).
- As part of the flag, the user must select a reason for flagging. A standard checklist could include "need to describe expected and actual results," "needs exception stack trace," and so on. There will probably also need to be a free-form field.
- While flagged, the question can't be answered.
- When (if) the asker returns, s/he will see that the question has been flagged, and the things s/he needs to do to turn it into a "good question."
- If the user then edits the question, the flag will be removed. Perhaps the user will try to game this, putting useless text into the question. In which case, it should quickly get flagged again.
TL;DR: SO has bad questions because it's difficult to stop them once asked. Make it easy for the community to improve itself, and help new users to make themselves better citizens.